diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-02-11 11:02:13 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2005-02-11 11:02:13 +0000 |
commit | b821229a10e85f03b47d048e119518885cc25e0b (patch) | |
tree | d9ad5bca232cd02a312ed222d1cf88057fdb2290 | |
parent | 28c85b32ab50681c39105954b3fd5afa6c0b599a (diff) | |
download | glibc-b821229a10e85f03b47d048e119518885cc25e0b.tar.gz |
Updated to fedora-glibc-20050211T1037
-rw-r--r-- | ChangeLog | 21 | ||||
-rw-r--r-- | Makeconfig | 12 | ||||
-rw-r--r-- | Makefile | 14 | ||||
-rw-r--r-- | fedora/branch.mk | 4 | ||||
-rw-r--r-- | fedora/glibc.spec.in | 10 | ||||
-rw-r--r-- | include/stub-tag.h | 7 | ||||
-rw-r--r-- | include/stubs-biarch.h | 12 | ||||
-rw-r--r-- | scripts/soversions.awk | 24 | ||||
-rw-r--r-- | shlib-versions | 1 |
9 files changed, 84 insertions, 21 deletions
@@ -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 @@ -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@ |