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>
|
2020-04-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR bootstrap/92008
|
PR bootstrap/92008
|
||||||
|
@ -49,8 +49,9 @@ CFLAGS = @CFLAGS@
|
|||||||
LDFLAGS = @LDFLAGS@
|
LDFLAGS = @LDFLAGS@
|
||||||
LIBS = @LIBS@
|
LIBS = @LIBS@
|
||||||
DEFS = -DHAVE_CONFIG_H
|
DEFS = -DHAVE_CONFIG_H
|
||||||
|
PICFLAG = @PICFLAG@
|
||||||
|
|
||||||
COMPILE = $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(DEFS-$@) $(INCLUDES)
|
COMPILE = $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PICFLAG) $(DEFS) $(DEFS-$@) $(INCLUDES)
|
||||||
|
|
||||||
HEADERS = \
|
HEADERS = \
|
||||||
gmo.h \
|
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/lib-prefix.m4])
|
||||||
m4_include([../config/nls.m4])
|
m4_include([../config/nls.m4])
|
||||||
m4_include([../config/override.m4])
|
m4_include([../config/override.m4])
|
||||||
|
m4_include([../config/picflag.m4])
|
||||||
m4_include([../config/po.m4])
|
m4_include([../config/po.m4])
|
||||||
m4_include([../config/progtest.m4])
|
m4_include([../config/progtest.m4])
|
||||||
m4_include([../config/stdint_h.m4])
|
m4_include([../config/stdint_h.m4])
|
||||||
|
86
intl/configure
vendored
86
intl/configure
vendored
@ -624,6 +624,7 @@ ac_subst_vars='LTLIBOBJS
|
|||||||
LIBOBJS
|
LIBOBJS
|
||||||
BISON3_NO
|
BISON3_NO
|
||||||
BISON3_YES
|
BISON3_YES
|
||||||
|
PICFLAG
|
||||||
INCINTL
|
INCINTL
|
||||||
LIBINTL_DEP
|
LIBINTL_DEP
|
||||||
MAINT
|
MAINT
|
||||||
@ -6793,6 +6794,91 @@ case $USE_INCLUDED_LIBINTL in
|
|||||||
;;
|
;;
|
||||||
esac
|
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_YES='#'
|
||||||
BISON3_NO=
|
BISON3_NO=
|
||||||
if test "$INTLBISON" != :; then
|
if test "$INTLBISON" != :; then
|
||||||
|
@ -47,6 +47,11 @@ case $USE_INCLUDED_LIBINTL in
|
|||||||
;;
|
;;
|
||||||
esac
|
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_YES='#'
|
||||||
BISON3_NO=
|
BISON3_NO=
|
||||||
if test "$INTLBISON" != :; then
|
if test "$INTLBISON" != :; then
|
||||||
|
Loading…
Reference in New Issue
Block a user