This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, hjl/abi, updated. glibc-2.15-1029-g4850dc2
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 23 May 2012 18:37:25 -0000
- Subject: GNU C Library master sources branch, hjl/abi, updated. glibc-2.15-1029-g4850dc2
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, hjl/abi has been updated
via 4850dc2033af532265872eb44b409eafa7b29e67 (commit)
via e6cba3acd12ca14cd322b45d8dd07864b97633b6 (commit)
via 5e292e4fa55177b858fa034ab5829de3f7587d76 (commit)
via 0cb5ffb48784bf6fc5ac9e324afa59909ae9c41d (commit)
via 8caf8c87e13f0f7881fa181e2482fe2d06a30456 (commit)
via 45d348a8598f860b50a336ca4528b5dbd0076f17 (commit)
via 1a09dc565db1da971ade18d9be7d9ac82646d599 (commit)
via 1c87aba0f2949199382c193ae584fa034b49a0db (commit)
from a0783f7c3a64f3d325bfddc166696a7772bd9da6 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=4850dc2033af532265872eb44b409eafa7b29e67
commit 4850dc2033af532265872eb44b409eafa7b29e67
Merge: e6cba3a 5e292e4
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed May 23 11:37:00 2012 -0700
Merge remote-tracking branch 'origin/master' into hjl/abi
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=e6cba3acd12ca14cd322b45d8dd07864b97633b6
commit e6cba3acd12ca14cd322b45d8dd07864b97633b6
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed May 23 11:36:37 2012 -0700
Remove trailing whitespace
diff --git a/sysdeps/i386/shlib-versions b/sysdeps/i386/shlib-versions
index 5690fdf..7093380 100644
--- a/sysdeps/i386/shlib-versions
+++ b/sysdeps/i386/shlib-versions
@@ -4,4 +4,4 @@ i.86-.*-linux.* ld=ld-linux.so.2:ld-linux-x86-64.so.2:ld-linux-x32.so.2
# Configuration ABI list Supported ABIs
# ------------- --------------- -------------------
-i.86-.*-linux.* ABI-LIST 32:64:x32
+i.86-.*-linux.* ABI-LIST 32:64:x32
diff --git a/sysdeps/x86_64/64/shlib-versions b/sysdeps/x86_64/64/shlib-versions
index 9cf8ef4..de83ed2 100644
--- a/sysdeps/x86_64/64/shlib-versions
+++ b/sysdeps/x86_64/64/shlib-versions
@@ -1,7 +1,7 @@
# Configuration DEFAULT Earliest symbol set
# ------------- --------------- -------------------
x86_64-.*-linux.* DEFAULT GLIBC_2.2.5
-x86_64-.*-linux.* ld=ld-linux-x86-64.so.2:ld-linux.so.2:ld-linux-x32.so.2 GLIBC_2.2.5
+x86_64-.*-linux.* ld=ld-linux-x86-64.so.2:ld-linux.so.2:ld-linux-x32.so.2 GLIBC_2.2.5
# Configuration ABI list Supported ABIs
# ------------- --------------- -------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=0cb5ffb48784bf6fc5ac9e324afa59909ae9c41d
commit 0cb5ffb48784bf6fc5ac9e324afa59909ae9c41d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed May 23 11:30:25 2012 -0700
Add ABI-LIST support
diff --git a/ChangeLog.abi b/ChangeLog.abi
index b234add..d2cfe01 100644
--- a/ChangeLog.abi
+++ b/ChangeLog.abi
@@ -1,5 +1,41 @@
2012-05-23 H.J. Lu <hongjiu.lu@intel.com>
+ * Makeconfig ($(common-objpfx)soversions.mk): Remove WORDSIZE
+ check. Support ABI, DEFAULT-ABI and ABI-LIST.
+ * Makefile (installed-stubs): Generate from abi-list-variants.
+ * shlib-version (x86_64-.*-.*): Removed.
+ (i.86-.*-.*): Likewise.
+ (i.86-.*-linux.*): Likewise.
+ * scripts/soversions.awk: Support ABI-LIST.
+ * sysdeps/i386/shlib-versions: New file.
+ * sysdeps/unix/sysv/linux/Makefile (syscall-list-variants):
+ Removed.
+ (syscall-list-default-condition): Renamed to ...
+ (abi-list-default-options): This.
+ (syscall-list-default-condition): Renamed to ...
+ (abi-list-default-condition): This.
+ (abi-list-includes): Renamed to ...
+ (abi-list-includes): This.
+ ($(objpfx)bits/syscall%h $(objpfx)bits/syscall%d): Updated.
+ * sysdeps/unix/sysv/linux/x86_64/Makefile (syscall-list-variants):
+ Removed.
+ (syscall-list-32-options): Renamed to ...
+ (abi-list-32-options): This.
+ (syscall-list-32-condition): Renamed to ...
+ (abi-list-32-condition): This.
+ (syscall-list-64-options): Renamed to ...
+ (abi-list-64-options): This.
+ (syscall-list-64-condition): Renamed to ...
+ (abi-list-64-condition): This.
+ (syscall-list-x32-options): Renamed to ...
+ (abi-list-x32-options): This.
+ (syscall-list-x32-condition): Renamed to ...
+ (abi-list-x32-condition): This.
+ * sysdeps/x86_64/64/shlib-versions: Add the list of ld.so names.
+ Add ABI-LIST entry.
+
+2012-05-23 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/unix/sysv/linux/Makefile
(syscall-list-variants): Replace 32bit/64bit with 32/64.
(syscall-list-32bit-options): Renamed to ...
diff --git a/Makeconfig b/Makeconfig
index 3a09764..7bb774e 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -812,24 +812,26 @@ $(common-objpfx)soversions.i: $(..)scripts/soversions.awk \
-f $^ > $@T
mv -f $@T $@
$(common-objpfx)soversions.mk: $(common-objpfx)soversions.i $(..)Makeconfig
- (seen_DEFAULT=0; seen_WORDSIZE32=0; seen_WORDSIZE64=0; \
- while read which lib number setname; do \
+ (while read which lib number setname; do \
eval seen_$$which=1; \
test x"$$which" != xABI || echo abi-name = "$$lib"; \
+ test x"$$which" != xDEFAULT-ABI || echo default-abi = "$$lib"; \
+ if test x"$$which" == xABI-LIST; then \
+ echo "abi-list-variants = \$$(subst :, ,$$lib)"; \
+ fi; \
test x"$$which" = xDEFAULT || continue; \
case $$number in \
[0-9]*) echo "$$lib.so-version=.$$number"; \
echo "all-sonames+=$$lib=$$lib.so\$$($$lib.so-version)";;\
- *) echo "$$lib.so-version=$$number"; \
- echo "all-sonames+=$$lib=\$$($$lib.so-version)";;\
+ *) \
+ case $$number in \
+ *:*) echo "$$lib-list-variants = \$$(subst :, ,$$number)"; \
+ echo "$$lib.so-version = \$$(firstword \$$($$lib-list-variants))";; \
+ *) echo "$$lib.so-version=$$number";; \
+ esac; \
+ echo "all-sonames+=$$lib=\$$($$lib.so-version)";;\
esac; \
done; \
- case "$$seen_DEFAULT$$seen_WORDSIZE32$$seen_WORDSIZE64" in \
- 100) echo biarch = no;; \
- 101) echo biarch = 32;; \
- ?1?) echo biarch = 64;; \
- *) echo >&2 BUG; exit 2;; \
- esac; \
echo soversions.mk-done = t;) < $< > $@T; exit 0
mv -f $@T $@
endif
diff --git a/Makefile b/Makefile
index c0a0cfb..0bae20b 100644
--- a/Makefile
+++ b/Makefile
@@ -170,14 +170,28 @@ others: $(common-objpfx)testrun.sh
subdir-stubs := $(foreach dir,$(subdirs),$(common-objpfx)$(dir)/stubs)
-ifeq ($(biarch),no)
+ifeq ($(default-abi),)
installed-stubs = $(inst_includedir)/gnu/stubs.h
else
-installed-stubs = $(inst_includedir)/gnu/stubs-$(biarch).h
+installed-stubs = $(inst_includedir)/gnu/stubs-$(default-abi).h
-$(inst_includedir)/gnu/stubs.h: include/stubs-biarch.h $(+force)
+$(inst_includedir)/gnu/stubs.h: $(common-objpfx)soversions.mk $(+force)
$(make-target-directory)
- $(INSTALL_DATA) $< $@
+ { \
+ echo "/* This file selects the right generated file of \`__stub_FUNCTION' macros";\
+ echo ' based on the architecture being compiled for. */'; \
+ echo ''; \
+ $(foreach h,$(abi-list-includes), echo '#include <$(h)>';) \
+ echo ''; \
+ $(foreach v,$(abi-list-variants),\
+ $(if $(abi-list-$(v)-condition),\
+ echo '#if $(abi-list-$(v)-condition)'; \
+ echo '# include <gnu/stubs-$(v).h>'); \
+ $(if $(abi-list-$(v)-condition),echo '#endif';) \
+ rm -f $(@:.d=.h).new$(v); \
+ ) \
+ } > $(@:.d=.h).new
+ mv -f $(@:.d=.h).new $(@:.d=.h)
install-others-nosubdir: $(installed-stubs)
endif
diff --git a/include/stubs-biarch.h b/include/stubs-biarch.h
deleted file mode 100644
index fc086bd..0000000
--- a/include/stubs-biarch.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/* This file selects the right generated file of `__stub_FUNCTION' macros
- based on the architecture being compiled for. */
-
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 32
-# include <gnu/stubs-32.h>
-#elif __WORDSIZE == 64
-# include <gnu/stubs-64.h>
-#else
-# error "unexpected value for __WORDSIZE macro"
-#endif
diff --git a/scripts/soversions.awk b/scripts/soversions.awk
index 55577cc..0b74182 100644
--- a/scripts/soversions.awk
+++ b/scripts/soversions.awk
@@ -28,6 +28,13 @@ $2 == "ABI" {
next;
}
+$2 == "ABI-LIST" {
+ if ((config ~ thiscf) && !abilist) {
+ abilist = $3;
+ }
+ next;
+}
+
# Obey the first matching DEFAULT line.
$2 == "DEFAULT" {
$1 = $2 = "";
@@ -79,6 +86,12 @@ END {
if (abiname) {
print "ABI", abiname
}
+ if (abilist) {
+ print "ABI-LIST", abilist
+ gsub(/:/, " ", abilist);
+ split(abilist, abi, " ")
+ print "DEFAULT-ABI", abi[1]
+ }
for (c in lines) {
print lines[c]
}
diff --git a/shlib-versions b/shlib-versions
index b8ed1e9..ca112c2 100644
--- a/shlib-versions
+++ b/shlib-versions
@@ -32,8 +32,6 @@ powerpc64-.*-linux.* DEFAULT GLIBC_2.3
# Configuration WORDSIZE[32|64] Alternate configuration
# ------------- ---------- -----------------------
-x86_64-.*-.* WORDSIZE32 i686-@VENDOR@-@OS@
-i.86-.*-.* WORDSIZE64 x86_64-@VENDOR@-@OS@
s390x-.*-.* WORDSIZE32 s390-@VENDOR@-@OS@
s390-.*-.* WORDSIZE64 s390x-@VENDOR@-@OS@
powerpc64-.*-.* WORDSIZE32 powerpc-@VENDOR@-@OS@
@@ -70,7 +68,6 @@ sparc64.*-.*-linux.* libc=6 GLIBC_2.2
.*-.*-gnu-gnu.* libc=0.3
# The dynamic loader also requires different names.
-i.86-.*-linux.* ld=ld-linux.so.2
sparc64.*-.*-linux.* ld=ld-linux.so.2 GLIBC_2.2
sparc.*-.*-linux.* ld=ld-linux.so.2
sh.*-.*-linux.* ld=ld-linux.so.2 GLIBC_2.2
diff --git a/sysdeps/i386/shlib-versions b/sysdeps/i386/shlib-versions
new file mode 100644
index 0000000..5690fdf
--- /dev/null
+++ b/sysdeps/i386/shlib-versions
@@ -0,0 +1,7 @@
+# Configuration DEFAULT Earliest symbol set
+# ------------- --------------- -------------------
+i.86-.*-linux.* ld=ld-linux.so.2:ld-linux-x86-64.so.2:ld-linux-x32.so.2
+
+# Configuration ABI list Supported ABIs
+# ------------- --------------- -------------------
+i.86-.*-linux.* ABI-LIST 32:64:x32
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index 70fd137..a012576 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -43,23 +43,22 @@ tests += tst-clone
# Generate the list of SYS_* macros for the system calls (__NR_* macros).
# If there is more than one syscall list for different architecture
-# variants, the CPU/Makefile defines syscall-list-variants to be a
-# list of names for those variants (e.g. 32bit 64bit), and, for each
-# variant, defines syscall-list-$(variant)-options to be compiler
+# variants, the CPU/shlib-versions should have an ABI-LIST entry with a
+# list of names for those variants, separated by `:', (e.g. 32:64), and,
+# for each variant, defines abi-list-$(variant)-options to be compiler
# options to cause <asm/unistd.h> to define the desired list of
-# syscalls and syscall-list-$(variant)-condition to be the condition
+# syscalls and abi-list-$(variant)-condition to be the condition
# for those options to use in a C #if condition.
# syscall-list-includes may be defined to a list of headers to include
# in the generated header, if the default does not suffice.
-ifndef syscall-list-variants
-syscall-list-variants := default
-syscall-list-default-options :=
-syscall-list-default-condition :=
+ifndef abi-list-variants
+abi-list-default-options :=
+abi-list-default-condition :=
endif
-ifndef syscall-list-includes
-syscall-list-includes := bits/wordsize.h
+ifndef abi-list-includes
+abi-list-includes := bits/wordsize.h
endif
$(objpfx)bits/syscall%h $(objpfx)bits/syscall%d: ../sysdeps/unix/sysv/linux/sys/syscall.h
@@ -71,30 +70,30 @@ $(objpfx)bits/syscall%h $(objpfx)bits/syscall%d: ../sysdeps/unix/sysv/linux/sys/
echo '# error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."'; \
echo '#endif'; \
echo ''; \
- $(foreach h,$(syscall-list-includes), echo '#include <$(h)>';) \
+ $(foreach h,$(abi-list-includes), echo '#include <$(h)>';) \
echo ''; \
- $(foreach v,$(syscall-list-variants),\
+ $(foreach v,$(abi-list-variants),\
$(CC) -E -MD -MP -MF $(@:.h=.d)-t$(v) -MT '$(@:.d=.h) $(@:.h=.d)' \
- -x c $(sysincludes) $< $(syscall-list-$(v)-options) \
+ -x c $(sysincludes) $< $(abi-list-$(v)-options) \
-D_LIBC -dM | \
sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p' | \
LC_ALL=C sort > $(@:.d=.h).new$(v); \
- $(if $(syscall-list-$(v)-condition),\
- echo '#if $(syscall-list-$(v)-condition)';) \
+ $(if $(abi-list-$(v)-condition),\
+ echo '#if $(abi-list-$(v)-condition)';) \
cat $(@:.d=.h).new$(v); \
- $(if $(syscall-list-$(v)-condition),echo '#endif';) \
+ $(if $(abi-list-$(v)-condition),echo '#endif';) \
rm -f $(@:.d=.h).new$(v); \
) \
} > $(@:.d=.h).new
mv -f $(@:.d=.h).new $(@:.d=.h)
ifneq (,$(objpfx))
sed $(sed-remove-objpfx) \
- $(foreach v,$(syscall-list-variants),$(@:.h=.d)-t$(v)) > $(@:.h=.d)-t3
+ $(foreach v,$(abi-list-variants),$(@:.h=.d)-t$(v)) > $(@:.h=.d)-t3
else
- cat $(foreach v,$(syscall-list-variants),$(@:.h=.d)-t$(v)) \
+ cat $(foreach v,$(abi-list-variants),$(@:.h=.d)-t$(v)) \
> $(@:.h=.d)-t3
endif
- rm -f $(foreach v,$(syscall-list-variants),$(@:.h=.d)-t$(v))
+ rm -f $(foreach v,$(abi-list-variants),$(@:.h=.d)-t$(v))
mv -f $(@:.h=.d)-t3 $(@:.h=.d)
ifndef no_deps
diff --git a/sysdeps/unix/sysv/linux/x86_64/Makefile b/sysdeps/unix/sysv/linux/x86_64/Makefile
index 256b67a..0c958c2 100644
--- a/sysdeps/unix/sysv/linux/x86_64/Makefile
+++ b/sysdeps/unix/sysv/linux/x86_64/Makefile
@@ -1,10 +1,9 @@
-syscall-list-variants := 32 64 x32
-syscall-list-32-options := -D__i386__ -U__x86_64__
-syscall-list-32-condition := !defined __x86_64__
-syscall-list-64-options := -U__i386__ -D__x86_64__ -U__ILP32__ -D__LP64__
-syscall-list-64-condition := defined __x86_64__ && defined __LP64__
-syscall-list-x32-options := -U__i386__ -D__x86_64__ -D__ILP32__ -U__LP64__
-syscall-list-x32-condition := defined __x86_64__ && defined __ILP32__
+abi-list-32-options := -D__i386__ -U__x86_64__
+abi-list-32-condition := !defined __x86_64__
+abi-list-64-options := -U__i386__ -D__x86_64__ -U__ILP32__ -D__LP64__
+abi-list-64-condition := defined __x86_64__ && defined __LP64__
+abi-list-x32-options := -U__i386__ -D__x86_64__ -D__ILP32__ -U__LP64__
+abi-list-x32-condition := defined __x86_64__ && defined __ILP32__
ifeq ($(subdir),misc)
sysdep_routines += ioperm iopl
diff --git a/sysdeps/x86_64/64/shlib-versions b/sysdeps/x86_64/64/shlib-versions
index c797487..9cf8ef4 100644
--- a/sysdeps/x86_64/64/shlib-versions
+++ b/sysdeps/x86_64/64/shlib-versions
@@ -1,4 +1,8 @@
-# Configuration DEFAULT Earliest symbol set
-# ------------- --------------- ------------------------------
-x86_64-.*-linux.* DEFAULT GLIBC_2.2.5
-x86_64-.*-linux.* ld=ld-linux-x86-64.so.2 GLIBC_2.2.5
+# Configuration DEFAULT Earliest symbol set
+# ------------- --------------- -------------------
+x86_64-.*-linux.* DEFAULT GLIBC_2.2.5
+x86_64-.*-linux.* ld=ld-linux-x86-64.so.2:ld-linux.so.2:ld-linux-x32.so.2 GLIBC_2.2.5
+
+# Configuration ABI list Supported ABIs
+# ------------- --------------- -------------------
+x86_64-.*-linux.* ABI-LIST 64:32:x32
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 24 +++++++++++
ChangeLog.abi | 36 ++++++++++++++++
Makeconfig | 22 +++++----
Makefile | 22 ++++++++--
include/stubs-biarch.h | 12 -----
scripts/soversions.awk | 13 ++++++
shlib-versions | 3 -
sysdeps/i386/shlib-versions | 7 +++
sysdeps/unix/sysv/linux/Makefile | 37 ++++++++--------
sysdeps/unix/sysv/linux/i386/sysdep.h | 6 +-
sysdeps/unix/sysv/linux/poll.c | 47 ---------------------
sysdeps/unix/sysv/linux/sys/reboot.h | 8 +++-
sysdeps/unix/sysv/linux/syscalls.list | 1 +
sysdeps/unix/sysv/linux/x86_64/Makefile | 13 +++---
sysdeps/unix/sysv/linux/x86_64/sysdep.h | 2 +-
sysdeps/unix/sysv/linux/x86_64/x32/sched_getcpu.S | 12 ++++--
sysdeps/x86_64/64/shlib-versions | 12 ++++--
17 files changed, 162 insertions(+), 115 deletions(-)
delete mode 100644 include/stubs-biarch.h
create mode 100644 sysdeps/i386/shlib-versions
delete mode 100644 sysdeps/unix/sysv/linux/poll.c
hooks/post-receive
--
GNU C Library master sources