Compare commits
8 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6143e7ce61 | ||
|
|
be6d24c4fe | ||
|
|
c951e3f2df | ||
|
|
14cceabdf2 | ||
|
|
1bfa3e70a3 | ||
|
|
87317d4deb | ||
|
|
15a6f4c708 | ||
|
|
bdd7066b13 |
8 changed files with 165 additions and 134 deletions
0
.cvsignore → .gitignore
vendored
0
.cvsignore → .gitignore
vendored
21
Makefile
21
Makefile
|
|
@ -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)
|
||||
|
|
@ -1,84 +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 2006-08-28 12:28:14.000000000 +0200
|
||||
@@ -3538,5 +3538,80 @@
|
||||
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:__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
|
||||
+ )
|
||||
+ );
|
||||
}
|
||||
}
|
||||
|
|
@ -30,7 +30,7 @@ diff -Nur abicheck-1.2-orig/abicheck.pl abicheck-1.2/abicheck.pl
|
|||
+ my $ldlinux = '';
|
||||
+ open(DLFIND,"ldd $file0 |") or die "open: ldd: $!";
|
||||
+ while (<DLFIND>) {
|
||||
+ /(ld(-linux)*.so.\d+)/ and /(\S+)/ and $ldlinux = $1;
|
||||
+ /(\/ld(-linux[^.]*|64)*\.so\.\d+)/ and /(\S+)/ and $ldlinux = $1;
|
||||
+ }
|
||||
+ close(DLFIND);
|
||||
+ if ( $ldlinux =~ /^$/ ) {
|
||||
|
|
|
|||
|
|
@ -1,12 +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
|
||||
70
abicheck-1.2-tests.patch
Normal file
70
abicheck-1.2-tests.patch
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
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
|
||||
68
abicheck-dbfile-fortify-source
Normal file
68
abicheck-dbfile-fortify-source
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
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|__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
|
||||
|
|
@ -3,16 +3,16 @@
|
|||
Summary: ABI checking tool
|
||||
Name: abicheck
|
||||
Version: 1.2
|
||||
Release: 11
|
||||
License: LGPL
|
||||
Release: 11.9
|
||||
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-test-static.patch
|
||||
Patch1: abicheck-1.2-tests.patch
|
||||
Patch2: abicheck-1.2-bindings-fc4.patch
|
||||
Patch3: abicheck-1.2-libgcc.patch
|
||||
Patch4: abicheck-1.2-fortify-source-fc6.patch
|
||||
Patch5: abicheck-1.2-ldlinux.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot-%(%{__id_u} -n)
|
||||
Requires: binutils perl
|
||||
|
|
@ -27,10 +27,9 @@ Binary Interface).
|
|||
%prep
|
||||
%setup -q
|
||||
%patch -p1 -b .fc3
|
||||
%patch1 -p1 -b .test-static
|
||||
%patch1 -p1 -b .tests
|
||||
%patch2 -p1 -b .bindings-fc4
|
||||
%patch3 -p1 -b .libgcc
|
||||
%patch4 -p1 -b .fortify-source-fc5
|
||||
%patch5 -p1 -b .ldlinux
|
||||
sed -i -e 's!/usr/lib/!%{_libdir}/!g' test/Makefile
|
||||
|
||||
|
|
@ -44,6 +43,7 @@ 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
|
||||
|
|
@ -57,44 +57,54 @@ 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
|
||||
* Mon Aug 28 2006 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2-11
|
||||
* Tue Jan 29 2008 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-11.9
|
||||
- Make ldlinux patch look for more linker names.
|
||||
- Remove unbound_match patch.
|
||||
- Move fortify-source patch into separate dbfile in docdir.
|
||||
|
||||
* Fri Oct 5 2007 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-11.7
|
||||
- Patch unbound_match.
|
||||
- Sync with rawhide: clarify licence (LGPLv2), update tests patch
|
||||
|
||||
* 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[AT]users.sf.net> - 1.2-10
|
||||
* 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[AT]users.sf.net> - 1.2-9
|
||||
* 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[AT]users.sf.net> - 1.2-8
|
||||
* 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[AT]users.sf.net> - 1.2-7
|
||||
* 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[AT]users.sf.net> - 1.2-6
|
||||
* Mon May 9 2005 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-6
|
||||
- Disable debuginfo package.
|
||||
|
||||
* Thu Apr 14 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2-5
|
||||
* 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[AT]users.sf.net> - 1.2-4
|
||||
* 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[AT]users.sf.net>
|
||||
* Fri Apr 7 2005 Michael Schwendt <mschwendt@fedoraproject.org>
|
||||
- rebuilt
|
||||
|
||||
* Mon Dec 13 2004 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2-3
|
||||
* 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.
|
||||
|
|
|
|||
Reference in a new issue