Accepting request 72233 from Base:System

Update to glibc 2.13

OBS-URL: https://build.opensuse.org/request/show/72233
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/glibc?expand=0&rev=43
This commit is contained in:
Sascha Peilicke 2011-05-31 10:40:55 +00:00 committed by Git OBS Bridge
commit e9fcef592f
19 changed files with 308 additions and 449 deletions

View File

@ -15,8 +15,8 @@ fi
# get kernel version # get kernel version
OFS="$IFS" ; IFS=".-" ; version=(`uname -r`) ; IFS="$OIFS" 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 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.11 for this package" 1>&2 echo "FATAL: kernel too old, need kernel >= 2.6.32 for this package" 1>&2
exit 1 exit 1
fi fi

196
ctype_b.c
View File

@ -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 <stdint.h>
#define CTYPE_EXTERN_INLINE /* Define real functions for accessors. */
#include <ctype.h>
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);

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe7395ed702de089ef4f719d3ca0ae0477dbe9c3c0a049aa4bd89f441a00b72e
size 15666419

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:023aef147d380f0e4ca2ff0617355b0ef69e41f00db7c463c800fabdb62e8faa
size 16381764

View File

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

View File

@ -1,17 +1,15 @@
Index: configure.in --- configure.in.orig 2011-05-20 15:36:44.880141789 +0200
=================================================================== +++ configure.in 2011-05-20 15:39:31.237690293 +0200
--- configure.in.orig @@ -1406,7 +1406,7 @@
+++ configure.in
@@ -1395,7 +1395,7 @@ EOF
fi fi
fi fi
fi fi
- rm -f conftest.[cs] - rm -f conftest.[cs]
+ rm -f conftest* + rm -f conftest.*
]) ])
if test $libc_cv_visibility_attribute != yes; then if test $libc_cv_visibility_attribute != yes; then
AC_MSG_ERROR(compiler support for visibility attribute is required) 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; } int bar (int x) { return x; }
EOF EOF
libc_cv_broken_visibility_attribute=yes libc_cv_broken_visibility_attribute=yes
@ -20,25 +18,23 @@ Index: configure.in
changequote(,)dnl changequote(,)dnl
if grep '\.hidden[ _]foo' conftest.s >/dev/null; then if grep '\.hidden[ _]foo' conftest.s >/dev/null; then
changequote([,])dnl changequote([,])dnl
Index: configure --- configure.orig 2011-05-20 15:39:38.413972560 +0200
=================================================================== +++ configure 2011-05-20 15:40:52.292884126 +0200
--- configure.orig @@ -6112,7 +6112,7 @@
+++ 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
int bar (int x) { return x; } int bar (int x) { return x; }
EOF EOF
libc_cv_broken_visibility_attribute=yes 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.s1>&5'
+ if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s >&5' + if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s>&5'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5 (eval $ac_try) 2>&5
ac_status=$? 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

27
glibc-bso-12454.diff Normal file
View File

