gcc4: revert partially 419211519c.

"* LINK_SPEC: Pass "-shared" to the linker only if it was passed to gcc; output
      position-independent executables by default;" is reverted to workaround a
link failure on gcc4 with binutils 2.26: add-ons objects would fail to link
against an executable (being no more a shared object). This is possibly temporary
until the need for executable as shared objects is fully reviewed.
This commit is contained in:
Jérôme Duval 2016-02-28 11:51:22 +01:00
parent b9cfe212c1
commit 661fb7cf18
6 changed files with 8 additions and 31 deletions

View File

@ -75,10 +75,6 @@
/* If ELF is the default format, we should not use /lib/elf. */
#undef LINK_SPEC
#define LINK_SPEC \
"%{!o*:-o %b} -m armelf \
%{shared:-shared;!r:%{fno-pic|fno-PIC|fno-pie|fno-PIE:;:%{!pie:-pie}} \
%{!static:--export-dynamic --allow-shlib-undefined}} %{static:-static} \
%{nostart|shared:-e 0;:--no-undefined} %{mbig-endian:-EB} \
%{mlittle-endian:-EL} -X"
#define LINK_SPEC "%{!o*:-o %b} -m armelf %{!r:-shared} %{nostart:-e 0} %{shared:-e 0} %{!shared: %{!nostart: -no-undefined}}\
%{mbig-endian:-EB} %{mlittle-endian:-EL} -X"

View File

@ -53,11 +53,7 @@ Boston, MA 02111-1307, USA. */
/* If ELF is the default format, we should not use /lib/elf. */
#undef LINK_SPEC
#define LINK_SPEC \
"-m elf_i386_haiku \
%{shared:-shared;!r:%{fno-pic|fno-PIC|fno-pie|fno-PIE:;:%{!pie:-pie}} \
%{!static:--export-dynamic --allow-shlib-undefined}} %{static:-static} \
%{nostart|shared:-e 0;:--no-undefined}"
#define LINK_SPEC "-m elf_i386_haiku %{!r:-shared} %{nostart:-e 0} %{shared:-e 0} %{!shared: %{!nostart: -no-undefined}}"
/* A C statement (sans semicolon) to output to the stdio stream
FILE the assembler definition of uninitialized global DECL named

View File

@ -64,11 +64,8 @@ Boston, MA 02111-1307, USA. */
#endif
#undef LINK_SPEC
#define LINK_SPEC \
"%{" SPEC_64 ":-m elf_x86_64_haiku} %{" SPEC_32 ":-m elf_i386_haiku} \
%{shared:-shared;!r:%{fno-pic|fno-PIC|fno-pie|fno-PIE:;:%{!pie:-pie}} \
%{!static:--export-dynamic --allow-shlib-undefined}} %{static:-static} \
%{nostart|shared:-e 0;:--no-undefined}"
#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64_haiku} %{" SPEC_32 ":-m elf_i386_haiku} \
%{!r:-shared} %{nostart:-e 0} %{shared:-e 0} %{!shared: %{!nostart: -no-undefined}}"
/* A C statement (sans semicolon) to output to the stdio stream
FILE the assembler definition of uninitialized global DECL named

View File

@ -108,11 +108,7 @@ Boston, MA 02110-1301, USA. */
#undef LINK_SPEC
/*#define LINK_SPEC "%{!o*:-o %b} -m elf_m68k_haiku -shared -no-undefined %{nostart:-e 0}"*/
#define LINK_SPEC \
"%{!o*:-o %b} -m m68kelf \
%{shared:-shared;!r:%{fno-pic|fno-PIC|fno-pie|fno-PIE:;:%{!pie:-pie}} \
%{!static:--export-dynamic --allow-shlib-undefined}} %{static:-static} \
--no-undefined %{nostart:-e 0}"
#define LINK_SPEC "%{!o*:-o %b} -m m68kelf %{!r:-shared} -no-undefined %{nostart:-e 0}"
/* XXX: not sure for the rest there... */

View File

@ -40,9 +40,5 @@ Boston, MA 02111-1307, USA. */
while (0)
#undef LINK_SPEC
#define LINK_SPEC \
"%{!o*:-o %b} -m elf_mipsel_haiku \
%{shared:-shared;!r:%{fno-pic|fno-PIC|fno-pie|fno-PIE:;:%{!pie:-pie}} \
%{!static:--export-dynamic --allow-shlib-undefined}} %{static:-static} \
%{nostart:-e 0}"
#define LINK_SPEC "%{!o*:-o %b} -m elf_mipsel_haiku %{!r:-shared} %{nostart:-e 0}"

View File

@ -53,8 +53,4 @@ Boston, MA 02111-1307, USA. */
/* If ELF is the default format, we should not use /lib/elf. */
#undef LINK_SPEC
#define LINK_SPEC \
"%{!o*:-o %b} -m elf32ppchaiku \
%{shared:-shared;!r:%{fno-pic|fno-PIC|fno-pie|fno-PIE:;:%{!pie:-pie}} \
%{!static:--export-dynamic --allow-shlib-undefined}} %{static:-static} \
%{nostart|shared:-e 0;:--no-undefined}"
#define LINK_SPEC "%{!o*:-o %b} -m elf32ppchaiku %{!r:-shared} %{nostart:-e 0} %{shared:-e 0} %{!shared: %{!nostart: -no-undefined}}"