]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Updated to fedora-glibc-20050211T1037
authorJakub Jelinek <jakub@redhat.com>
Fri, 11 Feb 2005 11:02:13 +0000 (11:02 +0000)
committerJakub Jelinek <jakub@redhat.com>
Fri, 11 Feb 2005 11:02:13 +0000 (11:02 +0000)
ChangeLog
Makeconfig
Makefile
fedora/branch.mk
fedora/glibc.spec.in
include/stub-tag.h
include/stubs-biarch.h [new file with mode: 0644]
scripts/soversions.awk
shlib-versions

index 1532ffce2dffb7d2c354d75bff24b05eed2fe18f..a448d7c335335e2a68e0217562419e26c4224aed 100644 (file)
--- 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.
index 306053241d6f0bde8ef9cea45e3e5f062ce9c3d3..4c3a4e344c754d5cb827666b5e83ca1c34a32821 100644 (file)
@@ -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
index c2f4ae32a5b100d2acf930ae9a0ac88a1de19eca..dc7a6f177a1cba4e6fa9beaa087896cb82775ae0 100644 (file)
--- 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
index bdbe9df107af310ad568914d47ac1aca4001ef3f..2ec1f17148c6a4f2f3c274e7bd0d87ea380f48df 100644 (file)
@@ -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
index b3e739ce1e456d8c9d8adf813575020bc6d689fb..59bc26d8e22e599253014eb0f7d0f99fc86d723a 100644 (file)
@@ -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)
index 3004d6f429d4084be8611d5ab99b927a521d7d68..d4d10c8341267c5eea33dc12347ff0deb989ffc8 100644 (file)
@@ -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 (file)
index 0000000..fc086bd
--- /dev/null
@@ -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
index 3d50c4deeb63d3e0878aa1167c1c31b76a2113c9..eab2e1767743bb39746a35c1feb8d09f644b9131 100644 (file)
@@ -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;
index aaeb9669b2d014e3d27092c54051096317989f89..58e923e7175eafa4ff00ec8528cf7da2e5925ab2 100644 (file)
@@ -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@