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.

8 commits

Author SHA1 Message Date
Fedora Release Engineering
6143e7ce61 dist-git conversion 2010-07-28 09:32:03 +00:00
Bill Nottingham
be6d24c4fe Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:24:22 +00:00
Michael Schwendt
c951e3f2df bump to make koji happy 2008-01-29 20:25:35 +00:00
Michael Schwendt
14cceabdf2 more linker names 2008-01-29 20:23:20 +00:00
Michael Schwendt
1bfa3e70a3 *** empty log message *** 2008-01-29 18:57:35 +00:00
Michael Schwendt
87317d4deb - Make ldlinux patch also look for ld64.so
- Remove unbound_match patch.
- Move fortify-source patch into separate dbfile in docdir.
2008-01-29 18:54:42 +00:00
Michael Schwendt
15a6f4c708 - Patch unbound_match.
- Sync with rawhide: clarify licence (LGPLv2), update tests patch
2007-10-05 10:31:02 +00:00
Bill Nottingham
bdd7066b13 Initialize branch F-7 for abicheck 2007-05-18 02:43:08 +00:00
8 changed files with 165 additions and 134 deletions

View file

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,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
+ )
+ );
}
}

View file

@ -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 =~ /^$/ ) {

View file

@ -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
View 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

View 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

View file

@ -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.