From: Jose E. Marchesi Date: Mon, 5 Oct 2015 15:36:30 +0000 (+0200) Subject: Use -fPIC instead of -fpic when generating PIC code. X-Git-Tag: elfutils-0.164~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=133509fa406e0e8d4d0f0632e2ee8c5e32dcb010;p=thirdparty%2Felfutils.git Use -fPIC instead of -fpic when generating PIC code. This avoids relocation overflows in sparc/sparc64 targets while linking, where the reachable data using -fpic is only 4kb. Signed-off-by: Jose E. Marchesi --- diff --git a/ChangeLog b/ChangeLog index afa5905af..b7e69e091 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-09-24 Jose E. Marchesi + + * configure.ac: Use -fPIC instead of -fpic to avoid relocation + overflows in some platforms. + 2015-07-11 Pino Toscano * .gitignore: Add more generated files, and anchor some of the diff --git a/config/ChangeLog b/config/ChangeLog index 067af115b..1037b0801 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,8 @@ +2015-09-24 Jose E. Marchesi + + * eu.am (%.os): Use -fPIC instead of -fpic to avoid relocation + overflows in some platforms. + 2015-09-22 Mark Wielaard * eu.am (AM_CFLAGS): Add -Wold-style-definition -Wstrict-prototypes. diff --git a/config/eu.am b/config/eu.am index 441b68dde..1368ae533 100644 --- a/config/eu.am +++ b/config/eu.am @@ -55,14 +55,14 @@ endif %.os: %.c %.o if AMDEP - if $(COMPILE.os) -c -o $@ -fpic $(DEFS.os) -MT $@ -MD -MP \ + if $(COMPILE.os) -c -o $@ -fPIC $(DEFS.os) -MT $@ -MD -MP \ -MF "$(DEPDIR)/$*.Tpo" `test -f '$<' || echo '$(srcdir)/'`$<; \ then cat "$(DEPDIR)/$*.Tpo" >> "$(DEPDIR)/$*.Po"; \ rm -f "$(DEPDIR)/$*.Tpo"; \ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ fi else - $(COMPILE.os) -c -o $@ -fpic $(DEFS.os) $< + $(COMPILE.os) -c -o $@ -fPIC $(DEFS.os) $< endif CLEANFILES = *.gcno *.gcda diff --git a/configure.ac b/configure.ac index 9c47a6884..fe2795e36 100644 --- a/configure.ac +++ b/configure.ac @@ -111,7 +111,7 @@ AC_CACHE_CHECK([for __thread support], ac_cv_tls, [dnl # Some old compiler/linker/libc combinations fail some ways and not others. save_CFLAGS="$CFLAGS" save_LDFLAGS="$LDFLAGS" -CFLAGS="-fpic $CFLAGS" +CFLAGS="-fPIC $CFLAGS" LDFLAGS="-shared -Wl,-z,defs,-z,relro $LDFLAGS" AC_LINK_IFELSE([dnl AC_LANG_PROGRAM([[#include diff --git a/lib/ChangeLog b/lib/ChangeLog index d1bdc7bcf..76b5753d7 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,8 @@ +2015-09-24 Jose E. Marchesi + + * Makefile.am (AM_CFLAGS): Use -fPIC instead of -fpic to avoid relocation + overflows in some platforms. + 2015-09-22 Mark Wielaard * dynamicsizehash.c: Remove old-style function definitions. diff --git a/lib/Makefile.am b/lib/Makefile.am index 97f295eb7..2219eaa4e 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -28,7 +28,7 @@ ## not, see . ## include $(top_srcdir)/config/eu.am -AM_CFLAGS += -fpic +AM_CFLAGS += -fPIC AM_CPPFLAGS += -I$(srcdir)/../libelf noinst_LIBRARIES = libeu.a diff --git a/libcpu/ChangeLog b/libcpu/ChangeLog index a20f44071..88ce6616e 100644 --- a/libcpu/ChangeLog +++ b/libcpu/ChangeLog @@ -1,3 +1,8 @@ +2014-10-29 Jose E. Marchesi + + * Makefile.am (AM_CFLAGS): Use -fPIC instead of -fpic to avoid + relocation overflows in some platforms. + 2014-04-13 Mark Wielaard * Makefile.am (i386_gendis_LDADD): Remove libmudflap. diff --git a/libcpu/Makefile.am b/libcpu/Makefile.am index 3beccf349..0aff4742d 100644 --- a/libcpu/Makefile.am +++ b/libcpu/Makefile.am @@ -30,7 +30,7 @@ include $(top_srcdir)/config/eu.am AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libebl \ -I$(srcdir)/../libdw -I$(srcdir)/../libasm -AM_CFLAGS += -fpic -fdollars-in-identifiers +AM_CFLAGS += -fPIC -fdollars-in-identifiers LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS) -P$( + + * Makefile.am (AM_CFLAGS): Use -fPIC instead of -fpic to avoid + relocation overflows in some platforms. + 2015-09-23 Mark Wielaard * dwarf_error.c (__libdw_seterrno): Mark as internal_function. diff --git a/libdw/Makefile.am b/libdw/Makefile.am index 2299b2fab..1264035be 100644 --- a/libdw/Makefile.am +++ b/libdw/Makefile.am @@ -29,7 +29,7 @@ ## include $(top_srcdir)/config/eu.am if BUILD_STATIC -AM_CFLAGS += -fpic +AM_CFLAGS += -fPIC endif AM_CPPFLAGS += -I$(srcdir)/../libelf VERSION = 1 diff --git a/libebl/ChangeLog b/libebl/ChangeLog index 4ea6d4988..d040c08fe 100644 --- a/libebl/ChangeLog +++ b/libebl/ChangeLog @@ -1,3 +1,8 @@ +2015-09-24 Jose E. Marchesi + + * Makefile.am (AM_CFLAGS): Use -fPIC instead of -fpic to avoid + relocation overflows in some platforms. + 2015-09-22 Mark Wielaard * *.c: Remove old-style function definitions. diff --git a/libebl/Makefile.am b/libebl/Makefile.am index ec4477b7b..6b41a3e1c 100644 --- a/libebl/Makefile.am +++ b/libebl/Makefile.am @@ -28,7 +28,7 @@ ## not, see . ## include $(top_srcdir)/config/eu.am -AM_CFLAGS += -fpic +AM_CFLAGS += -fPIC AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libdw -I$(srcdir)/../libasm VERSION = 1 LIBEBL_SUBDIR = @LIBEBL_SUBDIR@