mmix.h (ENCODE_SECTION_INFO): Pass on new second parameter to mmix_encode_section_info.

* config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
	parameter to mmix_encode_section_info.
	(LINK_SPEC): Don't defsym __.MMIX.start..text if linking
	relocatably.  Always produce ELF, not mmo if linking relocatably.
	* config/mmix/mmix.c (mmix_encode_section_info): If new parameter
	first is non-zero, don't add symbol prefix.
	* config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
	prototype accordingly.

From-SVN: r50298
This commit is contained in:
Hans-Peter Nilsson 2002-03-05 02:16:39 +00:00 committed by Hans-Peter Nilsson
parent 123455433f
commit 4f1aac4266
4 changed files with 22 additions and 8 deletions

View File

@ -1,3 +1,14 @@
2002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
* config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
parameter to mmix_encode_section_info.
(LINK_SPEC): Don't defsym __.MMIX.start..text if linking
relocatably. Always produce ELF, not mmo if linking relocatably.
* config/mmix/mmix.c (mmix_encode_section_info): If new parameter
first is non-zero, don't add symbol prefix.
* config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
prototype accordingly.
2002-03-04 Krister Walfridsson <cato@df.lth.se> 2002-03-04 Krister Walfridsson <cato@df.lth.se>
* config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file. * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.

View File

@ -75,7 +75,7 @@ extern int mmix_local_alignment PARAMS ((tree, int));
extern void mmix_setup_incoming_varargs extern void mmix_setup_incoming_varargs
PARAMS ((CUMULATIVE_ARGS *, enum machine_mode, tree, int *, int)); PARAMS ((CUMULATIVE_ARGS *, enum machine_mode, tree, int *, int));
extern void mmix_select_section PARAMS ((tree, int, int)); extern void mmix_select_section PARAMS ((tree, int, int));
extern void mmix_encode_section_info PARAMS ((tree)); extern void mmix_encode_section_info PARAMS ((tree, int));
extern void mmix_unique_section PARAMS ((tree, int)); extern void mmix_unique_section PARAMS ((tree, int));
extern void mmix_asm_output_pool_prologue extern void mmix_asm_output_pool_prologue
PARAMS ((FILE *, const char *, tree, int)); PARAMS ((FILE *, const char *, tree, int));

View File

@ -1695,15 +1695,16 @@ mmix_select_section (decl, reloc, align)
/* ENCODE_SECTION_INFO. */ /* ENCODE_SECTION_INFO. */
void void
mmix_encode_section_info (decl) mmix_encode_section_info (decl, first)
tree decl; tree decl;
int first;
{ {
/* Test for an external declaration, and do nothing if it is one. */ /* Test for an external declaration, and do nothing if it is one. */
if ((TREE_CODE (decl) == VAR_DECL if ((TREE_CODE (decl) == VAR_DECL
&& (DECL_EXTERNAL (decl) || TREE_PUBLIC (decl))) && (DECL_EXTERNAL (decl) || TREE_PUBLIC (decl)))
|| (TREE_CODE (decl) == FUNCTION_DECL && TREE_PUBLIC (decl))) || (TREE_CODE (decl) == FUNCTION_DECL && TREE_PUBLIC (decl)))
; ;
else if (DECL_P (decl)) else if (first && DECL_P (decl))
{ {
/* For non-visible declarations, add a "@" prefix, which we skip /* For non-visible declarations, add a "@" prefix, which we skip
when the label is output. If the label does not have this when the label is output. If the label does not have this

View File

@ -119,13 +119,15 @@ struct machine_function
/* Pass on -mset-program-start=N and -mset-data-start=M to the linker. /* Pass on -mset-program-start=N and -mset-data-start=M to the linker.
Provide default program start 0x100 unless -mno-set-program-start. Provide default program start 0x100 unless -mno-set-program-start.
Link to ELF if requested. */ Don't do this if linking relocatably, with -r. For a final link,
produce mmo, unless ELF is requested or when linking relocatably. */
#define LINK_SPEC \ #define LINK_SPEC \
"%{mset-program-start=*:--defsym __.MMIX.start..text=%*}\ "%{mset-program-start=*:--defsym __.MMIX.start..text=%*}\
%{mset-data-start=*:--defsym __.MMIX.start..data=%*}\ %{mset-data-start=*:--defsym __.MMIX.start..data=%*}\
%{!mset-program-start=*:\ %{!mset-program-start=*:\
%{!mno-set-program-start:--defsym __.MMIX.start..text=0x100}}\ %{!mno-set-program-start:\
%{!melf:-m mmo}%{melf:-m elf64mmix}" %{!r:--defsym __.MMIX.start..text=0x100}}}\
%{!melf:%{!r:-m mmo}}%{melf|r:-m elf64mmix}"
/* Put unused option values here. */ /* Put unused option values here. */
extern const char *mmix_cc1_ignored_option; extern const char *mmix_cc1_ignored_option;
@ -937,8 +939,8 @@ const_section () \
#define SELECT_SECTION(DECL, RELOC, ALIGN) \ #define SELECT_SECTION(DECL, RELOC, ALIGN) \
mmix_select_section (DECL, RELOC, ALIGN) mmix_select_section (DECL, RELOC, ALIGN)
#define ENCODE_SECTION_INFO(DECL) \ #define ENCODE_SECTION_INFO(DECL, FIRST) \
mmix_encode_section_info (DECL) mmix_encode_section_info (DECL, FIRST)
#define STRIP_NAME_ENCODING(VAR, SYM_NAME) \ #define STRIP_NAME_ENCODING(VAR, SYM_NAME) \
(VAR) = mmix_strip_name_encoding (SYM_NAME) (VAR) = mmix_strip_name_encoding (SYM_NAME)