Compare commits

...
This repository has been archived on 2026-01-16. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.

3 commits

Author SHA1 Message Date
Michael Schwendt
396a818d6e No upstream development or maintenance at all since several years, not
even merging patches.
2011-03-16 10:24:29 +01:00
Dennis Gilmore
00f317e305 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild 2011-02-07 18:08:28 -06:00
Fedora Release Engineering
2a75f2da35 dist-git conversion 2010-07-28 09:32:17 +00:00
11 changed files with 2 additions and 420 deletions

View file

@ -1 +0,0 @@
abicheck-1.2.tar.gz

View file

@ -1,21 +0,0 @@
# Makefile for source rpm: abicheck
# $Id: Makefile,v 1.2 2004/11/24 03:09:37 gafton Exp $
NAME := abicheck
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View file

@ -1,12 +0,0 @@
diff -Nur abicheck-1.2-orig/abicheck.pl abicheck-1.2/abicheck.pl
--- abicheck-1.2-orig/abicheck.pl 2003-08-26 21:57:51.000000000 +0200
+++ abicheck-1.2/abicheck.pl 2005-04-11 12:59:04.000000000 +0200
@@ -1584,7 +1584,7 @@
$ld_debug_match = q/^\s*\d+:/;
$lddstub_match = '';
$binding_match =
- q/binding file (.*) to (.*): .*symbol `(\w+)'(.*)$/;
+ q/binding file (.*) \[.*\] to (.*) \[.*\]: .*symbol `(\w+)'(.*)$/;
$filter_match =
q/file=(.*); filtered by (.*)$/; # XXX not checked
$unbound_match =

View file

@ -1,12 +0,0 @@
diff -Nur abicheck-1.2-orig/abicheck.pl abicheck-1.2/abicheck.pl
--- abicheck-1.2-orig/abicheck.pl 2003-08-26 21:57:51.000000000 +0200
+++ abicheck-1.2/abicheck.pl 2004-12-13 13:00:40.321321296 +0100
@@ -1592,7 +1592,7 @@
$dtneeded_match =
q/^\s*(\S+)\s+=>\s+(not found|\S+)/;
$file_match =
- q/^(\s*\d+:).*needed by (.*)$/;
+ q/^(\s*\d+:).*needed by (.*) (\[\d+\])*$/;
#
# n.b. there is a PID mismatch in the GNU linker output if
# we watch for the more sensible:

View file

@ -1,53 +0,0 @@
diff -Nur abicheck-1.2-orig/abicheck.pl abicheck-1.2/abicheck.pl
--- abicheck-1.2-orig/abicheck.pl 2003-08-26 21:57:51.000000000 +0200
+++ abicheck-1.2/abicheck.pl 2005-08-16 22:49:06.000000000 +0200
@@ -496,7 +496,7 @@
if ( ! $pid ) {
# child here, go run ldd -r with debug env:
- exec_ldd($file);
+ exec_ldd($file,$file0);
exit 1;
}
@@ -1241,7 +1241,7 @@
# will read command output.
#
sub exec_ldd {
- my ($file) = @_;
+ my ($file,$file0) = @_;
open(STDERR, ">&STDOUT");
# need to close stdin on linux for some suid programs e.g. chsh (!)
@@ -1251,10 +1251,27 @@
$ENV{LD_LIBRARY_PATH} = $ld_path;
}
- # currently, no difference between OSs
- $ENV{LD_DEBUG} = "files,bindings";
- exec 'ldd', '-r', $file;
- exit 1; # exec failed
+ my $ldlinux = '';
+ open(DLFIND,"ldd $file0 |") or die "open: ldd: $!";
+ while (<DLFIND>) {
+ /(\/ld(-linux[^.]*|64)*\.so\.\d+)/ and /(\S+)/ and $ldlinux = $1;
+ }
+ close(DLFIND);
+ if ( $ldlinux =~ /^$/ ) {
+ # currently, no difference between OSs
+ $ENV{LD_DEBUG} = "files,bindings";
+ exec 'ldd', '-r', $file;
+ exit 1; # exec failed
+ }
+ else {
+ $ENV{LD_DEBUG} = "files,bindings";
+ $ENV{LD_VERBOSE} = "yes";
+ $ENV{LD_WARN} = "yes";
+ $ENV{LD_BIND_NOW} = "yes";
+ $ENV{LD_TRACE_LOADED_OBJECTS} = "1";
+ exec $ldlinux, $file0;
+ exit 1; # exec failed
+ }
}
#

View file

@ -1,23 +0,0 @@
diff -Nur abicheck-1.2-orig/abicheck.pl abicheck-1.2/abicheck.pl
--- abicheck-1.2-orig/abicheck.pl 2003-08-26 21:57:51.000000000 +0200
+++ abicheck-1.2/abicheck.pl 2005-08-15 21:10:15.000000000 +0200
@@ -3498,6 +3498,19 @@
libc.so.6:__ctype_b_loc
libc.so.6:__ctype_tolower_loc
libc.so.6:__ctype_toupper_loc
+
+ libgcc_s.so.1:__divdi3
+ libgcc_s.so.1:__register_frame
+ libgcc_s.so.1:__frame_state_for
+ libgcc_s.so.1:__umoddi3
+ libgcc_s.so.1:__udivdi3
+ libgcc_s.so.1:__register_frame_table
+ libgcc_s.so.1:__deregister_frame_info
+ libgcc_s.so.1:__deregister_frame
+ libgcc_s.so.1:__cxa_finalize
+ libgcc_s.so.1:__moddi3
+ libgcc_s.so.1:__register_frame_info_table
+ libgcc_s.so.1:__register_frame_info
);
@{$private} = qw(

View file

@ -1,70 +0,0 @@
diff -Nur abicheck-1.2-orig/test/Makefile abicheck-1.2/test/Makefile
--- abicheck-1.2-orig/test/Makefile 2003-08-26 21:57:51.000000000 +0200
+++ abicheck-1.2/test/Makefile 2004-12-13 13:01:19.827315472 +0100
@@ -9,7 +9,7 @@
# /usr/bin/ld: BFD 2.11.93.0.2 20020207 assertion fail elf-strtab.c:262
# but it still creates the binary properly.
libc_a: libc_a.c
- cc -o libc_a libc_a.c -lm /usr/lib/libc.a
+ cc -o libc_a libc_a.c -static -lm /usr/lib/libc.a
private1: private1.c
cc -D`uname` -o private1 private1.c
diff -Nur abicheck-1.2-orig/test/libc_a.c abicheck-1.2/test/libc_a.c
--- abicheck-1.2-orig/test/libc_a.c 2003-08-26 21:57:51.000000000 +0200
+++ abicheck-1.2/test/libc_a.c 2007-05-24 11:11:20.000000000 +0200
@@ -5,6 +5,7 @@
/* This is used to catch libc.a linking. See Makefile & run_tests */
+#include <stdio.h>
#include <stdlib.h>
#include <math.h>
diff -Nur abicheck-1.2-orig/test/private1.c abicheck-1.2/test/private1.c
--- abicheck-1.2-orig/test/private1.c 2002-06-18 20:16:07.000000000 +0200
+++ abicheck-1.2/test/private1.c 2007-05-24 11:40:25.000000000 +0200
@@ -6,6 +6,7 @@
/* This is for simple catching of some private symbol usage. See run_tests */
#include <stdio.h>
+#include <string.h>
#if defined(SunOS)
#define OS "Solaris"
diff -Nur abicheck-1.2-orig/test/run_tests abicheck-1.2/test/run_tests
--- abicheck-1.2-orig/test/run_tests 2002-02-07 15:40:20.000000000 +0100
+++ abicheck-1.2/test/run_tests 2007-05-24 11:40:52.000000000 +0200
@@ -19,7 +19,7 @@
# libc_a:
name="libc.a static link test on libc_a"
-if abicheck ./libc_a 2>/dev/null | grep 'STATIC_LINK:.*libc' > /dev/null; then
+if abicheck ./libc_a 2>/dev/null | grep 'STATIC_LINK:.*\(libc\|completely statically linked\)' > /dev/null; then
pass
else
fail
diff -Nur abicheck-1.2-orig/test/run_tests abicheck-1.2/test/run_tests
--- abicheck-1.2-orig/test/run_tests 2002-02-07 15:40:20.000000000 +0100
+++ abicheck-1.2/test/run_tests 2007-05-24 12:33:02.000000000 +0200
@@ -39,7 +39,7 @@
# private1:
name="private1: calls private sym in libc"
-if abicheck ./private1 2>/dev/null | egrep 'PRIVATE:.*libc.*(__open|__nanosleep)' > /dev/null; then
+if abicheck ./private1 2>/dev/null | grep 'PRIVATE:.*libc.*\(__open\|__nanosleep\)' > /dev/null; then
pass
else
fail
diff -Nur abicheck-1.2-orig/test/run_tests abicheck-1.2/test/run_tests
--- abicheck-1.2-orig/test/run_tests 2002-02-07 15:40:20.000000000 +0100
+++ abicheck-1.2/test/run_tests 2007-05-24 13:00:58.000000000 +0200
@@ -29,7 +29,7 @@
# public1:
name="public1: only calls public syms"
-if [ "`abicheck ./public1 2>/dev/null`" = "./public1: OK" ]; then
+if [ "`abicheck ./public1 2>/dev/null`" == "./public1: OK" ]; then
pass
else
fail

View file

@ -1,70 +0,0 @@
libc.so.6|__chk_fail|public
libc.so.6|__confstr_chk|public
libc.so.6|__fgets_chk|public
libc.so.6|__fgets_unlocked_chk|public
libc.so.6|__fgetws_chk|public
libc.so.6|__fgetws_unlocked_chk|public
libc.so.6|__fprintf_chk|public
libc.so.6|__fread_chk|public
libc.so.6|__fread_unlocked_chk|public
libc.so.6|__fwprintf_chk|public
libc.so.6|__getcwd_chk|public
libc.so.6|__getdomainname_chk|public
libc.so.6|__getgroups_chk|public
libc.so.6|__gethostname_chk|public
libc.so.6|__getlogin_r_chk|public
libc.so.6|__gets_chk|public
libc.so.6|__getwd_chk|public
libc.so.6|__mbsnrtowcs_chk|public
libc.so.6|__mbsrtowcs_chk|public
libc.so.6|__mbstowcs_chk|public
libc.so.6|__memcpy_chk|public
libc.so.6|__memmove_chk|public
libc.so.6|__mempcpy_chk|public
libc.so.6|__memset_chk|public
libc.so.6|__pread64_chk|public
libc.so.6|__pread_chk|public
libc.so.6|__printf_chk|public
libc.so.6|__ptsname_r_chk|public
libc.so.6|__read_chk|public
libc.so.6|__readlinkat_chk|public
libc.so.6|__readlink_chk|public
libc.so.6|__realpath_chk|public
libc.so.6|__recv_chk|public
libc.so.6|__recvfrom_chk|public
libc.so.6|__snprintf_chk|public
libc.so.6|__sprintf_chk|public
libc.so.6|__stack_chk_fail|public
libc.so.6|__stpcpy_chk|public
libc.so.6|__stpncpy_chk|public
libc.so.6|__strcat_chk|public
libc.so.6|__strcpy_chk|public
libc.so.6|__strncat_chk|public
libc.so.6|__strncpy_chk|public
libc.so.6|__swprintf_chk|public
libc.so.6|__syslog_chk|public
libc.so.6|__ttyname_r_chk|public
libc.so.6|__vfprintf_chk|public
libc.so.6|__vfwprintf_chk|public
libc.so.6|__vprintf_chk|public
libc.so.6|__vsnprintf_chk|public
libc.so.6|__vsprintf_chk|public
libc.so.6|__vswprintf_chk|public
libc.so.6|__vsyslog_chk|public
libc.so.6|__vwprintf_chk|public
libc.so.6|__wcpcpy_chk|public
libc.so.6|__wcpncpy_chk|public
libc.so.6|__wcrtomb_chk|public
libc.so.6|__wcscat_chk|public
libc.so.6|__wcscpy_chk|public
libc.so.6|__wcsncat_chk|public
libc.so.6|__wcsncpy_chk|public
libc.so.6|__wcsnrtombs_chk|public
libc.so.6|__wcsrtombs_chk|public
libc.so.6|__wcstombs_chk|public
libc.so.6|__wctomb_chk|public
libc.so.6|__wmemcpy_chk|public
libc.so.6|__wmemmove_chk|public
libc.so.6|__wmempcpy_chk|public
libc.so.6|__wmemset_chk|public
libc.so.6|__wprintf_chk|public

View file

@ -1,157 +0,0 @@
%define debug_package %{nil}
Summary: ABI checking tool
Name: abicheck
Version: 1.2
Release: 23
License: LGPLv2
Group: Applications/File
URL: http://abicheck.sourceforge.net/
Source0: http://dl.sf.net/abicheck/%{name}-%{version}.tar.gz
Source1: abicheck-dbfile-fortify-source
Patch0: abicheck-1.2-fc3.patch
Patch1: abicheck-1.2-tests.patch
Patch2: abicheck-1.2-bindings-fc4.patch
Patch3: abicheck-1.2-libgcc.patch
Patch5: abicheck-1.2-ldlinux.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot-%(%{__id_u} -n)
%if 0%{?fedora} > 10
# as of glibc-2.9.90-7 in Rawhide
BuildRequires: glibc-static
%endif
Requires: binutils perl
%description
abicheck is a tool that checks application binary executables and
shared libraries for conformance to the (or an) ABI (Application
Binary Interface).
%prep
%setup -q
sed -i -e '1d;2i#!/usr/bin/perl' abicheck.pl
%patch0 -p1 -b .fc3
%patch1 -p1 -b .tests
%patch2 -p1 -b .bindings-fc4
%patch3 -p1 -b .libgcc
%patch5 -p1 -b .ldlinux
sed -i -e 's!/usr/lib/!%{_libdir}/!g' test/Makefile
%build
make
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{_mandir}/man1
install -p -m 0755 abicheck $RPM_BUILD_ROOT%{_bindir}
install -p -m 0644 abicheck.1 $RPM_BUILD_ROOT%{_mandir}/man1
install -p -m 0644 %{SOURCE1} dbfile.FORTIFY_SOURCE
%check
make test
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc COPYING ChangeLog INTRO README
%doc dbfile.FORTIFY_SOURCE
%{_bindir}/abicheck
%{_mandir}/man1/abicheck.1*
%changelog
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Tue Feb 24 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-22
- Fedora > 10: conditional BR glibc-static as needed for test-suite
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Fri Aug 29 2008 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-20
- Rename Patch to Patch0 - should fix build in Rawhide.
* Wed Aug 6 2008 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-19
- Fix shebang to make rpmlint happy.
* Fri Feb 08 2008 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-18
- rebuilt for GCC 4.3 as requested by Fedora Release Engineering
* Tue Jan 29 2008 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-17
- Make ldlinux patch look for more linker names.
- Remove unbound_match patch. Not needed in F-9 devel.
- Move fortify-source patch into separate dbfile in docdir.
* Fri Oct 5 2007 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-15
- Patch unbound_match.
- Update fortify-source patch.
* Thu Aug 2 2007 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-14
- Clarify licence (LGPLv2).
* Thu May 24 2007 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-13
- More patches for the tests.
* Thu May 24 2007 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-12
- Patch tests a bit more (also fixes ppc64).
* Mon Aug 28 2006 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-11
- Rebuild and update fortify-source patch.
* Thu Mar 2 2006 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-10
- rebuilt for FC5 only to run the %%check section
* Tue Aug 16 2005 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-9
- Patch abicheck to run dynamic linker directly instead of
using ldd and receiving its intermixed lines.
* Mon Aug 15 2005 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-8
- Add libgcc symbols.
- Add more _FORTIFY_SOURCE symbols.
- Override symbol classification by default.
* Thu Aug 11 2005 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-7
- Add an override file in %%doc which can be specified with
option -O to modify the symbol classification for binaries
built with _FORTIFY_SOURCE.
* Mon May 9 2005 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-6
- Disable debuginfo package.
* Thu Apr 14 2005 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-5
- Replace /usr/lib/ with %%_libdir/ in %%prep.
* Mon Apr 11 2005 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-4
- Add patch to catch up with bindings related changes in ldd output.
* Fri Apr 7 2005 Michael Schwendt <mschwendt@fedoraproject.org>
- rebuilt
* Mon Dec 13 2004 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-3
- Add patch to catch up with changes in ldd output.
- Fix static linking test.
- Drop Epoch 0.
* Wed Aug 27 2003 Dams <anvil[AT]livna.org> 0:1.2-0.fdr.2
- Added missing Requires
* Wed Aug 27 2003 Dams <anvil[AT]livna.org> 0:1.2-0.fdr.1
- Updated to 1.2
- Dropped patch (applied upstream)
* Sat Aug 23 2003 Dams <anvil[AT]livna.org> 0:1.1-0.fdr.2
- Aplied patch from Michael Schwendt (bug #605 comment #1)
* Sat Aug 16 2003 Dams <anvil[AT]livna.org>
- Initial build.

2
dead.package Normal file
View file

@ -0,0 +1,2 @@
No upstream development or maintenance at all since several years, not
even merging patches.

View file

@ -1 +0,0 @@
57097ed1f8c20d974b0b1a9850e61f08 abicheck-1.2.tar.gz