From 133509fa406e0e8d4d0f0632e2ee8c5e32dcb010 Mon Sep 17 00:00:00 2001 From: "Jose E. Marchesi" Date: Mon, 5 Oct 2015 17:36:30 +0200 Subject: [PATCH] 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 --- ChangeLog | 5 +++++ config/ChangeLog | 5 +++++ config/eu.am | 4 ++-- configure.ac | 2 +- lib/ChangeLog | 5 +++++ lib/Makefile.am | 2 +- libcpu/ChangeLog | 5 +++++ libcpu/Makefile.am | 2 +- libdw/ChangeLog | 5 +++++ libdw/Makefile.am | 2 +- libebl/ChangeLog | 5 +++++ libebl/Makefile.am | 2 +- 12 files changed, 37 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index afa5905..b7e69e0 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 067af11..1037b08 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 441b68d..1368ae5 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 9c47a68..fe2795e 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 d1bdc7b..76b5753 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 97f295e..2219eaa 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 a20f440..88ce661 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 3beccf3..0aff474 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 2299b2f..1264035 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 4ea6d49..d040c08 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 ec4477b..6b41a3e 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@ -- 2.7.4