mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-17 13:10:12 +08:00
intl: always picify
libintl is included in several shared libraries (at least libinproctrace.so and libctf.so): unconditionally picify with code borrowed from libiberty configure. (It's not performance-critical, so don't bother making separate PIC and non-PIC libraries like libiberty does.) intl/ChangeLog 2021-02-02 Nick Alcock <nick.alcock@oracle.com> * aclocal.m4: include picflag.m4. * configure.ac (PICFLAG): Add and substitute. * Makefile.in (PICFLAG): New. (COMPILE): Use it. * configure: Regenerate.
This commit is contained in:
parent
adda0248ed
commit
53d4244ec0
@ -1,3 +1,11 @@
|
||||
2021-02-02 Nick Alcock <nick.alcock@oracle.com>
|
||||
|
||||
* aclocal.m4: include picflag.m4.
|
||||
* configure.ac (PICFLAG): Add and substitute.
|
||||
* Makefile.in (PICFLAG): New.
|
||||
(COMPILE): Use it.
|
||||
* configure: Regenerate.
|
||||
|
||||
2020-04-16 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR bootstrap/92008
|
||||
|
@ -49,8 +49,9 @@ CFLAGS = @CFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
DEFS = -DHAVE_CONFIG_H
|
||||
PICFLAG = @PICFLAG@
|
||||
|
||||
COMPILE = $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(DEFS-$@) $(INCLUDES)
|
||||
COMPILE = $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PICFLAG) $(DEFS) $(DEFS-$@) $(INCLUDES)
|
||||
|
||||
HEADERS = \
|
||||
gmo.h \
|
||||
|
1
intl/aclocal.m4
vendored
1
intl/aclocal.m4
vendored
@ -26,6 +26,7 @@ m4_include([../config/lib-link.m4])
|
||||
m4_include([../config/lib-prefix.m4])
|
||||
m4_include([../config/nls.m4])
|
||||
m4_include([../config/override.m4])
|
||||
m4_include([../config/picflag.m4])
|
||||
m4_include([../config/po.m4])
|
||||
m4_include([../config/progtest.m4])
|
||||
m4_include([../config/stdint_h.m4])
|
||||
|
86
intl/configure
vendored
86
intl/configure
vendored
@ -624,6 +624,7 @@ ac_subst_vars='LTLIBOBJS
|
||||
LIBOBJS
|
||||
BISON3_NO
|
||||
BISON3_YES
|
||||
PICFLAG
|
||||
INCINTL
|
||||
LIBINTL_DEP
|
||||
MAINT
|
||||
@ -6793,6 +6794,91 @@ case $USE_INCLUDED_LIBINTL in
|
||||
;;
|
||||
esac
|
||||
|
||||
# intl is sometimes linked into shared libraries even without --enable-shared
|
||||
# (e.g. gdbsupport's inprocess agent): so always PICify, just in case.
|
||||
|
||||
|
||||
|
||||
|
||||
case "${host}" in
|
||||
# PIC is the default on some targets or must not be used.
|
||||
*-*-darwin*)
|
||||
# For darwin, common symbols are not allowed in MH_DYLIB files
|
||||
case "${CFLAGS}" in
|
||||
# If we are using a compiler supporting mdynamic-no-pic
|
||||
# and the option has been tested as safe to add, then cancel
|
||||
# it here, since the code generated is incompatible with shared
|
||||
# libs.
|
||||
*-mdynamic-no-pic*) PICFLAG='-fno-common -mno-dynamic-no-pic' ;;
|
||||
*) PICFLAG=-fno-common ;;
|
||||
esac
|
||||
;;
|
||||
alpha*-dec-osf5*)
|
||||
# PIC is the default.
|
||||
;;
|
||||
hppa*64*-*-hpux*)
|
||||
# PIC is the default for 64-bit PA HP-UX.
|
||||
;;
|
||||
i[34567]86-*-cygwin* | x86_64-*-cygwin*)
|
||||
;;
|
||||
i[34567]86-*-mingw* | x86_64-*-mingw*)
|
||||
;;
|
||||
i[34567]86-*-interix[3-9]*)
|
||||
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
|
||||
# Instead, we relocate shared libraries at runtime.
|
||||
;;
|
||||
i[34567]86-*-nto-qnx*)
|
||||
# QNX uses GNU C++, but need to define -shared option too, otherwise
|
||||
# it will coredump.
|
||||
PICFLAG='-fPIC -shared'
|
||||
;;
|
||||
i[34567]86-pc-msdosdjgpp*)
|
||||
# DJGPP does not support shared libraries at all.
|
||||
;;
|
||||
ia64*-*-hpux*)
|
||||
# On IA64 HP-UX, PIC is the default but the pic flag
|
||||
# sets the default TLS model and affects inlining.
|
||||
PICFLAG=-fPIC
|
||||
;;
|
||||
mips-sgi-irix6*)
|
||||
# PIC is the default.
|
||||
;;
|
||||
rs6000-ibm-aix* | powerpc-ibm-aix*)
|
||||
# All AIX code is PIC.
|
||||
;;
|
||||
|
||||
# Some targets support both -fPIC and -fpic, but prefer the latter.
|
||||
# FIXME: Why?
|
||||
i[34567]86-*-* | x86_64-*-*)
|
||||
PICFLAG=-fpic
|
||||
;;
|
||||
# FIXME: Override -fPIC default in libgcc only?
|
||||
sh-*-linux* | sh[2346lbe]*-*-linux*)
|
||||
PICFLAG=-fpic
|
||||
;;
|
||||
# FIXME: Simplify to sh*-*-netbsd*?
|
||||
sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
|
||||
sh64-*-netbsd* | sh64l*-*-netbsd*)
|
||||
PICFLAG=-fpic
|
||||
;;
|
||||
# Default to -fPIC unless specified otherwise.
|
||||
*)
|
||||
PICFLAG=-fPIC
|
||||
;;
|
||||
esac
|
||||
|
||||
# If the user explicitly uses -fpic/-fPIC, keep that.
|
||||
case "${CFLAGS}" in
|
||||
*-fpic*)
|
||||
PICFLAG=-fpic
|
||||
;;
|
||||
*-fPIC*)
|
||||
PICFLAG=-fPIC
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
|
||||
BISON3_YES='#'
|
||||
BISON3_NO=
|
||||
if test "$INTLBISON" != :; then
|
||||
|
@ -47,6 +47,11 @@ case $USE_INCLUDED_LIBINTL in
|
||||
;;
|
||||
esac
|
||||
|
||||
# intl is sometimes linked into shared libraries even without --enable-shared
|
||||
# (e.g. gdbsupport's inprocess agent): so always PICify, just in case.
|
||||
GCC_PICFLAG
|
||||
AC_SUBST(PICFLAG)
|
||||
|
||||
BISON3_YES='#'
|
||||
BISON3_NO=
|
||||
if test "$INTLBISON" != :; then
|
||||
|
Loading…
Reference in New Issue
Block a user