Updated to fedora-glibc-20041021T0701

This commit is contained in:
Jakub Jelinek 2004-10-21 07:16:46 +00:00
parent a4947a1a53
commit 8eb6f95371
4 changed files with 65 additions and 50 deletions

View File

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

View File

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

View File

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

38
scripts/soversions.awk Normal file
View File

@ -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];
}
}