[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>
|
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.
|
* scripts/soversions.awk: Fix default version set handling.
|
||||||
|
|
||||||
2005-02-10 Roland McGrath <roland@redhat.com>
|
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)' \
|
-v os='$(config-os)' \
|
||||||
-f $^ > $@T
|
-f $^ > $@T
|
||||||
mv -f $@T $@
|
mv -f $@T $@
|
||||||
$(common-objpfx)soversions.mk: $(common-objpfx)soversions.i
|
$(common-objpfx)soversions.mk: $(common-objpfx)soversions.i $(..)Makeconfig
|
||||||
(while read which lib number setname; do \
|
(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; \
|
test x"$$which" = xDEFAULT || continue; \
|
||||||
case $$number in \
|
case $$number in \
|
||||||
[0-9]*) echo "$$lib.so-version=.$$number"; \
|
[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)";;\
|
echo "all-sonames+=$$lib=\$$($$lib.so-version)";;\
|
||||||
esac; \
|
esac; \
|
||||||
done; \
|
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
|
echo soversions.mk-done = t;) < $< > $@T; exit 0
|
||||||
mv -f $@T $@
|
mv -f $@T $@
|
||||||
endif
|
endif
|
||||||
|
|
14
Makefile
14
Makefile
|
@ -157,13 +157,25 @@ others: $(common-objpfx)testrun.sh
|
||||||
|
|
||||||
subdir-stubs := $(foreach dir,$(subdirs),$(common-objpfx)$(dir)/stubs)
|
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
|
# 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
|
# 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
|
# of the top-level `make install'. It depends on subdir_install, which
|
||||||
# iterates over all the subdirs; subdir_install in each subdir depends on
|
# iterates over all the subdirs; subdir_install in each subdir depends on
|
||||||
# the subdir's stubs file. Having more direct dependencies would result in
|
# the subdir's stubs file. Having more direct dependencies would result in
|
||||||
# extra iterations over the list for subdirs and many recursive makes.
|
# 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)
|
$(make-target-directory)
|
||||||
@rm -f $(objpfx)stubs.h
|
@rm -f $(objpfx)stubs.h
|
||||||
(sed '/^@/d' $<; LC_ALL=C sort $(subdir-stubs)) > $(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.
|
/* 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
|
It is obsolete now, but hasn't died to avoid removing all those
|
||||||
* or not it needs to scan the corresponding .c file for entries to add to
|
#include's. Every such file should use the `stub_warning' macro for
|
||||||
* <gnu/stubs.h>.
|
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
|
# Configuration WORDSIZE[32|64] Alternate configuration
|
||||||
# ------------- ---------- -----------------------
|
# ------------- ---------- -----------------------
|
||||||
x86_64-.*-.* WORDSIZE32 i686-@VENDOR@-@OS@
|
x86_64-.*-.* WORDSIZE32 i686-@VENDOR@-@OS@
|
||||||
|
i.86-.*-.* WORDSIZE64 x86_64-@VENDOR@-@OS@
|
||||||
s390x-.*-.* WORDSIZE32 s390-@VENDOR@-@OS@
|
s390x-.*-.* WORDSIZE32 s390-@VENDOR@-@OS@
|
||||||
s390-.*-.* WORDSIZE64 s390x-@VENDOR@-@OS@
|
s390-.*-.* WORDSIZE64 s390x-@VENDOR@-@OS@
|
||||||
powerpc64-.*-.* WORDSIZE32 powerpc-@VENDOR@-@OS@
|
powerpc64-.*-.* WORDSIZE32 powerpc-@VENDOR@-@OS@
|
||||||
|
|
Loading…
Reference in a new issue