diff --git a/gcc/gcc/config/i386/haiku64.h b/gcc/gcc/config/i386/haiku64.h index 55550ab3be..41b331969e 100644 --- a/gcc/gcc/config/i386/haiku64.h +++ b/gcc/gcc/config/i386/haiku64.h @@ -65,7 +65,7 @@ Boston, MA 02111-1307, USA. */ #undef LINK_SPEC #define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386_haiku} \ - -shared %{nostart:-e 0} %{shared:-e 0} %{!shared: %{!nostart: -no-undefined}}" + %{!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 diff --git a/gcc/gcc/config/m68k/haiku.h b/gcc/gcc/config/m68k/haiku.h index 5761140876..358c19f5c2 100644 --- a/gcc/gcc/config/m68k/haiku.h +++ b/gcc/gcc/config/m68k/haiku.h @@ -108,7 +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 -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... */ diff --git a/gcc/gcc/config/rs6000/haiku.h b/gcc/gcc/config/rs6000/haiku.h index 41c950e62b..b5119185aa 100644 --- a/gcc/gcc/config/rs6000/haiku.h +++ b/gcc/gcc/config/rs6000/haiku.h @@ -53,4 +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 elf_ppc_haiku -shared -no-undefined %{nostart:-e 0}" +#define LINK_SPEC "%{!o*:-o %b} -m elf_ppc_haiku %{!r:-shared} -no-undefined %{nostart:-e 0}"