@ -0,0 +1,27 @@
2011-03-02 Andreas Schwab <schwab@redhat.com>
[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 ();

View File

@ -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 <stddef.h>
#include <stdint.h>
#include <stdlib.h>
+#include <string.h>
#include <time.h>
#include <unistd.h>
#include <net/if.h>

View File

@ -19,11 +19,23 @@ Index: config.make.in
force-install = @force_install@ force-install = @force_install@
# Build tools. # 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 Index: configure
=================================================================== ===================================================================
--- configure.orig --- configure.orig 2011-05-20 15:46:40.675628746 +0200
+++ configure +++ configure 2011-05-20 15:40:52.292884126 +0200
@@ -589,6 +589,7 @@ ac_clean_files= @@ -545,6 +545,7 @@
ac_config_libobj_dir=. ac_config_libobj_dir=.
LIBOBJS= LIBOBJS=
cross_compiling=no cross_compiling=no
@ -31,7 +43,7 @@ Index: configure
subdirs= subdirs=
MFLAGS= MFLAGS=
MAKEFLAGS= MAKEFLAGS=
@@ -742,6 +743,7 @@ CXXFLAGS @@ -697,6 +696,7 @@
CXX CXX
CPP CPP
cross_compiling cross_compiling
@ -39,8 +51,8 @@ Index: configure
BUILD_CC BUILD_CC
OBJEXT OBJEXT
ac_ct_CC ac_ct_CC
@@ -1294,6 +1296,13 @@ do @@ -1244,6 +1242,13 @@
{ (exit 1); exit 1; }; } as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done done
+# Check whether --enable-runbinaries was given. +# Check whether --enable-runbinaries was given.
@ -53,36 +65,24 @@ Index: configure
# There might be people who depend on the old broken behavior: `$host' # There might be people who depend on the old broken behavior: `$host'
# used to hold the argument of --host etc. # used to hold the argument of --host etc.
# FIXME: To remove some day. # FIXME: To remove some day.
@@ -1309,6 +1318,7 @@ if test "x$host_alias" != x; then @@ -1266,6 +1257,7 @@
If a cross compiler is detected then cross compile mode will be used." >&2 If a cross compiler is detected then cross compile mode will be used" >&2
elif test "x$build_alias" != "x$host_alias"; then elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes cross_compiling=yes
+ compiled_binaries_can_run_on_buildhost=no + compiled_binaries_can_run_on_buildhost=no
fi fi
fi fi
@@ -1501,6 +1511,9 @@ Optional Features: @@ -1454,6 +1444,9 @@
--enable-experimental-malloc
enable experimental malloc features enable experimental malloc features
--enable-nss-crypt enable libcrypt to use nss --enable-nss-crypt enable libcrypt to use nss
+ --enable-runbinaries the compiled binaries should run on the buildhost because + --enable-runbinaries the compiled binaries should run on the buildhost because
+ it happens to have a compatible cpu + it happens to have a compatible cpu
+ +
Optional Packages: Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --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 Index: posix/Makefile
=================================================================== ===================================================================
--- posix/Makefile.orig --- posix/Makefile.orig

View File

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

View File

