mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-09 14:50:05 +00:00
[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.
This commit is contained in:
parent
9b382805e2
commit
3e1e123d02
17
ChangeLog
17
ChangeLog
@ -1,5 +1,22 @@
|
||||
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-10 Roland McGrath <roland@redhat.com>
|
||||
|
12
Makeconfig
12
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
|
||||
|
14
Makefile
14
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
|
||||
|
@ -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. */
|
||||
|
12
include/stubs-biarch.h
Normal file
12
include/stubs-biarch.h
Normal file
@ -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
|
@ -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@
|
||||
|
Loading…
Reference in New Issue
Block a user