diff options
author | Jakub Jelinek <jakub@redhat.com> | 2004-10-21 07:16:46 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2004-10-21 07:16:46 +0000 |
commit | 8eb6f95371ac36d4f5f4f867065c843596f66a67 (patch) | |
tree | 043b28998da75da7f303b081af739fbf560af70f | |
parent | a4947a1a5386bfee328190507369781092d6cf3a (diff) | |
download | glibc-8eb6f95371ac36d4f5f4f867065c843596f66a67.tar.gz glibc-8eb6f95371ac36d4f5f4f867065c843596f66a67.tar.xz glibc-8eb6f95371ac36d4f5f4f867065c843596f66a67.zip |
Updated to fedora-glibc-20041021T0701 cvs/fedora-glibc-2_3_3-72
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | Makeconfig | 31 | ||||
-rw-r--r-- | fedora/glibc.spec.in | 37 | ||||
-rw-r--r-- | scripts/soversions.awk | 38 |
4 files changed, 65 insertions, 50 deletions
diff --git a/ChangeLog b/ChangeLog index 75e73e7947..bf0e4732cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,15 @@ 2004-10-20 Roland McGrath <roland@redhat.com> + * Makeconfig ($(common-objpfx)shlib-versions.v.i): Check also + $(config-sysdirs) for shlib-versions files. + + * Makeconfig ($(common-objpfx)soversions.i): Replace shell loop with + use of ... + * scripts/soversions.awk: ... this new file. Collect lib info and + match any DEFAULT line before emitting anything, so DEFAULT can come + later in the concatenation of shlib-versions files. + * manual/errno.texi (Error Codes): Add ENOKEY, EKEYEXPIRED, EKEYREVOKED, EKEYREJECTED. * sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.3.4): New errlist. diff --git a/Makeconfig b/Makeconfig index 8490d077b6..ea3a782cda 100644 --- a/Makeconfig +++ b/Makeconfig @@ -799,26 +799,19 @@ ifndef avoid-generated # This lets add-ons give more-specific matches that override defaults # in the top-level file. $(common-objpfx)shlib-versions.v.i: \ - $(wildcard $(patsubst %, $(..)%/shlib-versions,$(add-ons) $(subdirs)))\ + $(wildcard $(patsubst %, $(..)%/shlib-versions,$(add-ons) \ + $(config-sysdirs) \ + $(subdirs))) \ $(..)shlib-versions -$(common-objpfx)soversions.i: $(common-objpfx)shlib-versions.v - default_setname='$(filter-out %_default,$(oldest-abi:%=GLIBC_%))'; \ - while read conf version setname; do \ - test -n "$$version" && \ - test `expr '$(config-machine)-$(config-vendor)-$(config-os)' \ - : "$$conf"` != 0 || continue; \ - if test "x$$version" = xDEFAULT; then \ - default_setname="$$setname"; \ - else \ - $(abi-default_setname) \ - lib=`echo $$version | sed 's/=.*$$//'`; \ - if eval test -z "\$${versioned_$${lib}}"; then \ - eval versioned_$${lib}=yes; \ - number=`echo $$version | sed "s/^.*=//"`; \ - echo $$lib $$number $${setname:-$${default_setname}}; \ - fi; \ - fi; \ - done < $< > $@T; exit 0 + +soversions-default-setname = $(patsubst %, %,\ + $(filter-out %_default,\ + $(oldest-abi:%=GLIBC_%))) +$(common-objpfx)soversions.i: $(..)scripts/soversions.awk \ + $(common-objpfx)shlib-versions.v + $(AWK) -v default_setname='$(soversions-default-setname)' \ + -v config='$(config-machine)-$(config-vendor)-$(config-os)' \ + -f $^ > $@T mv -f $@T $@ $(common-objpfx)soversions.mk: $(common-objpfx)soversions.i (while read lib number setname; do \ diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in index acb8933708..9ff386e549 100644 --- a/fedora/glibc.spec.in +++ b/fedora/glibc.spec.in @@ -1,4 +1,4 @@ -%define glibcrelease 71 +%define glibcrelease 72 %define auxarches i586 i686 athlon sparcv9 alphaev6 %define prelinkarches noarch %define nptlarches i386 i686 athlon x86_64 ia64 s390 s390x sparcv9 ppc ppc64 @@ -299,14 +299,6 @@ cat > asm/unistd.h <<EOF #ifndef __NR_waitid #define __NR_waitid 284 #endif -#ifndef __NR_setaltroot -#define __NR_setaltroot 285 -#endif -#ifndef __NR_add_key -#define __NR_add_key 286 -#define __NR_request_key 287 -#define __NR_keyctl 288 -#endif %endif %ifarch ia64 #ifndef __NR_timer_create @@ -328,9 +320,6 @@ cat > asm/unistd.h <<EOF #define __NR_mq_notify 1266 #define __NR_mq_getsetattr 1267 #endif -#ifndef __NR_setaltroot -#define __NR_setaltroot 1270 -#endif %endif %ifarch ppc #ifndef __NR_utimes @@ -442,25 +431,6 @@ cat > asm/unistd.h <<EOF %endif #endif EOF -cat > asm/errno.h <<EOF -#ifndef _HACK_ASM_ERRNO_H -#include_next <asm/errno.h> -#ifndef ENOKEY -%ifarch alpha alphaev6 -#define ENOKEY 131 /* Required key not available */ -%endif -%ifarch sparc sparcv9 sparc64 -#define ENOKEY 127 /* Required key not available */ -%endif -%ifnarch alpha alphaev6 sparc sparcv9 sparc64 -#define ENOKEY 125 /* Required key not available */ -%endif -#define EKEYEXPIRED (ENOKEY + 1) /* Key has expired */ -#define EKEYREVOKED (ENOKEY + 2) /* Key has been revoked */ -#define EKEYREJECTED (ENOKEY + 3) /* Key was rejected by service */ -#endif -#endif -EOF %ifnarch %{ix86} alpha alphaev6 sparc sparcv9 rm -rf glibc-compat @@ -1286,6 +1256,11 @@ rm -f *.filelist* %endif %changelog +* Thu Oct 21 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-72 +- back out setaltroot and key{_add,_request,ctl} addition +- fix severe x86-64 symbol versioning regressions that breaks + e.g. java binaries + * Wed Oct 20 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-71 - update from CVS - fix minor catchsegv temp file handling vulnerability diff --git a/scripts/soversions.awk b/scripts/soversions.awk new file mode 100644 index 0000000000..6207088514 --- /dev/null +++ b/scripts/soversions.awk @@ -0,0 +1,38 @@ +# awk script for shlib-versions.v.i -> soversions.i; see Makeconfig. + +# Only lines matching `config' (set with -v) are relevant to us. +config !~ $1 { next } + +# Obey the first matching DEFAULT line. +$2 == "DEFAULT" { + if (!matched_default) { + matched_default = 1; + $1 = $2 = ""; + default_setname = $0; + } + next +} + +# Collect all lib lines before emitting anything, so DEFAULT +# can be interspersed. +{ + lib = number = $2; + sub(/=.*$/, "", lib); + sub(/^.*=/, "", number); + if (lib in numbers) next; + numbers[lib] = number; + if (NF > 2) { + $1 = $2 = ""; + versions[lib] = $0 + } +} + +END { + for (lib in numbers) { + set = (lib in versions) ? versions[lib] : default_setname; + if (set) + print lib, numbers[lib], set; + else + print lib, numbers[lib]; + } +} |