summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-02-11 11:02:13 +0000
committerJakub Jelinek <jakub@redhat.com>2005-02-11 11:02:13 +0000
commitb821229a10e85f03b47d048e119518885cc25e0b (patch)
treed9ad5bca232cd02a312ed222d1cf88057fdb2290
parent28c85b32ab50681c39105954b3fd5afa6c0b599a (diff)
downloadglibc-b821229a10e85f03b47d048e119518885cc25e0b.tar.gz
Updated to fedora-glibc-20050211T1037
-rw-r--r--ChangeLog21
-rw-r--r--Makeconfig12
-rw-r--r--Makefile14
-rw-r--r--fedora/branch.mk4
-rw-r--r--fedora/glibc.spec.in10
-rw-r--r--include/stub-tag.h7
-rw-r--r--include/stubs-biarch.h12
-rw-r--r--scripts/soversions.awk24
-rw-r--r--shlib-versions1
9 files changed, 84 insertions, 21 deletions
diff --git a/ChangeLog b/ChangeLog
index 1532ffce2d..a448d7c335 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2005-02-11 Roland McGrath <roland@redhat.com>
+
+ [BZ #715]
+ * Makefile (installed-stubs): New variable.
+ Set to $(inst_includedir)/gnu/stubs.h if $(biarch) is no,
+ or to $(inst_includedir)/gnu/stubs-$(biarch).h if otherwise.
+ [$(biarch) != no] (install-others-nosubdir): Add $(installed-stubs).
+ ($(inst_includedir)/gnu/stubs.h): Use $(installed-stubs) for this
+ rule's target.
+ ($(inst_includedir)/gnu/stubs.h): New target, install from ...
+ * include/stubs-biarch.h: New file.
+
+ * shlib-versions (i.86-.*-.*): Add WORDSIZE64 line mapping to x86_64.
+
+ * Makeconfig ($(common-objpfx)soversions.mk): Depend on Makeconfig.
+ Emit defn for variable `biarch'.
+
+ * include/stub-tag.h: Update comment.
+
+ * scripts/soversions.awk: Fix default version set handling.
+
2005-02-09 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/bits/termios.h (CMSPAR): Define.
diff --git a/Makeconfig b/Makeconfig
index 306053241d..4c3a4e344c 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -792,8 +792,10 @@ $(common-objpfx)soversions.i: $(..)scripts/soversions.awk \
-v os='$(config-os)' \
-f $^ > $@T
mv -f $@T $@
-$(common-objpfx)soversions.mk: $(common-objpfx)soversions.i
- (while read which lib number setname; do \
+$(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 \
+ eval seen_$$which=1; \
test x"$$which" = xDEFAULT || continue; \
case $$number in \
[0-9]*) echo "$$lib.so-version=.$$number"; \
@@ -802,6 +804,12 @@ $(common-objpfx)soversions.mk: $(common-objpfx)soversions.i
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 c2f4ae32a5..dc7a6f177a 100644
--- a/Makefile
+++ b/Makefile
@@ -157,13 +157,25 @@ others: $(common-objpfx)testrun.sh
subdir-stubs := $(foreach dir,$(subdirs),$(common-objpfx)$(dir)/stubs)
+ifeq ($(biarch),no)
+installed-stubs = $(inst_includedir)/gnu/stubs.h
+else
+installed-stubs = $(inst_includedir)/gnu/stubs-$(biarch).h
+
+$(inst_includedir)/gnu/stubs.h: include/stubs-biarch.h $(+force)
+ $(INSTALL_DATA) $< $@
+
+install-others-nosubdir: $(installed-stubs)
+endif
+
+
# Since stubs.h is never needed when building the library, we simplify the
# hairy installation process by producing it in place only as the last part
# of the top-level `make install'. It depends on subdir_install, which
# iterates over all the subdirs; subdir_install in each subdir depends on
# the subdir's stubs file. Having more direct dependencies would result in
# extra iterations over the list for subdirs and many recursive makes.
-$(inst_includedir)/gnu/stubs.h: include/stubs-prologue.h subdir_install
+$(installed-stubs): include/stubs-prologue.h subdir_install
$(make-target-directory)
@rm -f $(objpfx)stubs.h
(sed '/^@/d' $<; LC_ALL=C sort $(subdir-stubs)) > $(objpfx)stubs.h
diff --git a/fedora/branch.mk b/fedora/branch.mk
index bdbe9df107..2ec1f17148 100644
--- a/fedora/branch.mk
+++ b/fedora/branch.mk
@@ -1,5 +1,5 @@
# This file is updated automatically by Makefile.
glibc-branch := fedora
glibc-base := HEAD
-fedora-sync-date := 2005-02-11 08:53 UTC
-fedora-sync-tag := fedora-glibc-20050211T0853
+fedora-sync-date := 2005-02-11 10:37 UTC
+fedora-sync-tag := fedora-glibc-20050211T1037
diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in
index b3e739ce1e..59bc26d8e2 100644
--- a/fedora/glibc.spec.in
+++ b/fedora/glibc.spec.in
@@ -1,4 +1,4 @@
-%define glibcrelease 8
+%define glibcrelease 9
%define auxarches i586 i686 athlon sparcv9 alphaev6
%define prelinkarches noarch
%define nptlarches i386 i686 athlon x86_64 ia64 s390 s390x sparcv9 ppc ppc64
@@ -841,10 +841,10 @@ done
grep '%{_prefix}/%{_lib}/lib.*_p\.a' < rpm.filelist > profile.filelist || :
grep '%{_infodir}' < rpm.filelist | grep -v '%{_infodir}/dir' > devel.filelist
-grep '%{_prefix}/include/gnu/stubs-[3264]\.h' < rpm.filelist >> devel.filelist
+grep '%{_prefix}/include/gnu/stubs-[32164]\+\.h' < rpm.filelist >> devel.filelist
grep '%{_prefix}/include' < rpm.filelist |
- egrep -v '%{_prefix}/include/(nptl|gnu/stubs-[3264]+\.h)' \
+ egrep -v '%{_prefix}/include/(nptl|gnu/stubs-[32164]+\.h)' \
> headers.filelist
mv rpm.filelist rpm.filelist.full
@@ -1269,6 +1269,10 @@ rm -f *.filelist*
%endif
%changelog
+* Fri Feb 11 2005 Jakub Jelinek <jakub@redhat.com> 2.3.4-9
+- update from CVS
+ - bi-arch <gnu/stubs.h> (BZ#715)
+
* Fri Feb 11 2005 Jakub Jelinek <jakub@redhat.com> 2.3.4-8
- update from CVS
- bi-arch <gnu/lib-names.h> (BZ#632)
diff --git a/include/stub-tag.h b/include/stub-tag.h
index 3004d6f429..d4d10c8341 100644
--- a/include/stub-tag.h
+++ b/include/stub-tag.h
@@ -1,5 +1,4 @@
/* This header is included into every file that declares a stub function.
- * The build process looks for this header in .d files to decide whether
- * or not it needs to scan the corresponding .c file for entries to add to
- * <gnu/stubs.h>.
- */
+ It is obsolete now, but hasn't died to avoid removing all those
+ #include's. Every such file should use the `stub_warning' macro for
+ each of its functions, and that is sufficient. */
diff --git a/include/stubs-biarch.h b/include/stubs-biarch.h
new file mode 100644
index 0000000000..fc086bd894
--- /dev/null
+++ b/include/stubs-biarch.h
@@ -0,0 +1,12 @@
+/* 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 3d50c4deeb..eab2e17677 100644
--- a/scripts/soversions.awk
+++ b/scripts/soversions.awk
@@ -20,11 +20,8 @@ $2 ~ /WORDSIZE[3264]/ {
# Obey the first matching DEFAULT line.
$2 == "DEFAULT" {
- if (!matched_default[thiscf]) {
- matched_default[thiscf] = 1;
- $1 = $2 = "";
- default_set[thiscf] = $0;
- }
+ $1 = $2 = "";
+ default_set[++ndefault_set] = thiscf "\n" $0;
next
}
@@ -48,12 +45,21 @@ END {
split(elt, x);
cf = x[1];
lib = x[2];
- if (default_setname && !(cf in default_set) && config ~ cf)
- default_set[cf] = default_setname;
- set = (elt in versions) ? versions[elt] : default_set[cf];
- line = set ? (lib FS numbers[elt] FS set) : (lib FS numbers[elt]);
for (c in configs)
if (c ~ cf) {
+ if (elt in versions)
+ set = versions[elt];
+ else {
+ set = (c == config) ? default_setname : "";
+ for (i = 1; i <= ndefault_set; ++i) {
+ split(default_set[i], x, "\n");
+ if (c ~ x[1]) {
+ set = x[2];
+ break;
+ }
+ }
+ }
+ line = set ? (lib FS numbers[elt] FS set) : (lib FS numbers[elt]);
if (!((c FS lib) in lineorder) || order[elt] < lineorder[c FS lib]) {
lineorder[c FS lib] = order[elt];
lines[c FS lib] = configs[c] FS line;
diff --git a/shlib-versions b/shlib-versions
index aaeb9669b2..58e923e717 100644
--- a/shlib-versions
+++ b/shlib-versions
@@ -35,6 +35,7 @@ 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@