From f43abd2b3904cba0e8b4ae0d3d0ad94bdb5fad84 Mon Sep 17 00:00:00 2001 From: Thiemo Seufer Date: Mon, 17 Jul 2006 10:40:11 +0000 Subject: [PATCH] * read.c (s_struct): Use IS_ELF. * config/tc-mips.c (md_begin, mips16_mark_labels, mips_ip, md_parse_option, s_change_sec, pic_need_relax, mips_fix_adjustable, tc_gen_reloc, mips_frob_file_after_relocs, s_mips_end, s_mips_frame, s_mips_mask): Likewise. --- gas/ChangeLog | 8 +++++++ gas/config/tc-mips.c | 50 +++++++++++++++++++++----------------------- gas/read.c | 2 +- 3 files changed, 33 insertions(+), 27 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index dc965a347fd..a55f841b8ca 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2006-07-17 Thiemo Seufer + + * read.c (s_struct): Use IS_ELF. + * config/tc-mips.c (md_begin, mips16_mark_labels, mips_ip, + md_parse_option, s_change_sec, pic_need_relax, mips_fix_adjustable, + tc_gen_reloc, mips_frob_file_after_relocs, s_mips_end, s_mips_frame, + s_mips_mask): Likewise. + 2006-07-16 Thiemo Seufer David Ung diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 82c2cd22ed0..abe4630a14d 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -1838,7 +1838,7 @@ md_begin (void) bfd_set_gp_size (stdoutput, g_switch_value); #ifdef OBJ_ELF - if (OUTPUT_FLAVOR == bfd_target_elf_flavour) + if (IS_ELF) { /* On a native system other than VxWorks, sections must be aligned to 16 byte boundaries. When configured for an embedded ELF @@ -1911,7 +1911,7 @@ md_begin (void) SEC_HAS_CONTENTS | SEC_READONLY); (void) bfd_set_section_alignment (stdoutput, sec, 2); } - else if (OUTPUT_FLAVOR == bfd_target_elf_flavour && mips_flag_pdr) + else if (mips_flag_pdr) { pdr_seg = subseg_new (".pdr", (subsegT) 0); (void) bfd_set_section_flags (stdoutput, pdr_seg, @@ -2182,7 +2182,7 @@ mips16_mark_labels (void) symbolS *label = l->label; #if defined(OBJ_ELF) || defined(OBJ_MAYBE_ELF) - if (OUTPUT_FLAVOR == bfd_target_elf_flavour) + if (IS_ELF) S_SET_OTHER (label, STO_MIPS16); #endif if ((S_GET_VALUE (label) & 1) == 0 @@ -9428,15 +9428,14 @@ do_msbd: break; } new_seg = subseg_new (newname, (subsegT) 0); - if (OUTPUT_FLAVOR == bfd_target_elf_flavour) + if (IS_ELF) bfd_set_section_flags (stdoutput, new_seg, (SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_DATA)); frag_align (*args == 'l' ? 2 : 3, 0, 0); - if (OUTPUT_FLAVOR == bfd_target_elf_flavour - && strcmp (TARGET_OS, "elf") != 0) + if (IS_ELF && strcmp (TARGET_OS, "elf") != 0) record_alignment (new_seg, 4); else record_alignment (new_seg, *args == 'l' ? 2 : 3); @@ -11171,7 +11170,7 @@ md_parse_option (int c, char *arg) select SVR4_PIC, and -non_shared to select no PIC. This is intended to be compatible with Irix 5. */ case OPTION_CALL_SHARED: - if (OUTPUT_FLAVOR != bfd_target_elf_flavour) + if (!IS_ELF) { as_bad (_("-call_shared is supported only for ELF format")); return 0; @@ -11181,7 +11180,7 @@ md_parse_option (int c, char *arg) break; case OPTION_NON_SHARED: - if (OUTPUT_FLAVOR != bfd_target_elf_flavour) + if (!IS_ELF) { as_bad (_("-non_shared is supported only for ELF format")); return 0; @@ -11207,7 +11206,7 @@ md_parse_option (int c, char *arg) /* The -32, -n32 and -64 options are shortcuts for -mabi=32, -mabi=n32 and -mabi=64. */ case OPTION_32: - if (OUTPUT_FLAVOR != bfd_target_elf_flavour) + if (!IS_ELF) { as_bad (_("-32 is supported for ELF format only")); return 0; @@ -11216,7 +11215,7 @@ md_parse_option (int c, char *arg) break; case OPTION_N32: - if (OUTPUT_FLAVOR != bfd_target_elf_flavour) + if (!IS_ELF) { as_bad (_("-n32 is supported for ELF format only")); return 0; @@ -11225,13 +11224,13 @@ md_parse_option (int c, char *arg) break; case OPTION_64: - if (OUTPUT_FLAVOR != bfd_target_elf_flavour) + if (!IS_ELF) { as_bad (_("-64 is supported for ELF format only")); return 0; } mips_abi = N64_ABI; - if (! support_64bit_objects()) + if (!support_64bit_objects()) as_fatal (_("No compiled in support for 64 bit object file format")); break; #endif /* OBJ_ELF */ @@ -11254,7 +11253,7 @@ md_parse_option (int c, char *arg) #ifdef OBJ_ELF case OPTION_MABI: - if (OUTPUT_FLAVOR != bfd_target_elf_flavour) + if (!IS_ELF) { as_bad (_("-mabi is supported for ELF format only")); return 0; @@ -12031,7 +12030,8 @@ s_change_sec (int sec) as it would not be appropriate to use it in the section changing functions in read.c, since obj-elf.c intercepts those. FIXME: This should be cleaner, somehow. */ - obj_elf_section_change_hook (); + if (IS_ELF) + obj_elf_section_change_hook (); #endif mips_emit_delays (); @@ -12051,7 +12051,7 @@ s_change_sec (int sec) case 'r': seg = subseg_new (RDATA_SECTION_NAME, (subsegT) get_absolute_expression ()); - if (OUTPUT_FLAVOR == bfd_target_elf_flavour) + if (IS_ELF) { bfd_set_section_flags (stdoutput, seg, (SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_RELOC @@ -12064,7 +12064,7 @@ s_change_sec (int sec) case 's': seg = subseg_new (".sdata", (subsegT) get_absolute_expression ()); - if (OUTPUT_FLAVOR == bfd_target_elf_flavour) + if (IS_ELF) { bfd_set_section_flags (stdoutput, seg, SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_DATA); @@ -12090,7 +12090,7 @@ s_change_section (int ignore ATTRIBUTE_UNUSED) int section_entry_size; int section_alignment; - if (OUTPUT_FLAVOR != bfd_target_elf_flavour) + if (!IS_ELF) return; section_name = input_line_pointer; @@ -13182,8 +13182,7 @@ pic_need_relax (symbolS *sym, asection *segtype) && !s_is_linkonce (sym, segtype) #ifdef OBJ_ELF /* A global or weak symbol is treated as external. */ - && (OUTPUT_FLAVOR != bfd_target_elf_flavour - || (! S_IS_WEAK (sym) && ! S_IS_EXTERNAL (sym))) + && (!IS_ELF || (! S_IS_WEAK (sym) && ! S_IS_EXTERNAL (sym))) #endif ); } @@ -13535,7 +13534,7 @@ mips_fix_adjustable (fixS *fixp) #ifdef OBJ_ELF /* Don't adjust relocations against mips16 symbols, so that the linker can find them if it needs to set up a stub. */ - if (OUTPUT_FLAVOR == bfd_target_elf_flavour + if (IS_ELF && S_GET_OTHER (fixp->fx_addsy) == STO_MIPS16 && fixp->fx_subsy == NULL) return 0; @@ -13567,7 +13566,7 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp) /* At this point, fx_addnumber is "symbol offset - pcrel address". Relocations want only the symbol offset. */ reloc->addend = fixp->fx_addnumber + reloc->address; - if (OUTPUT_FLAVOR != bfd_target_elf_flavour) + if (!IS_ELF) { /* A gruesome hack which is a result of the gruesome gas reloc handling. What's worse, for COFF (as opposed to @@ -14006,7 +14005,7 @@ mips_frob_file_after_relocs (void) asymbol **syms; unsigned int count, i; - if (OUTPUT_FLAVOR != bfd_target_elf_flavour) + if (!IS_ELF) return; syms = bfd_get_outsymbols (stdoutput); @@ -14362,8 +14361,7 @@ s_mips_end (int x ATTRIBUTE_UNUSED) } /* Generate a .pdr section. */ - if (OUTPUT_FLAVOR == bfd_target_elf_flavour && ! ECOFF_DEBUGGING - && mips_flag_pdr) + if (IS_ELF && !ECOFF_DEBUGGING && mips_flag_pdr) { segT saved_seg = now_seg; subsegT saved_subseg = now_subseg; @@ -14457,7 +14455,7 @@ static void s_mips_frame (int ignore ATTRIBUTE_UNUSED) { #ifdef OBJ_ELF - if (OUTPUT_FLAVOR == bfd_target_elf_flavour && ! ECOFF_DEBUGGING) + if (IS_ELF && !ECOFF_DEBUGGING) { long val; @@ -14500,7 +14498,7 @@ static void s_mips_mask (int reg_type) { #ifdef OBJ_ELF - if (OUTPUT_FLAVOR == bfd_target_elf_flavour && ! ECOFF_DEBUGGING) + if (IS_ELF && !ECOFF_DEBUGGING) { long mask, off; diff --git a/gas/read.c b/gas/read.c index da319a1e2be..cb9e72c3b40 100644 --- a/gas/read.c +++ b/gas/read.c @@ -3135,7 +3135,7 @@ s_struct (int ignore ATTRIBUTE_UNUSED) #if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) /* The ELF backend needs to know that we are changing sections, so that .previous works correctly. */ - if (OUTPUT_FLAVOR == bfd_target_elf_flavour) + if (IS_ELF) obj_elf_section_change_hook (); #endif subseg_set (absolute_section, 0); -- 2.30.2