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.

11 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
Bill Nottingham
5e65b45175 Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-25 22:38:07 +00:00
Michael Schwendt
d3884dfbf6 remove obsolete patch 2009-07-24 17:02:51 +00:00
Jesse Keating
fa7259f5c8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild 2009-07-24 16:30:29 +00:00
Michael Schwendt
d2deeff5b1 - Fedora > 10: conditional BR glibc-static as needed for test-suite 2009-02-24 09:03:36 +00:00
Jesse Keating
a0d9ba9a4b - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild 2009-02-23 23:54:43 +00:00
Michael Schwendt
0d8ded960c - Rename Patch to Patch0 - should fix build in Rawhide. 2008-08-29 09:16:36 +00:00
Michael Schwendt
819eb883c9 shebang to perl not sh 2008-08-06 20:45:31 +00:00
Michael Schwendt
755eed8a46 - Fix shebang to make rpmlint happy. 2008-08-06 20:33:26 +00:00
12 changed files with 2 additions and 484 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.1 2004/11/08 04:00:14 cvsextras 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 $$/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,86 +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 2007-10-05 14:03:36.000000000 +0200
@@ -3538,5 +3538,82 @@
libnsl.so.1:readColdStartFile
libnsl.so.1:writeColdStartFile
);
+
+ #
+ # These are _FORTIFY_SOURCE symbols.
+ #
+ push(@{$public}, qw(
+ libc.so.6:__chk_fail
+ libc.so.6:__confstr_chk
+ libc.so.6:__fgets_chk
+ libc.so.6:__fgets_unlocked_chk
+ libc.so.6:__fgetws_chk
+ libc.so.6:__fgetws_unlocked_chk
+ libc.so.6:__fprintf_chk
+ libc.so.6:__fread_chk
+ libc.so.6:__fread_unlocked_chk
+ libc.so.6:__fwprintf_chk
+ libc.so.6:__getcwd_chk
+ libc.so.6:__getdomainname_chk
+ libc.so.6:__getgroups_chk
+ libc.so.6:__gethostname_chk
+ libc.so.6:__getlogin_r_chk
+ libc.so.6:__gets_chk
+ libc.so.6:__getwd_chk
+ libc.so.6:__mbsnrtowcs_chk
+ libc.so.6:__mbsrtowcs_chk
+ libc.so.6:__mbstowcs_chk
+ libc.so.6:__memcpy_chk
+ libc.so.6:__memmove_chk
+ libc.so.6:__mempcpy_chk
+ libc.so.6:__memset_chk
+ libc.so.6:__pread64_chk
+ libc.so.6:__pread_chk
+ libc.so.6:__printf_chk
+ libc.so.6:__ptsname_r_chk
+ libc.so.6:__read_chk
+ libc.so.6:__readlinkat_chk
+ libc.so.6:__readlink_chk
+ libc.so.6:__realpath_chk
+ libc.so.6:__recv_chk
+ libc.so.6:__recvfrom_chk
+ libc.so.6:__snprintf_chk
+ libc.so.6:__sprintf_chk
+ libc.so.6:__stack_chk_fail
+ libc.so.6:__stpcpy_chk
+ libc.so.6:__stpncpy_chk
+ libc.so.6:__strcat_chk
+ libc.so.6:__strcpy_chk
+ libc.so.6:__strncat_chk
+ libc.so.6:__strncpy_chk
+ libc.so.6:__swprintf_chk
+ libc.so.6:__syslog_chk
+ libc.so.6:__ttyname_r_chk
+ libc.so.6:__vfprintf_chk
+ libc.so.6:__vfwprintf_chk
+ libc.so.6:__vprintf_chk
+ libc.so.6:__vsnprintf_chk
+ libc.so.6:__vsprintf_chk
+ libc.so.6:__vswprintf_chk
+ libc.so.6:__vsyslog_chk
+ libc.so.6:__vwprintf_chk
+ libc.so.6:__wcpcpy_chk
+ libc.so.6:__wcpncpy_chk
+ libc.so.6:__wcrtomb_chk
+ libc.so.6:__wcscat_chk
+ libc.so.6:__wcscpy_chk
+ libc.so.6:__wcsncat_chk
+ libc.so.6:__wcsncpy_chk
+ libc.so.6:__wcsnrtombs_chk
+ libc.so.6:__wcsrtombs_chk
+ libc.so.6:__wcstombs_chk
+ libc.so.6:__wctomb_chk
+ libc.so.6:__wmemcpy_chk
+ libc.so.6:__wmemmove_chk
+ libc.so.6:__wmempcpy_chk
+ libc.so.6:__wmemset_chk
+ libc.so.6:__wprintf_chk
+ )
+ );
}
}

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,135 +0,0 @@
%define debug_package %{nil}
Summary: ABI checking tool
Name: abicheck
Version: 1.2
Release: 18
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)
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
%patch -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 Feb 08 2008 Michael Schwendt <mschwendt@fedoraproject.org>
- 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