diff --git a/check-build.sh b/check-build.sh index cc01226..fd183dd 100644 --- a/check-build.sh +++ b/check-build.sh @@ -15,8 +15,8 @@ fi # get kernel version OFS="$IFS" ; IFS=".-" ; version=(`uname -r`) ; IFS="$OIFS" -if test ${version[0]} -lt 2 -o ${version[1]} -lt 6 -o ${version[2]} -lt 11 ; then - echo "FATAL: kernel too old, need kernel >= 2.6.11 for this package" 1>&2 +if test ${version[0]} -lt 2 -o ${version[1]} -lt 6 -o ${version[2]} -lt 32 ; then + echo "FATAL: kernel too old, need kernel >= 2.6.32 for this package" 1>&2 exit 1 fi diff --git a/ctype_b.c b/ctype_b.c deleted file mode 100644 index 91a5b50..0000000 --- a/ctype_b.c +++ /dev/null @@ -1,196 +0,0 @@ -/* - * ctype_b.c - * - * This file has been added to compensate buggy object files - * using __ctype_b, __ctype_tolower and __ctype_toupper. - * - * This file only allows the linking of this buggy object files, - * there is no gurantee, that it will work correct. Linking of - * object files is only possible with the same glibc as they are - * compiled with. - * - * Compile this file with -fPIC and add it to the link stage of - * your application. - * - */ - -#include - -#define CTYPE_EXTERN_INLINE /* Define real functions for accessors. */ -#include - -static const char _nl_C_LC_CTYPE_class[768] = - /* 0x80 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x86 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x8c */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x92 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x98 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x9e */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xa4 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xaa */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xb0 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xb6 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xbc */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xc2 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xc8 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xce */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xd4 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xda */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xe0 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xe6 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xec */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xf2 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xf8 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xfe */ "\000\000" "\000\000" "\002\000" "\002\000" "\002\000" "\002\000" - /* 0x04 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\003\040" - /* 0x0a */ "\002\040" "\002\040" "\002\040" "\002\040" "\002\000" "\002\000" - /* 0x10 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" - /* 0x16 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" - /* 0x1c */ "\002\000" "\002\000" "\002\000" "\002\000" "\001\140" "\004\300" - /* 0x22 */ "\004\300" "\004\300" "\004\300" "\004\300" "\004\300" "\004\300" - /* 0x28 */ "\004\300" "\004\300" "\004\300" "\004\300" "\004\300" "\004\300" - /* 0x2e */ "\004\300" "\004\300" "\010\330" "\010\330" "\010\330" "\010\330" - /* 0x34 */ "\010\330" "\010\330" "\010\330" "\010\330" "\010\330" "\010\330" - /* 0x3a */ "\004\300" "\004\300" "\004\300" "\004\300" "\004\300" "\004\300" - /* 0x40 */ "\004\300" "\010\325" "\010\325" "\010\325" "\010\325" "\010\325" - /* 0x46 */ "\010\325" "\010\305" "\010\305" "\010\305" "\010\305" "\010\305" - /* 0x4c */ "\010\305" "\010\305" "\010\305" "\010\305" "\010\305" "\010\305" - /* 0x52 */ "\010\305" "\010\305" "\010\305" "\010\305" "\010\305" "\010\305" - /* 0x58 */ "\010\305" "\010\305" "\010\305" "\004\300" "\004\300" "\004\300" - /* 0x5e */ "\004\300" "\004\300" "\004\300" "\010\326" "\010\326" "\010\326" - /* 0x64 */ "\010\326" "\010\326" "\010\326" "\010\306" "\010\306" "\010\306" - /* 0x6a */ "\010\306" "\010\306" "\010\306" "\010\306" "\010\306" "\010\306" - /* 0x70 */ "\010\306" "\010\306" "\010\306" "\010\306" "\010\306" "\010\306" - /* 0x76 */ "\010\306" "\010\306" "\010\306" "\010\306" "\010\306" "\004\300" - /* 0x7c */ "\004\300" "\004\300" "\004\300" "\002\000" "\000\000" "\000\000" - /* 0x82 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x88 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x8e */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x94 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x9a */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xa0 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xa6 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xac */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xb2 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xb8 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xbe */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xc4 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xca */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xd0 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xd6 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xdc */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xe2 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xe8 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xee */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xf4 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xfa */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" -; - -static const uint32_t _nl_C_LC_CTYPE_toupper[384] = -{ - /* 0x80 */ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - /* 0x88 */ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, - /* 0x90 */ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, - /* 0x98 */ 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, - /* 0xa0 */ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, - /* 0xa8 */ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, - /* 0xb0 */ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, - /* 0xb8 */ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, - /* 0xc0 */ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, - /* 0xc8 */ 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, - /* 0xd0 */ 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, - /* 0xd8 */ 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, - /* 0xe0 */ 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, - /* 0xe8 */ 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, - /* 0xf0 */ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, - /* 0xf8 */ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xffffffff, - /* 0x00 */ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - /* 0x08 */ 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - /* 0x10 */ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - /* 0x18 */ 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, - /* 0x20 */ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, - /* 0x28 */ 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, - /* 0x30 */ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, - /* 0x38 */ 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, - /* 0x40 */ 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, - /* 0x48 */ 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, - /* 0x50 */ 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, - /* 0x58 */ 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, - /* 0x60 */ 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, - /* 0x68 */ 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, - /* 0x70 */ 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, - /* 0x78 */ 0x58, 0x59, 0x5a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, - /* 0x80 */ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - /* 0x88 */ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, - /* 0x90 */ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, - /* 0x98 */ 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, - /* 0xa0 */ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, - /* 0xa8 */ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, - /* 0xb0 */ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, - /* 0xb8 */ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, - /* 0xc0 */ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, - /* 0xc8 */ 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, - /* 0xd0 */ 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, - /* 0xd8 */ 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, - /* 0xe0 */ 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, - /* 0xe8 */ 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, - /* 0xf0 */ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, - /* 0xf8 */ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff -}; - -static const uint32_t _nl_C_LC_CTYPE_tolower[384] = -{ - /* 0x80 */ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - /* 0x88 */ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, - /* 0x90 */ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, - /* 0x98 */ 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, - /* 0xa0 */ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, - /* 0xa8 */ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, - /* 0xb0 */ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, - /* 0xb8 */ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, - /* 0xc0 */ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, - /* 0xc8 */ 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, - /* 0xd0 */ 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, - /* 0xd8 */ 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, - /* 0xe0 */ 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, - /* 0xe8 */ 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, - /* 0xf0 */ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, - /* 0xf8 */ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xffffffff, - /* 0x00 */ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - /* 0x08 */ 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - /* 0x10 */ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - /* 0x18 */ 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, - /* 0x20 */ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, - /* 0x28 */ 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, - /* 0x30 */ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, - /* 0x38 */ 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, - /* 0x40 */ 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, - /* 0x48 */ 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, - /* 0x50 */ 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, - /* 0x58 */ 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, - /* 0x60 */ 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, - /* 0x68 */ 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, - /* 0x70 */ 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, - /* 0x78 */ 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, - /* 0x80 */ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - /* 0x88 */ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, - /* 0x90 */ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, - /* 0x98 */ 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, - /* 0xa0 */ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, - /* 0xa8 */ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, - /* 0xb0 */ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, - /* 0xb8 */ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, - /* 0xc0 */ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, - /* 0xc8 */ 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, - /* 0xd0 */ 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, - /* 0xd8 */ 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, - /* 0xe0 */ 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, - /* 0xe8 */ 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, - /* 0xf0 */ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, - /* 0xf8 */ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff -}; - -#define b(t,x,o) (((const t *) _nl_C_LC_CTYPE_##x) + o) -const unsigned short int *__ctype_b = b (unsigned short int, class, 128); -const __int32_t *__ctype_tolower = b (__int32_t, tolower, 128); -const __int32_t *__ctype_toupper = b (__int32_t, toupper, 128); diff --git a/glibc-2.11.3-b72646ad0c41.tar.bz2 b/glibc-2.11.3-b72646ad0c41.tar.bz2 deleted file mode 100644 index cc05708..0000000 --- a/glibc-2.11.3-b72646ad0c41.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fe7395ed702de089ef4f719d3ca0ae0477dbe9c3c0a049aa4bd89f441a00b72e -size 15666419 diff --git a/glibc-2.13-996cf2ef0727.tar.bz2 b/glibc-2.13-996cf2ef0727.tar.bz2 new file mode 100644 index 0000000..0e56656 --- /dev/null +++ b/glibc-2.13-996cf2ef0727.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:023aef147d380f0e4ca2ff0617355b0ef69e41f00db7c463c800fabdb62e8faa +size 16381764 diff --git a/glibc-2.3.3-execstack.diff b/glibc-2.3.3-execstack.diff deleted file mode 100644 index 054e33e..0000000 --- a/glibc-2.3.3-execstack.diff +++ /dev/null @@ -1,47 +0,0 @@ -Index: locale/programs/3level.h -=================================================================== ---- locale/programs/3level.h.orig -+++ locale/programs/3level.h -@@ -203,6 +203,42 @@ CONCAT(TABLE,_iterate) (struct TABLE *t, - } - } - } -+ -+/* GCC ATM seems to do a poor job with pointers to nested functions passed -+ to inlined functions. Help it a little bit with this hack. */ -+#define wchead_table_iterate(tp, fn) \ -+do \ -+ { \ -+ struct wchead_table *t = (tp); \ -+ uint32_t index1; \ -+ for (index1 = 0; index1 < t->level1_size; index1++) \ -+ { \ -+ uint32_t lookup1 = t->level1[index1]; \ -+ if (lookup1 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup1_shifted = lookup1 << t->q; \ -+ uint32_t index2; \ -+ for (index2 = 0; index2 < (1 << t->q); index2++) \ -+ { \ -+ uint32_t lookup2 = t->level2[index2 + lookup1_shifted]; \ -+ if (lookup2 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup2_shifted = lookup2 << t->p; \ -+ uint32_t index3; \ -+ for (index3 = 0; index3 < (1 << t->p); index3++) \ -+ { \ -+ struct element_t *lookup3 \ -+ = t->level3[index3 + lookup2_shifted]; \ -+ if (lookup3 != NULL) \ -+ fn ((((index1 << t->q) + index2) << t->p) + index3, \ -+ lookup3); \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } while (0) -+ - #endif - - #ifndef NO_FINALIZE diff --git a/glibc-2.6-configure.diff b/glibc-2.6-configure.diff index b49cc36..530a453 100644 --- a/glibc-2.6-configure.diff +++ b/glibc-2.6-configure.diff @@ -1,17 +1,15 @@ -Index: configure.in -=================================================================== ---- configure.in.orig -+++ configure.in -@@ -1395,7 +1395,7 @@ EOF +--- configure.in.orig 2011-05-20 15:36:44.880141789 +0200 ++++ configure.in 2011-05-20 15:39:31.237690293 +0200 +@@ -1406,7 +1406,7 @@ fi fi fi - rm -f conftest.[cs] -+ rm -f conftest* ++ rm -f conftest.* ]) if test $libc_cv_visibility_attribute != yes; then AC_MSG_ERROR(compiler support for visibility attribute is required) -@@ -1411,7 +1411,7 @@ EOF +@@ -1422,7 +1422,7 @@ int bar (int x) { return x; } EOF libc_cv_broken_visibility_attribute=yes @@ -20,25 +18,23 @@ Index: configure.in changequote(,)dnl if grep '\.hidden[ _]foo' conftest.s >/dev/null; then changequote([,])dnl -Index: configure -=================================================================== ---- configure.orig -+++ configure -@@ -6272,7 +6272,7 @@ EOF - fi - fi - fi -- rm -f conftest.cs -+ rm -f conftest* - - fi - { $as_echo "$as_me:$LINENO: result: $libc_cv_visibility_attribute" >&5 -@@ -6296,7 +6296,7 @@ else +--- configure.orig 2011-05-20 15:39:38.413972560 +0200 ++++ configure 2011-05-20 15:40:52.292884126 +0200 +@@ -6112,7 +6112,7 @@ int bar (int x) { return x; } EOF libc_cv_broken_visibility_attribute=yes - if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s1>&5' -+ if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s >&5' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s>&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 (eval $ac_try) 2>&5 ac_status=$? +@@ -6753,7 +6753,7 @@ + else + libc_cv_have_section_quotes=unknown + fi +- rm -f conftest.cs ++ rm -f conftest.* + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_have_section_quotes" >&5 diff --git a/glibc-bso-12454.diff b/glibc-bso-12454.diff new file mode 100644 index 0000000..68c26da --- /dev/null +++ b/glibc-bso-12454.diff @@ -0,0 +1,27 @@ +2011-03-02 Andreas Schwab + + [BZ #12454] + * elf/dl-deps.c (_dl_map_object_deps): Don't try to sort + dependencies when there are none. + +--- a/elf/dl-deps.c.orig 2011-05-25 16:42:39.000000000 +0200 ++++ a/elf/dl-deps.c 2011-05-25 16:44:07.000000000 +0200 +@@ -619,7 +619,8 @@ + + /* We can skip looking for the binary itself which is at the front + of the search list. */ +- assert (nlist > 1); ++ if (nlist > 1) ++ { + i = 1; + bool seen[nlist]; + memset (seen, false, nlist * sizeof (seen[0])); +@@ -669,7 +670,7 @@ + + next:; + } +- ++ } + /* Terminate the list of dependencies. */ + l_initfini[nlist] = NULL; + atomic_write_barrier (); diff --git a/glibc-check-native-missing-include.diff b/glibc-check-native-missing-include.diff deleted file mode 100644 index e881c4b..0000000 --- a/glibc-check-native-missing-include.diff +++ /dev/null @@ -1,12 +0,0 @@ -Index: sysdeps/unix/sysv/linux/check_native.c -=================================================================== ---- sysdeps/unix/sysv/linux/check_native.c.orig -+++ sysdeps/unix/sysv/linux/check_native.c -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/glibc-compiled-binaries.diff b/glibc-compiled-binaries.diff index ccb826f..31c3efb 100644 --- a/glibc-compiled-binaries.diff +++ b/glibc-compiled-binaries.diff @@ -19,11 +19,23 @@ Index: config.make.in force-install = @force_install@ # Build tools. +Index: configure.in +=================================================================== +--- configure.in.orig 2011-05-20 15:39:31.237690293 +0200 ++++ configure.in 2011-05-20 15:43:55.595111363 +0200 +@@ -16,6 +16,7 @@ + AC_CHECK_PROGS(BUILD_CC, gcc cc) + fi + AC_SUBST(cross_compiling) ++AC_SUBST(compiled_binaries_can_run_on_buildhost) + AC_PROG_CPP + # We need the C++ compiler only for testing. + AC_PROG_CXX Index: configure =================================================================== ---- configure.orig -+++ configure -@@ -589,6 +589,7 @@ ac_clean_files= +--- configure.orig 2011-05-20 15:46:40.675628746 +0200 ++++ configure 2011-05-20 15:40:52.292884126 +0200 +@@ -545,6 +545,7 @@ ac_config_libobj_dir=. LIBOBJS= cross_compiling=no @@ -31,7 +43,7 @@ Index: configure subdirs= MFLAGS= MAKEFLAGS= -@@ -742,6 +743,7 @@ CXXFLAGS +@@ -697,6 +696,7 @@ CXX CPP cross_compiling @@ -39,8 +51,8 @@ Index: configure BUILD_CC OBJEXT ac_ct_CC -@@ -1294,6 +1296,13 @@ do - { (exit 1); exit 1; }; } +@@ -1244,6 +1242,13 @@ + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done +# Check whether --enable-runbinaries was given. @@ -53,36 +65,24 @@ Index: configure # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. -@@ -1309,6 +1318,7 @@ if test "x$host_alias" != x; then - If a cross compiler is detected then cross compile mode will be used." >&2 +@@ -1266,6 +1257,7 @@ + If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes + compiled_binaries_can_run_on_buildhost=no fi fi -@@ -1501,6 +1511,9 @@ Optional Features: +@@ -1454,6 +1444,9 @@ + --enable-experimental-malloc enable experimental malloc features --enable-nss-crypt enable libcrypt to use nss - + --enable-runbinaries the compiled binaries should run on the buildhost because + it happens to have a compatible cpu + + Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) -Index: configure.in -=================================================================== ---- configure.in.orig -+++ configure.in -@@ -16,6 +16,7 @@ if test $host != $build; then - AC_CHECK_PROGS(BUILD_CC, gcc cc) - fi - AC_SUBST(cross_compiling) -+AC_SUBST(compiled_binaries_can_run_on_buildhost) - AC_PROG_CPP - # We need the C++ compiler only for testing. - AC_PROG_CXX Index: posix/Makefile =================================================================== --- posix/Makefile.orig diff --git a/glibc-disable-backward-memcpy.diff b/glibc-disable-backward-memcpy.diff new file mode 100644 index 0000000..fda40ca --- /dev/null +++ b/glibc-disable-backward-memcpy.diff @@ -0,0 +1,45 @@ +Index: glibc-2.13/sysdeps/x86_64/multiarch/Makefile +=================================================================== +--- glibc-2.13.orig/sysdeps/x86_64/multiarch/Makefile ++++ glibc-2.13/sysdeps/x86_64/multiarch/Makefile +@@ -6,7 +6,7 @@ endif + ifeq ($(subdir),string) + sysdep_routines += stpncpy-c strncpy-c strcmp-ssse3 strncmp-ssse3 \ + strend-sse4 memcmp-sse4 memcpy-ssse3 mempcpy-ssse3 \ +- memmove-ssse3 memcpy-ssse3-back mempcpy-ssse3-back \ ++ memmove-ssse3 mempcpy-ssse3-back \ + memmove-ssse3-back strcasestr-nonascii strcasecmp_l-ssse3 \ + strncase_l-ssse3 strlen-sse4 strlen-no-bsf \ + memset-x86-64 +Index: glibc-2.13/sysdeps/x86_64/multiarch/memcpy.S +=================================================================== +--- glibc-2.13.orig/sysdeps/x86_64/multiarch/memcpy.S ++++ glibc-2.13/sysdeps/x86_64/multiarch/memcpy.S +@@ -35,9 +35,11 @@ ENTRY(memcpy) + testl $bit_SSSE3, __cpu_features+CPUID_OFFSET+index_SSSE3(%rip) + jz 2f + leaq __memcpy_ssse3(%rip), %rax ++ /* disable backward memcpy for glibc 2.13 + testl $bit_Fast_Copy_Backward, __cpu_features+FEATURE_OFFSET+index_Fast_Copy_Backward(%rip) + jz 2f + leaq __memcpy_ssse3_back(%rip), %rax ++ */ + 2: ret + END(memcpy) + +Index: glibc-2.13/sysdeps/x86_64/multiarch/memcpy_chk.S +=================================================================== +--- glibc-2.13.orig/sysdeps/x86_64/multiarch/memcpy_chk.S ++++ glibc-2.13/sysdeps/x86_64/multiarch/memcpy_chk.S +@@ -36,9 +36,11 @@ ENTRY(__memcpy_chk) + testl $bit_SSSE3, __cpu_features+CPUID_OFFSET+index_SSSE3(%rip) + jz 2f + leaq __memcpy_chk_ssse3(%rip), %rax ++ /* disable backwards memcpy until glibc 2.14 + testl $bit_Fast_Copy_Backward, __cpu_features+FEATURE_OFFSET+index_Fast_Copy_Backward(%rip) + jz 2f + leaq __memcpy_chk_ssse3_back(%rip), %rax ++ */ + 2: ret + END(__memcpy_chk) + # else diff --git a/glibc-malloc-arena-max.diff b/glibc-malloc-arena-max.diff index 24b91dc..37347fe 100644 --- a/glibc-malloc-arena-max.diff +++ b/glibc-malloc-arena-max.diff @@ -37,11 +37,11 @@ in extremely thread-intensive applications. PER_THREAD. * malloc/malloc.c: Remove redundant M_* defines. -diff --git a/malloc/arena.c b/malloc/arena.c -index 4d0deef..ea80724 100644 ---- a/malloc/arena.c -+++ b/malloc/arena.c -@@ -78,8 +78,8 @@ extern int sanity_check_heap_info_alignment[(sizeof (heap_info) +Index: glibc-2.13/malloc/arena.c +=================================================================== +--- glibc-2.13.orig/malloc/arena.c ++++ glibc-2.13/malloc/arena.c +@@ -78,8 +78,8 @@ extern int sanity_check_heap_info_alignm static tsd_key_t arena_key; static mutex_t list_lock; @@ -83,15 +83,16 @@ index 4d0deef..ea80724 100644 (void)mutex_unlock(&list_lock); #endif -@@ -982,13 +980,9 @@ get_free_list (void) +@@ -982,13 +980,10 @@ get_free_list (void) return result; } - -static mstate -reused_arena (void) ++static int get_narenas_limit (void) __attribute__((pure)); +static int -+get_narenas_limit (void) __attribute__((pure)) ++get_narenas_limit (void) { - if (narenas <= mp_.arena_test) - return NULL; @@ -99,7 +100,7 @@ index 4d0deef..ea80724 100644 static int narenas_limit; if (narenas_limit == 0) { -@@ -1006,10 +1000,16 @@ reused_arena (void) +@@ -1006,10 +1001,16 @@ reused_arena (void) narenas_limit = NARENAS_FROM_NCORES (2); } } @@ -118,7 +119,7 @@ index 4d0deef..ea80724 100644 mstate result; static mstate next_to_use; if (next_to_use == NULL) -@@ -1035,7 +1035,6 @@ reused_arena (void) +@@ -1035,7 +1036,6 @@ reused_arena (void) return result; } @@ -126,7 +127,7 @@ index 4d0deef..ea80724 100644 static mstate internal_function -@@ -1048,10 +1047,15 @@ arena_get2(a_tsd, size) mstate a_tsd; size_t size; +@@ -1048,10 +1048,15 @@ arena_get2(a_tsd, size) mstate a_tsd; si mstate a; #ifdef PER_THREAD @@ -146,7 +147,7 @@ index 4d0deef..ea80724 100644 #else if(!a_tsd) a = a_tsd = &main_arena; -@@ -1093,8 +1097,14 @@ arena_get2(a_tsd, size) mstate a_tsd; size_t size; +@@ -1093,8 +1098,14 @@ arena_get2(a_tsd, size) mstate a_tsd; si goto repeat; } @@ -163,10 +164,10 @@ index 4d0deef..ea80724 100644 (void)mutex_unlock(&list_lock); #endif -diff --git a/malloc/hooks.c b/malloc/hooks.c -index 28845ee..e938492 100644 ---- a/malloc/hooks.c -+++ b/malloc/hooks.c +Index: glibc-2.13/malloc/hooks.c +=================================================================== +--- glibc-2.13.orig/malloc/hooks.c ++++ glibc-2.13/malloc/hooks.c @@ -579,9 +579,9 @@ public_gET_STATe(void) ms->max_fast = get_max_fast(); #ifdef PER_THREAD @@ -189,11 +190,11 @@ index 28845ee..e938492 100644 } check_malloc_state(&main_arena); -diff --git a/malloc/malloc.c b/malloc/malloc.c -index b1d43c6..8dbadfa 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -2406,9 +2406,10 @@ struct malloc_par { +Index: glibc-2.13/malloc/malloc.c +=================================================================== +--- glibc-2.13.orig/malloc/malloc.c ++++ glibc-2.13/malloc/malloc.c +@@ -2405,9 +2405,10 @@ struct malloc_par { INTERNAL_SIZE_T top_pad; INTERNAL_SIZE_T mmap_threshold; #ifdef PER_THREAD @@ -205,7 +206,7 @@ index b1d43c6..8dbadfa 100644 /* Memory map support */ int n_mmaps; -@@ -2446,13 +2447,6 @@ static struct malloc_state main_arena; +@@ -2445,13 +2446,6 @@ static struct malloc_state main_arena; static struct malloc_par mp_; @@ -219,7 +220,7 @@ index b1d43c6..8dbadfa 100644 /* Maximum size of memory handled in fastbins. */ static INTERNAL_SIZE_T global_max_fast; -@@ -6095,12 +6089,12 @@ int mALLOPt(param_number, value) int param_number; int value; +@@ -6111,12 +6105,12 @@ int mALLOPt(param_number, value) int par if (value > 0) mp_.arena_test = value; break; diff --git a/glibc-ports-2.10.1-2b2b217196.tar.bz2 b/glibc-ports-2.10.1-2b2b217196.tar.bz2 deleted file mode 100644 index 2eaca8b..0000000 --- a/glibc-ports-2.10.1-2b2b217196.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:efc4a2a614a97203c3c9847db37f40e52596776439b512b57f1606a12361b8f2 -size 585531 diff --git a/glibc-ports-2.13.tar.bz2 b/glibc-ports-2.13.tar.bz2 new file mode 100644 index 0000000..f2e7a58 --- /dev/null +++ b/glibc-ports-2.13.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b11c4501ae929883447f409c31d65e82822b1c5693075a825a3d54612876ee5a +size 625945 diff --git a/glibc-selinux.diff b/glibc-selinux.diff deleted file mode 100644 index 460cd4f..0000000 --- a/glibc-selinux.diff +++ /dev/null @@ -1,26 +0,0 @@ -Index: Makerules -=================================================================== ---- Makerules.orig -+++ Makerules -@@ -349,7 +349,7 @@ endif # $(versioning) = yes - endif # sysd-sorted-done - - # Generate .dT files as we compile. --compile-mkdep-flags = -MD -MP -MF $@.dt -MT $@ -+compile-mkdep-flags = -MD -MP -MF $@.dt -MT $@ -I/usr/include - compile-command.S = $(compile.S) $(OUTPUT_OPTION) $(compile-mkdep-flags) - compile-command.s = $(COMPILE.s) $< $(OUTPUT_OPTION) $(compile-mkdep-flags) - compile-command.c = $(compile.c) $(OUTPUT_OPTION) $(compile-mkdep-flags) -Index: nscd/Makefile -=================================================================== ---- nscd/Makefile.orig -+++ nscd/Makefile -@@ -123,6 +123,8 @@ CFLAGS-getsrvbynm_r.c += $(nscd-cflags) - CFLAGS-getsrvbypt_r.c += $(nscd-cflags) - CFLAGS-res_hconf.c += $(nscd-cflags) - -+LDFLAGS = -lselinux -+ - ifeq (yesyes,$(have-fpie)$(build-shared)) - relro-LDFLAGS += -Wl,-z,now - diff --git a/glibc-static-memcpy.diff b/glibc-static-memcpy.diff new file mode 100644 index 0000000..8ed7718 --- /dev/null +++ b/glibc-static-memcpy.diff @@ -0,0 +1,61 @@ +2011-02-06 Mike Frysinger + + [BZ #12653] + * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: Only protect + MEMCPY_CHK with USE_AS_BCOPY ifdef check. + * sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Likewise. + * sysdeps/x86_64/multiarch/memcpy-ssse3.S: Likewise. + * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: Likewise. + +Index: glibc-2.13/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S +=================================================================== +--- glibc-2.13.orig/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S ++++ glibc-2.13/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S +@@ -110,7 +110,7 @@ __i686.get_pc_thunk.bx: + #endif + + .section .text.ssse3,"ax",@progbits +-#if defined SHARED && !defined NOT_IN_libc && !defined USE_AS_BCOPY ++#if !defined USE_AS_BCOPY + ENTRY (MEMCPY_CHK) + movl 12(%esp), %eax + cmpl %eax, 16(%esp) +Index: glibc-2.13/sysdeps/i386/i686/multiarch/memcpy-ssse3.S +=================================================================== +--- glibc-2.13.orig/sysdeps/i386/i686/multiarch/memcpy-ssse3.S ++++ glibc-2.13/sysdeps/i386/i686/multiarch/memcpy-ssse3.S +@@ -110,7 +110,7 @@ __i686.get_pc_thunk.bx: + #endif + + .section .text.ssse3,"ax",@progbits +-#if defined SHARED && !defined NOT_IN_libc && !defined USE_AS_BCOPY ++#if !defined USE_AS_BCOPY + ENTRY (MEMCPY_CHK) + movl 12(%esp), %eax + cmpl %eax, 16(%esp) +Index: glibc-2.13/sysdeps/x86_64/multiarch/memcpy-ssse3-back.S +=================================================================== +--- glibc-2.13.orig/sysdeps/x86_64/multiarch/memcpy-ssse3-back.S ++++ glibc-2.13/sysdeps/x86_64/multiarch/memcpy-ssse3-back.S +@@ -49,7 +49,7 @@ + ud2 + + .section .text.ssse3,"ax",@progbits +-#if defined SHARED && !defined NOT_IN_libc ++#if !defined USE_AS_BCOPY + ENTRY (MEMCPY_CHK) + cmpq %rdx, %rcx + jb HIDDEN_JUMPTARGET (__chk_fail) +Index: glibc-2.13/sysdeps/x86_64/multiarch/memcpy-ssse3.S +=================================================================== +--- glibc-2.13.orig/sysdeps/x86_64/multiarch/memcpy-ssse3.S ++++ glibc-2.13/sysdeps/x86_64/multiarch/memcpy-ssse3.S +@@ -49,7 +49,7 @@ + ud2 + + .section .text.ssse3,"ax",@progbits +-#if defined SHARED && !defined NOT_IN_libc ++#if !defined USE_AS_BCOPY + ENTRY (MEMCPY_CHK) + cmpq %rdx, %rcx + jb HIDDEN_JUMPTARGET (__chk_fail) diff --git a/glibc-version.diff b/glibc-version.diff index 684dbda..322cf0f 100644 --- a/glibc-version.diff +++ b/glibc-version.diff @@ -2,19 +2,22 @@ Index: csu/version.c =================================================================== --- csu/version.c.orig +++ csu/version.c -@@ -24,16 +24,20 @@ static const char __libc_release[] = REL +@@ -25,19 +25,23 @@ static const char __libc_release[] = REL static const char __libc_version[] = VERSION; static const char banner[] = -"GNU C Library "RELEASE" release version "VERSION", by Roland McGrath et al.\n\ +"GNU C Library "RELEASE" release version "VERSION" ("CVSDATE"), by Roland McGrath et al.\n\ - Copyright (C) 2009 Free Software Foundation, Inc.\n\ + Copyright (C) 2011 Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions.\n\ There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\ PARTICULAR PURPOSE.\n\ +Configured for "CONFHOST".\n\ Compiled by GNU CC version "__VERSION__".\n" #include "version-info.h" + #ifdef LIBC_ABIS_STRING + LIBC_ABIS_STRING + #endif #ifdef GLIBC_OLDEST_ABI "The oldest ABI supported: " GLIBC_OLDEST_ABI ".\n" #endif diff --git a/glibc.changes b/glibc.changes index 73a756b..bd2b371 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,9 +1,59 @@ +------------------------------------------------------------------- +Fri May 27 11:55:35 UTC 2011 - aj@suse.de + +- Remove patches that are not needed anymore: + * glibc-selinux.diff + * glibc-check-native-missing-include.diff + * glibc-2.3.3-execstack.diff +- Disable the following patches, they look obsolete by now but leave them + in to easy enable them again: + * glibc-2.3-SuSE.diff + * glibc-2.3-regcomp.diff + * glibc-2.8-clone.diff + * glibc-2.3.2-revert_tcsetattr.diff +- Do not package glibc-obsolete with empty directory on archs that + don't need it. + +------------------------------------------------------------------- +Thu May 26 07:53:51 UTC 2011 - aj@suse.de + +- Add glibc-static-memcpy.diff to fix static compiles. + +------------------------------------------------------------------- +Wed May 25 15:28:37 UTC 2011 - aj@suse.de + +- Run on kernel 2.6.32 or older only - and optimize thus. +- Enable malloc implementation that is be less memory efficient + but higher performing in multi-threaded programs. +- Use --enable-bind-now to avoid lazy binding in ld.so + and libc.so + +------------------------------------------------------------------- +Wed May 25 14:38:58 UTC 2011 - aj@suse.de + +- Add glibc-bso-12454.diff to not create assert running dynamic linker + in some cases. +- Disable backwards memcpy for x86-64. + +------------------------------------------------------------------- +Wed May 25 07:59:27 UTC 2011 - aj@suse.de + +- Add glibc-dl-signal-error.diff to not crash the dynamic linker + if dependencies are missing. + ------------------------------------------------------------------- Mon May 23 08:44:47 UTC 2011 - rguenther@novell.com - Update longlong.h from GCC sources. Fixes s390 build with -mzarch. [bnc#695102] +------------------------------------------------------------------- +Fri May 20 14:45:44 UTC 2011 - aj@suse.de + +- Fix obsoletes and provides. +- Update to glibc 2.13 +- Drop ld-prelink-unique.diff, it is part of 2.13. + ------------------------------------------------------------------- Tue Feb 22 12:57:07 CET 2011 - pbaudis@suse.cz diff --git a/glibc.spec b/glibc.spec index 88494e4..98e3db6 100644 --- a/glibc.spec +++ b/glibc.spec @@ -52,8 +52,11 @@ BuildRequires: libselinux-devel License: GPLv2+ Summary: Standard Shared Libraries (from the GNU C Library) Group: System/Libraries -Obsoletes: ngpt <= 2.2.2 ngpt-devel <= 2.2.2 -Provides: ntpt = 2.2.2 ngpt-devel = 2.2.2 +%define enablekernel 2.6.32 +Conflicts: kernel < %{enablekernel} +%define exp_malloc 1 +Obsoletes: ngpt < 2.2.2 ngpt-devel < 2.2.2 +Provides: ngpt = 2.2.2 ngpt-devel = 2.2.2 # bug437293 %ifarch ppc64 Obsoletes: glibc-64bit @@ -63,20 +66,19 @@ Obsoletes: glibc-32bit %endif Provides: rtld(GNU_HASH) AutoReqProv: on -Version: 2.11.3 -Release: 15 +Version: 2.13 +Release: 1 Url: http://www.gnu.org/software/libc/libc.html PreReq: filesystem BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source: glibc-%{version}-b72646ad0c41.tar.bz2 -Source2: glibc-ports-2.10.1-2b2b217196.tar.bz2 +Source: glibc-%{version}-996cf2ef0727.tar.bz2 +Source2: http://ftp.gnu.org/gnu/glibc/glibc-ports-2.13.tar.bz2 Source3: noversion.tar.bz2 Source4: manpages.tar.bz2 Source5: usr.sbin.nscd Source8: nsswitch.conf Source9: nscd.init Source10: bindresvport.blacklist -Source11: ctype_b.c Source12: glibc_post_upgrade.c Source15: glibc.rpmlintrc Source16: baselibs.conf @@ -104,7 +106,6 @@ Patch15: glibc-suse-note.diff Patch16: glibc-2.4.90-no_NO.diff Patch17: glibc-2.3.90-ld.so-madvise.diff Patch18: glibc-2.3.3-amd64-s_ceil.diff -Patch19: glibc-2.3.3-execstack.diff Patch20: glibc-2.4-china.diff Patch21: glibc-2.3.4-gb18030-big5hkscs.diff.bz2 Patch22: glibc-2.4.90-nscd.diff @@ -119,8 +120,6 @@ Patch30: getaddrinfo-ipv6-sanity.diff Patch31: ppc-atomic.diff Patch32: glibc-2.8-clone.diff Patch33: glibc-compiled-binaries.diff -Patch34: glibc-selinux.diff -Patch35: glibc-check-native-missing-include.diff Patch36: glibc-no-unwind-tables.diff Patch37: glibc-2.10-nscd-nostack.diff Patch38: glibc-cpusetsize.diff @@ -128,17 +127,19 @@ Patch39: glibc-2.10.99-ia64-include.diff Patch40: libm-x86-64-exceptions.diff Patch41: glibc-uio-cell.diff Patch42: glibc-statfs64-ia64.diff -Patch43: ld-prelink-unique.diff Patch44: glibc-ppc64-vdso-time.diff Patch45: glibc-gai-private4.diff Patch46: glibc-resolv-mdnshint.diff Patch47: glibc-nscd-hconf.diff -Patch48: glibc-malloc-arena-max.diff -Patch49: glibc-fini-unwind.diff +Patch48: glibc-malloc-arena-max.diff +Patch49: glibc-fini-unwind.diff Patch50: glibc-gconvcache-s390.diff -Patch51: glibc-vfprintf-positional.diff -Patch52: glibc-elf-localscope.diff -Patch53: glibc-zarch-longlong.diff +Patch51: glibc-vfprintf-positional.diff +Patch52: glibc-elf-localscope.diff +Patch53: glibc-zarch-longlong.diff +Patch54: glibc-disable-backward-memcpy.diff +Patch55: glibc-bso-12454.diff +Patch56: glibc-static-memcpy.diff Patch500: ARM_glibc-2.10.1-local-eabi-wchar.diff Patch501: ARM_glibc-2.10.1-local-hwcap-updates.diff Patch502: ARM_glibc-2.10.1-local-lowlevellock.diff @@ -251,7 +252,7 @@ License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+ Summary: Include Files and Libraries Mandatory for Development Group: Development/Libraries/C and C++ Obsoletes: epoll = 1.0 -Provides: epoll <= 1.0 +Provides: epoll < 1.0 # bug437293 %ifarch ppc64 Obsoletes: glibc-devel-64bit @@ -269,6 +270,7 @@ library. +%ifarch %ix86 %package obsolete License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+ Summary: Obsolete Shared Libraries from the GNU C Library @@ -286,7 +288,7 @@ binaries working, but since this libraries are not supported and there is no gurantee that they work for you, you should try to get newer versions of your software. - +%endif %prep %ifarch %arm armv5tel armv7l @@ -298,7 +300,8 @@ versions of your software. # any other leave out ports %setup -n glibc-%{version} -q -a 3 -a 4 %endif -%patch0 +# Seems not needed anymore +#%patch0 # libNoVersion part is only active on ix86 %patch1 %patch2 -p1 @@ -307,8 +310,10 @@ versions of your software. %patch5 %patch7 %patch8 -%patch9 -%patch10 +# Seems not needed anymore +#%patch9 +# Seems not needed anymore +#%patch10 %patch11 %patch12 %patch13 -E @@ -319,7 +324,6 @@ rm sysdeps/x86_64/fpu/s_sincos.S %patch16 %patch17 %patch18 -%patch19 %patch20 %patch21 # avoid changing nscd_stat.c mtime to avoid code generation @@ -337,10 +341,9 @@ rm nscd/s-stamp %patch29 %patch30 %patch31 -%patch32 +# Seems not needed anymore +#%patch32 %patch33 -%patch34 -%patch35 %patch36 %patch37 %patch38 @@ -348,17 +351,21 @@ rm nscd/s-stamp %patch40 %patch41 -p1 %patch42 -%patch43 -p1 %patch44 -p1 %patch45 %patch46 -p1 %patch47 -p1 +%if !%{exp_malloc} %patch48 -p1 +%endif %patch49 %patch50 %patch51 -p1 %patch52 %patch53 -p1 +%patch54 -p1 +%patch55 -p1 +%patch56 -p1 %ifarch %arm armv5tel armv7l %patch500 %patch501 @@ -485,7 +492,12 @@ configure_and_build_glibc() { %ifarch ppc ppc64 %{ix86} x86_64 --enable-multi-arch \ %endif - --with-tls --with-__thread --enable-kernel=2.6.4 +%if %{exp_malloc} + --enable-experimental-malloc \ +%endif + --with-tls --with-__thread --enable-kernel=%{enablekernel} \ + --enable-bind-now +# Should we enable --enable-nss-crypt to build use freebl3 hash functions? make $PARALLEL cd .. } @@ -657,7 +669,9 @@ make install_root=$RPM_BUILD_ROOT install -C cc-base # Prepare obsolete/, used only on some architectures: export RPM_BUILD_ROOT +%ifarch %ix86 mkdir -p $RPM_BUILD_ROOT/%{_lib}/obsolete +%endif # NPTL is not usable outside of glibc, so include # the generic one (RH#162634) @@ -706,12 +720,12 @@ touch $RPM_BUILD_ROOT/var/run/nscd/{socket,nscd.pid} # cat > $RPM_BUILD_ROOT/etc/ld.so.conf < - - * elf/dl-lookup.c (do_lookup_x): If tab->entries is NULL, - but tab->size != 0, just unlock and goto success, without - allocating anything or entering anything into the hash table. - (_dl_debug_bindings): Temporarily set tab->entries to NULL - around do_lookup_x in undef_map->l_local_scope[0]. - ---- libc/elf/dl-lookup.c.jj 2009-12-16 00:10:37.000000000 +0100 -+++ libc/elf/dl-lookup.c 2010-03-23 11:03:45.850560036 +0100 -@@ -1,5 +1,6 @@ - /* Look up a symbol in the loaded objects. -- Copyright (C) 1995-2005, 2006, 2007, 2009 Free Software Foundation, Inc. -+ Copyright (C) 1995-2005, 2006, 2007, 2009, 2010 -+ Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or -@@ -414,6 +415,20 @@ do_lookup_x (const char *undef_name, uin - assert (!RTLD_CHECK_FOREIGN_CALL); - #endif - -+#ifdef SHARED -+ /* If tab->entries is NULL, but tab->size is not, it means -+ this is the second, conflict finding, lookup for -+ LD_TRACE_PRELINKING in _dl_debug_bindings. Don't -+ allocate anything and don't enter anything into the -+ hash table. */ -+ if (__builtin_expect (tab->size, 0)) -+ { -+ assert (GLRO(dl_debug_mask) & DL_DEBUG_PRELINK); -+ __rtld_lock_unlock_recursive (tab->lock); -+ goto success; -+ } -+#endif -+ - #define INITIAL_NUNIQUE_SYM_TABLE 31 - size = INITIAL_NUNIQUE_SYM_TABLE; - entries = calloc (sizeof (struct unique_sym), size); -@@ -917,13 +932,17 @@ _dl_debug_bindings (const char *undef_na - { - const uint_fast32_t new_hash = dl_new_hash (undef_name); - unsigned long int old_hash = 0xffffffff; -+ struct unique_sym *saved_entries -+ = GL(dl_ns)[LM_ID_BASE]._ns_unique_sym_table.entries; - -+ GL(dl_ns)[LM_ID_BASE]._ns_unique_sym_table.entries = NULL; - do_lookup_x (undef_name, new_hash, &old_hash, *ref, &val, - undef_map->l_local_scope[0], 0, version, 0, NULL, - type_class, undef_map); - - if (val.s != value->s || val.m != value->m) - conflict = 1; -+ GL(dl_ns)[LM_ID_BASE]._ns_unique_sym_table.entries = saved_entries; - } - - if (value->s)