@ -37,11 +37,11 @@ in extremely thread-intensive applications.
PER_THREAD. PER_THREAD.
* malloc/malloc.c: Remove redundant M_* defines. * malloc/malloc.c: Remove redundant M_* defines.
diff --git a/malloc/arena.c b/malloc/arena.c Index: glibc-2.13/malloc/arena.c
index 4d0deef..ea80724 100644 ===================================================================
--- a/malloc/arena.c --- glibc-2.13.orig/malloc/arena.c
+++ b/malloc/arena.c +++ glibc-2.13/malloc/arena.c
@@ -78,8 +78,8 @@ extern int sanity_check_heap_info_alignment[(sizeof (heap_info) @@ -78,8 +78,8 @@ extern int sanity_check_heap_info_alignm
static tsd_key_t arena_key; static tsd_key_t arena_key;
static mutex_t list_lock; static mutex_t list_lock;
@ -83,15 +83,16 @@ index 4d0deef..ea80724 100644
(void)mutex_unlock(&list_lock); (void)mutex_unlock(&list_lock);
#endif #endif
@@ -982,13 +980,9 @@ get_free_list (void) @@ -982,13 +980,10 @@ get_free_list (void)
return result; return result;
} }
- -
-static mstate -static mstate
-reused_arena (void) -reused_arena (void)
+static int get_narenas_limit (void) __attribute__((pure));
+static int +static int
+get_narenas_limit (void) __attribute__((pure)) +get_narenas_limit (void)
{ {
- if (narenas <= mp_.arena_test) - if (narenas <= mp_.arena_test)
- return NULL; - return NULL;
@ -99,7 +100,7 @@ index 4d0deef..ea80724 100644
static int narenas_limit; static int narenas_limit;
if (narenas_limit == 0) if (narenas_limit == 0)
{ {
@@ -1006,10 +1000,16 @@ reused_arena (void) @@ -1006,10 +1001,16 @@ reused_arena (void)
narenas_limit = NARENAS_FROM_NCORES (2); narenas_limit = NARENAS_FROM_NCORES (2);
} }
} }
@ -118,7 +119,7 @@ index 4d0deef..ea80724 100644
mstate result; mstate result;
static mstate next_to_use; static mstate next_to_use;
if (next_to_use == NULL) if (next_to_use == NULL)
@@ -1035,7 +1035,6 @@ reused_arena (void) @@ -1035,7 +1036,6 @@ reused_arena (void)
return result; return result;
} }
@ -126,7 +127,7 @@ index 4d0deef..ea80724 100644
static mstate static mstate
internal_function 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; mstate a;
#ifdef PER_THREAD #ifdef PER_THREAD
@ -146,7 +147,7 @@ index 4d0deef..ea80724 100644
#else #else
if(!a_tsd) if(!a_tsd)
a = a_tsd = &main_arena; 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; goto repeat;
} }
@ -163,10 +164,10 @@ index 4d0deef..ea80724 100644
(void)mutex_unlock(&list_lock); (void)mutex_unlock(&list_lock);
#endif #endif
diff --git a/malloc/hooks.c b/malloc/hooks.c Index: glibc-2.13/malloc/hooks.c
index 28845ee..e938492 100644 ===================================================================
--- a/malloc/hooks.c --- glibc-2.13.orig/malloc/hooks.c
+++ b/malloc/hooks.c +++ glibc-2.13/malloc/hooks.c
@@ -579,9 +579,9 @@ public_gET_STATe(void) @@ -579,9 +579,9 @@ public_gET_STATe(void)
ms->max_fast = get_max_fast(); ms->max_fast = get_max_fast();
#ifdef PER_THREAD #ifdef PER_THREAD
@ -189,11 +190,11 @@ index 28845ee..e938492 100644
} }
check_malloc_state(&main_arena); check_malloc_state(&main_arena);
diff --git a/malloc/malloc.c b/malloc/malloc.c Index: glibc-2.13/malloc/malloc.c
index b1d43c6..8dbadfa 100644 ===================================================================
--- a/malloc/malloc.c --- glibc-2.13.orig/malloc/malloc.c
+++ b/malloc/malloc.c +++ glibc-2.13/malloc/malloc.c
@@ -2406,9 +2406,10 @@ struct malloc_par { @@ -2405,9 +2405,10 @@ struct malloc_par {
INTERNAL_SIZE_T top_pad; INTERNAL_SIZE_T top_pad;
INTERNAL_SIZE_T mmap_threshold; INTERNAL_SIZE_T mmap_threshold;
#ifdef PER_THREAD #ifdef PER_THREAD
@ -205,7 +206,7 @@ index b1d43c6..8dbadfa 100644
/* Memory map support */ /* Memory map support */
int n_mmaps; 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_; static struct malloc_par mp_;
@ -219,7 +220,7 @@ index b1d43c6..8dbadfa 100644
/* Maximum size of memory handled in fastbins. */ /* Maximum size of memory handled in fastbins. */
static INTERNAL_SIZE_T global_max_fast; 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) if (value > 0)
mp_.arena_test = value; mp_.arena_test = value;
break; break;

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:efc4a2a614a97203c3c9847db37f40e52596776439b512b57f1606a12361b8f2
size 585531

3
glibc-ports-2.13.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b11c4501ae929883447f409c31d65e82822b1c5693075a825a3d54612876ee5a
size 625945

View File

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

61
glibc-static-memcpy.diff Normal file
View File

@ -0,0 +1,61 @@
2011-02-06 Mike Frysinger <vapier@gentoo.org>
[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)

View File

@ -2,19 +2,22 @@ Index: csu/version.c
=================================================================== ===================================================================
--- csu/version.c.orig --- csu/version.c.orig
+++ csu/version.c +++ 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 __libc_version[] = VERSION;
static const char banner[] = static const char banner[] =
-"GNU C Library "RELEASE" release version "VERSION", by Roland McGrath et al.\n\ -"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\ +"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\ This is free software; see the source for copying conditions.\n\
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\ There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
PARTICULAR PURPOSE.\n\ PARTICULAR PURPOSE.\n\
+Configured for "CONFHOST".\n\ +Configured for "CONFHOST".\n\
Compiled by GNU CC version "__VERSION__".\n" Compiled by GNU CC version "__VERSION__".\n"
#include "version-info.h" #include "version-info.h"
#ifdef LIBC_ABIS_STRING
LIBC_ABIS_STRING
#endif
#ifdef GLIBC_OLDEST_ABI #ifdef GLIBC_OLDEST_ABI
"The oldest ABI supported: " GLIBC_OLDEST_ABI ".\n" "The oldest ABI supported: " GLIBC_OLDEST_ABI ".\n"
#endif #endif

View File

@ -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 Mon May 23 08:44:47 UTC 2011 - rguenther@novell.com
- Update longlong.h from GCC sources. Fixes s390 build with -mzarch. - Update longlong.h from GCC sources. Fixes s390 build with -mzarch.
[bnc#695102] [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 Tue Feb 22 12:57:07 CET 2011 - pbaudis@suse.cz

View File

@ -52,8 +52,11 @@ BuildRequires: libselinux-devel
License: GPLv2+ License: GPLv2+
Summary: Standard Shared Libraries (from the GNU C Library) Summary: Standard Shared Libraries (from the GNU C Library)
Group: System/Libraries Group: System/Libraries
Obsoletes: ngpt <= 2.2.2 ngpt-devel <= 2.2.2 %define enablekernel 2.6.32
Provides: ntpt = 2.2.2 ngpt-devel = 2.2.2 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 # bug437293
%ifarch ppc64 %ifarch ppc64
Obsoletes: glibc-64bit Obsoletes: glibc-64bit
@ -63,20 +66,19 @@ Obsoletes: glibc-32bit
%endif %endif
Provides: rtld(GNU_HASH) Provides: rtld(GNU_HASH)
AutoReqProv: on AutoReqProv: on
Version: 2.11.3 Version: 2.13
Release: 15 Release: 1
Url: http://www.gnu.org/software/libc/libc.html Url: http://www.gnu.org/software/libc/libc.html
PreReq: filesystem PreReq: filesystem
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: glibc-%{version}-b72646ad0c41.tar.bz2 Source: glibc-%{version}-996cf2ef0727.tar.bz2
Source2: glibc-ports-2.10.1-2b2b217196.tar.bz2 Source2: http://ftp.gnu.org/gnu/glibc/glibc-ports-2.13.tar.bz2
Source3: noversion.tar.bz2 Source3: noversion.tar.bz2
Source4: manpages.tar.bz2 Source4: manpages.tar.bz2
Source5: usr.sbin.nscd Source5: usr.sbin.nscd
Source8: nsswitch.conf Source8: nsswitch.conf
Source9: nscd.init Source9: nscd.init
Source10: bindresvport.blacklist Source10: bindresvport.blacklist
Source11: ctype_b.c
Source12: glibc_post_upgrade.c Source12: glibc_post_upgrade.c
Source15: glibc.rpmlintrc Source15: glibc.rpmlintrc
Source16: baselibs.conf Source16: baselibs.conf
@ -104,7 +106,6 @@ Patch15: glibc-suse-note.diff
Patch16: glibc-2.4.90-no_NO.diff Patch16: glibc-2.4.90-no_NO.diff
Patch17: glibc-2.3.90-ld.so-madvise.diff Patch17: glibc-2.3.90-ld.so-madvise.diff
Patch18: glibc-2.3.3-amd64-s_ceil.diff Patch18: glibc-2.3.3-amd64-s_ceil.diff
Patch19: glibc-2.3.3-execstack.diff
Patch20: glibc-2.4-china.diff Patch20: glibc-2.4-china.diff
Patch21: glibc-2.3.4-gb18030-big5hkscs.diff.bz2 Patch21: glibc-2.3.4-gb18030-big5hkscs.diff.bz2
Patch22: glibc-2.4.90-nscd.diff Patch22: glibc-2.4.90-nscd.diff
@ -119,8 +120,6 @@ Patch30: getaddrinfo-ipv6-sanity.diff
Patch31: ppc-atomic.diff Patch31: ppc-atomic.diff
Patch32: glibc-2.8-clone.diff Patch32: glibc-2.8-clone.diff
Patch33: glibc-compiled-binaries.diff Patch33: glibc-compiled-binaries.diff
Patch34: glibc-selinux.diff
Patch35: glibc-check-native-missing-include.diff
Patch36: glibc-no-unwind-tables.diff Patch36: glibc-no-unwind-tables.diff
Patch37: glibc-2.10-nscd-nostack.diff Patch37: glibc-2.10-nscd-nostack.diff
Patch38: glibc-cpusetsize.diff Patch38: glibc-cpusetsize.diff
@ -128,17 +127,19 @@ Patch39: glibc-2.10.99-ia64-include.diff
Patch40: libm-x86-64-exceptions.diff Patch40: libm-x86-64-exceptions.diff
Patch41: glibc-uio-cell.diff Patch41: glibc-uio-cell.diff
Patch42: glibc-statfs64-ia64.diff Patch42: glibc-statfs64-ia64.diff
Patch43: ld-prelink-unique.diff
Patch44: glibc-ppc64-vdso-time.diff Patch44: glibc-ppc64-vdso-time.diff
Patch45: glibc-gai-private4.diff Patch45: glibc-gai-private4.diff
Patch46: glibc-resolv-mdnshint.diff Patch46: glibc-resolv-mdnshint.diff
Patch47: glibc-nscd-hconf.diff Patch47: glibc-nscd-hconf.diff
Patch48: glibc-malloc-arena-max.diff Patch48: glibc-malloc-arena-max.diff
Patch49: glibc-fini-unwind.diff Patch49: glibc-fini-unwind.diff
Patch50: glibc-gconvcache-s390.diff Patch50: glibc-gconvcache-s390.diff
Patch51: glibc-vfprintf-positional.diff Patch51: glibc-vfprintf-positional.diff
Patch52: glibc-elf-localscope.diff Patch52: glibc-elf-localscope.diff
Patch53: glibc-zarch-longlong.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 Patch500: ARM_glibc-2.10.1-local-eabi-wchar.diff
Patch501: ARM_glibc-2.10.1-local-hwcap-updates.diff Patch501: ARM_glibc-2.10.1-local-hwcap-updates.diff
Patch502: ARM_glibc-2.10.1-local-lowlevellock.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 Summary: Include Files and Libraries Mandatory for Development
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Obsoletes: epoll = 1.0 Obsoletes: epoll = 1.0
Provides: epoll <= 1.0 Provides: epoll < 1.0
# bug437293 # bug437293
%ifarch ppc64 %ifarch ppc64
Obsoletes: glibc-devel-64bit Obsoletes: glibc-devel-64bit
@ -269,6 +270,7 @@ library.
%ifarch %ix86
%package obsolete %package obsolete
License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+ License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+
Summary: Obsolete Shared Libraries from the GNU C Library 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 is no gurantee that they work for you, you should try to get newer
versions of your software. versions of your software.
%endif
%prep %prep
%ifarch %arm armv5tel armv7l %ifarch %arm armv5tel armv7l
@ -298,7 +300,8 @@ versions of your software.
# any other leave out ports # any other leave out ports
%setup -n glibc-%{version} -q -a 3 -a 4 %setup -n glibc-%{version} -q -a 3 -a 4
%endif %endif
%patch0 # Seems not needed anymore
#%patch0
# libNoVersion part is only active on ix86 # libNoVersion part is only active on ix86
%patch1 %patch1
%patch2 -p1 %patch2 -p1
@ -307,8 +310,10 @@ versions of your software.
%patch5 %patch5
%patch7 %patch7
%patch8 %patch8
%patch9 # Seems not needed anymore
%patch10 #%patch9
# Seems not needed anymore
#%patch10
%patch11 %patch11
%patch12 %patch12
%patch13 -E %patch13 -E
@ -319,7 +324,6 @@ rm sysdeps/x86_64/fpu/s_sincos.S
%patch16 %patch16
%patch17 %patch17
%patch18 %patch18
%patch19
%patch20 %patch20
%patch21 %patch21
# avoid changing nscd_stat.c mtime to avoid code generation # avoid changing nscd_stat.c mtime to avoid code generation
@ -337,10 +341,9 @@ rm nscd/s-stamp
%patch29 %patch29
%patch30 %patch30
%patch31 %patch31
%patch32 # Seems not needed anymore
#%patch32
%patch33 %patch33
%patch34
%patch35
%patch36 %patch36
%patch37 %patch37
%patch38 %patch38
@ -348,17 +351,21 @@ rm nscd/s-stamp
%patch40 %patch40
%patch41 -p1 %patch41 -p1
%patch42 %patch42
%patch43 -p1
%patch44 -p1 %patch44 -p1
%patch45 %patch45
%patch46 -p1 %patch46 -p1
%patch47 -p1 %patch47 -p1
%if !%{exp_malloc}
%patch48 -p1 %patch48 -p1
%endif
%patch49 %patch49
%patch50 %patch50
%patch51 -p1 %patch51 -p1
%patch52 %patch52
%patch53 -p1 %patch53 -p1
%patch54 -p1
%patch55 -p1
%patch56 -p1
%ifarch %arm armv5tel armv7l %ifarch %arm armv5tel armv7l
%patch500 %patch500
%patch501 %patch501
@ -485,7 +492,12 @@ configure_and_build_glibc() {
%ifarch ppc ppc64 %{ix86} x86_64 %ifarch ppc ppc64 %{ix86} x86_64
--enable-multi-arch \ --enable-multi-arch \
%endif %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 make $PARALLEL
cd .. cd ..
} }
@ -657,7 +669,9 @@ make install_root=$RPM_BUILD_ROOT install -C cc-base
# Prepare obsolete/, used only on some architectures: # Prepare obsolete/, used only on some architectures:
export RPM_BUILD_ROOT export RPM_BUILD_ROOT
%ifarch %ix86
mkdir -p $RPM_BUILD_ROOT/%{_lib}/obsolete mkdir -p $RPM_BUILD_ROOT/%{_lib}/obsolete
%endif
# NPTL <bits/stdio-lock.h> is not usable outside of glibc, so include # NPTL <bits/stdio-lock.h> is not usable outside of glibc, so include
# the generic one (RH#162634) # 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 <<EOF cat > $RPM_BUILD_ROOT/etc/ld.so.conf <<EOF
%ifarch s390x sparc64 x86_64 ppc64 ppc %ifarch s390x sparc64 x86_64 ppc64 ppc
/usr/X11R6/lib64/Xaw3d #/usr/X11R6/lib64/Xaw3d
/usr/X11R6/lib64 #/usr/X11R6/lib64
/usr/lib64/Xaw3d /usr/lib64/Xaw3d
%endif %endif
/usr/X11R6/lib/Xaw3d #/usr/X11R6/lib/Xaw3d
/usr/X11R6/lib #/usr/X11R6/lib
/usr/lib/Xaw3d /usr/lib/Xaw3d
%ifarch %x86 %ifarch %x86
/usr/i586-suse-linux/lib /usr/i586-suse-linux/lib
@ -935,10 +949,10 @@ exit 0
%{_sbindir}/rpcinfo %{_sbindir}/rpcinfo
/usr/sbin/iconvconfig /usr/sbin/iconvconfig
%ifarch %ix86
%files obsolete %files obsolete
%defattr (755,root,root,755) %defattr (755,root,root,755)
%dir /%{_lib}/obsolete/ %dir /%{_lib}/obsolete/
%ifarch %ix86
%dir /%{_lib}/obsolete/noversion %dir /%{_lib}/obsolete/noversion
/%{_lib}/obsolete/noversion/libNoVersion-%{version}.so /%{_lib}/obsolete/noversion/libNoVersion-%{version}.so
/%{_lib}/obsolete/noversion/libNoVersion.so.1 /%{_lib}/obsolete/noversion/libNoVersion.so.1
@ -954,7 +968,7 @@ exit 0
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root)
%doc COPYING COPYING.LIB FAQ INSTALL NEWS NOTES README BUGS CONFORMANCE $RPM_SOURCE_DIR/ctype_b.c %doc COPYING COPYING.LIB FAQ INSTALL NEWS NOTES README BUGS CONFORMANCE
%doc %{_mandir}/man1/catchsegv.1.gz %doc %{_mandir}/man1/catchsegv.1.gz
%doc %{_mandir}/man1/rpcgen.1.gz %doc %{_mandir}/man1/rpcgen.1.gz
%doc %{_mandir}/man1/sprof.1.gz %doc %{_mandir}/man1/sprof.1.gz

View File

@ -1,57 +0,0 @@
2010-03-23 Jakub Jelinek <jakub@redhat.com>
* 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)