Commit cc8187fc by Michael Meissner

Allow -h*, -z*, -G for linker; map -static/-symbolic/-shared into -B…

Allow -h*, -z*, -G for linker; map -static/-symbolic/-shared into -B switches.;Do not  put .size out for ROSE

From-SVN: r5853
parent a0292f62
...@@ -55,9 +55,14 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -55,9 +55,14 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
%{mrose: %{!noshrlib: %{pic-none: -noshrlib} %{!pic-none: -warn_nopic}} \ %{mrose: %{!noshrlib: %{pic-none: -noshrlib} %{!pic-none: -warn_nopic}} \
%{nostdlib} %{noshrlib} %{glue}} \ %{nostdlib} %{noshrlib} %{glue}} \
%{!mrose: %{dy} %{dn} %{glue: } \ %{!mrose: %{dy} %{dn} %{glue: } \
%{!dy: %{!dn: \ %{h*} %{z*} \
%{static:-dn -Bstatic} \
%{shared:-G -dy} \
%{symbolic:-Bsymbolic -G -dy} \
%{G:-G} \
%{!dy: %{!dn: %{!static: %{!shared: %{!symbolic: \
%{noshrlib: -dn } %{pic-none: -dn } \ %{noshrlib: -dn } %{pic-none: -dn } \
%{!noshrlib: %{!pic-none: -dy}}}}}" %{!noshrlib: %{!pic-none: -dy}}}}}}}}"
#undef TARGET_VERSION_INTERNAL #undef TARGET_VERSION_INTERNAL
#undef TARGET_VERSION #undef TARGET_VERSION
......
...@@ -30,6 +30,24 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -30,6 +30,24 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define WORD_SWITCH_TAKES_ARG(STR) \ #define WORD_SWITCH_TAKES_ARG(STR) \
(DEFAULT_WORD_SWITCH_TAKES_ARG (STR) || !strcmp (STR, "pic-names")) (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) || !strcmp (STR, "pic-names"))
/* This defines which switch letters take arguments. On svr4, most of
the normal cases (defined in gcc.c) apply, and we also have -h* and
-z* options (for the linker). */
#define SWITCH_TAKES_ARG(CHAR) \
( (CHAR) == 'D' \
|| (CHAR) == 'U' \
|| (CHAR) == 'o' \
|| (CHAR) == 'e' \
|| (CHAR) == 'T' \
|| (CHAR) == 'u' \
|| (CHAR) == 'I' \
|| (CHAR) == 'm' \
|| (CHAR) == 'L' \
|| (CHAR) == 'A' \
|| (CHAR) == 'h' \
|| (CHAR) == 'z')
#define MASK_HALF_PIC 0x40000000 /* Mask for half-pic code */ #define MASK_HALF_PIC 0x40000000 /* Mask for half-pic code */
#define MASK_HALF_PIC_DEBUG 0x20000000 /* Debug flag */ #define MASK_HALF_PIC_DEBUG 0x20000000 /* Debug flag */
#define MASK_ELF 0x10000000 /* ELF not rose */ #define MASK_ELF 0x10000000 /* ELF not rose */
...@@ -112,9 +130,14 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -112,9 +130,14 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
%{!melf: %{!noshrlib: %{pic-none: -noshrlib} %{!pic-none: -warn_nopic}} \ %{!melf: %{!noshrlib: %{pic-none: -noshrlib} %{!pic-none: -warn_nopic}} \
%{nostdlib} %{noshrlib} %{glue}} \ %{nostdlib} %{noshrlib} %{glue}} \
%{melf: %{dy} %{dn} %{glue: } \ %{melf: %{dy} %{dn} %{glue: } \
%{!dy: %{!dn: \ %{h*} %{z*} \
%{static:-dn -Bstatic} \
%{shared:-G -dy} \
%{symbolic:-Bsymbolic -G -dy} \
%{G:-G} \
%{!dy: %{!dn: %{!static: %{!shared: %{!symbolic: \
%{noshrlib: -dn } %{pic-none: -dn } \ %{noshrlib: -dn } %{pic-none: -dn } \
%{!noshrlib: %{!pic-none: -dy}}}}}" %{!noshrlib: %{!pic-none: -dy}}}}}}}}"
#undef LIB_SPEC #undef LIB_SPEC
#define LIB_SPEC "-lc" #define LIB_SPEC "-lc"
...@@ -751,7 +774,8 @@ while (0) ...@@ -751,7 +774,8 @@ while (0)
#define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \ #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \
do { \ do { \
char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \ char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \
if (!flag_inhibit_size_directive && DECL_SIZE (DECL) \ if (TARGET_ELF \
&& !flag_inhibit_size_directive && DECL_SIZE (DECL) \
&& ! AT_END && TOP_LEVEL \ && ! AT_END && TOP_LEVEL \
&& DECL_INITIAL (DECL) == error_mark_node \ && DECL_INITIAL (DECL) == error_mark_node \
&& !size_directive_output) \ && !size_directive_output) \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment