diff options
Diffstat (limited to 'ld/emultempl/xtensaelf.em')
-rw-r--r-- | ld/emultempl/xtensaelf.em | 172 |
1 files changed, 86 insertions, 86 deletions
diff --git a/ld/emultempl/xtensaelf.em b/ld/emultempl/xtensaelf.em index 2b0fa5a..23ce9a3 100644 --- a/ld/emultempl/xtensaelf.em +++ b/ld/emultempl/xtensaelf.em @@ -52,8 +52,8 @@ static void xtensa_strip_inconsistent_linkonce_sections static bfd_vma xtensa_page_power = 12; /* 4K pages. */ /* To force a page break between literals and text, change - xtensa_use_literal_pages to "TRUE". */ -static bfd_boolean xtensa_use_literal_pages = FALSE; + xtensa_use_literal_pages to "true". */ +static bool xtensa_use_literal_pages = false; #define EXTRA_VALIDATION 0 @@ -96,7 +96,7 @@ remove_section (bfd *abfd, asection *os) } -static bfd_boolean +static bool replace_insn_sec_with_prop_sec (bfd *abfd, const char *insn_sec_name, const char *prop_sec_name, @@ -115,14 +115,14 @@ replace_insn_sec_with_prop_sec (bfd *abfd, *error_message = ""; insn_sec = bfd_get_section_by_name (abfd, insn_sec_name); if (insn_sec == NULL) - return TRUE; + return true; entry_count = insn_sec->size / 8; prop_sec = bfd_get_section_by_name (abfd, prop_sec_name); if (prop_sec != NULL && insn_sec != NULL) { *error_message = _("file already has property tables"); - return FALSE; + return false; } if (insn_sec->size != 0) @@ -173,7 +173,7 @@ replace_insn_sec_with_prop_sec (bfd *abfd, elf_section_data (insn_sec)->relocs = NULL; internal_relocs = - _bfd_elf_link_read_relocs (abfd, insn_sec, NULL, NULL, FALSE); + _bfd_elf_link_read_relocs (abfd, insn_sec, NULL, NULL, false); elf_section_data (insn_sec)->relocs = saved_relocs; if (internal_relocs == NULL) @@ -230,7 +230,7 @@ replace_insn_sec_with_prop_sec (bfd *abfd, free (insn_contents); - return TRUE; + return true; cleanup: if (prop_sec && prop_sec->owner) @@ -238,7 +238,7 @@ replace_insn_sec_with_prop_sec (bfd *abfd, free (insn_contents); free (internal_relocs); - return FALSE; + return false; } @@ -312,15 +312,15 @@ elf_xtensa_after_open (void) } -static bfd_boolean +static bool xt_config_info_unpack_and_check (char *data, - bfd_boolean *pmismatch, + bool *pmismatch, char **pmsg) { char *d, *key; int num; - *pmismatch = FALSE; + *pmismatch = false; d = data; while (*d) @@ -359,7 +359,7 @@ xt_config_info_unpack_and_check (char *data, } else if (num != elf32xtensa_abi) { - *pmismatch = TRUE; + *pmismatch = true; *pmsg = "ABI does not match"; } } @@ -367,7 +367,7 @@ xt_config_info_unpack_and_check (char *data, { if (num != XSHAL_USE_ABSOLUTE_LITERALS) { - *pmismatch = TRUE; + *pmismatch = true; *pmsg = "incompatible use of the Extended L32R option"; } } @@ -377,10 +377,10 @@ xt_config_info_unpack_and_check (char *data, goto error; } - return TRUE; + return true; error: - return FALSE; + return false; } @@ -392,7 +392,7 @@ static void check_xtensa_info (bfd *abfd, asection *info_sec) { char *data, *errmsg = ""; - bfd_boolean mismatch; + bool mismatch; data = xmalloc (info_sec->size); if (! bfd_get_section_contents (abfd, info_sec, data, 0, info_sec->size)) @@ -425,7 +425,7 @@ elf_xtensa_before_allocation (void) { asection *info_sec, *first_info_sec; bfd *first_bfd; - bfd_boolean is_big_endian = XCHAL_HAVE_BE; + bool is_big_endian = XCHAL_HAVE_BE; /* Check that the output endianness matches the Xtensa configuration. The BFD library always includes both big and @@ -565,7 +565,7 @@ struct reloc_deps_section_t { reloc_deps_e *preds; reloc_deps_e *succs; - bfd_boolean is_only_literal; + bool is_only_literal; }; @@ -585,16 +585,16 @@ typedef void (*deps_callback_t) (asection *, /* src_sec */ bfd_vma, /* target_offset */ void *); /* closure */ -extern bfd_boolean xtensa_callback_required_dependence +extern bool xtensa_callback_required_dependence (bfd *, asection *, struct bfd_link_info *, deps_callback_t, void *); static void xtensa_ldlang_clear_addresses (lang_statement_union_type *); -static bfd_boolean ld_local_file_relocations_fit +static bool ld_local_file_relocations_fit (lang_statement_union_type *, const reloc_deps_graph *); static bfd_vma ld_assign_relative_paged_dot (bfd_vma, lang_statement_union_type *, const reloc_deps_graph *, - bfd_boolean); + bool); static bfd_vma ld_xtensa_insert_page_offsets - (bfd_vma, lang_statement_union_type *, reloc_deps_graph *, bfd_boolean); + (bfd_vma, lang_statement_union_type *, reloc_deps_graph *, bool); #if EXTRA_VALIDATION static size_t ld_count_children (lang_statement_union_type *); #endif @@ -691,7 +691,7 @@ free_reloc_deps_graph (reloc_deps_graph *deps) } -static bfd_boolean +static bool section_is_source (const reloc_deps_graph *deps ATTRIBUTE_UNUSED, lang_statement_union_type *s) { @@ -699,7 +699,7 @@ section_is_source (const reloc_deps_graph *deps ATTRIBUTE_UNUSED, const reloc_deps_section *sec_deps; if (s->header.type != lang_input_section_enum) - return FALSE; + return false; sec = s->input_section.section; sec_deps = xtensa_get_section_deps (deps, sec); @@ -707,7 +707,7 @@ section_is_source (const reloc_deps_graph *deps ATTRIBUTE_UNUSED, } -static bfd_boolean +static bool section_is_target (const reloc_deps_graph *deps ATTRIBUTE_UNUSED, lang_statement_union_type *s) { @@ -715,7 +715,7 @@ section_is_target (const reloc_deps_graph *deps ATTRIBUTE_UNUSED, const reloc_deps_section *sec_deps; if (s->header.type != lang_input_section_enum) - return FALSE; + return false; sec = s->input_section.section; sec_deps = xtensa_get_section_deps (deps, sec); @@ -723,7 +723,7 @@ section_is_target (const reloc_deps_graph *deps ATTRIBUTE_UNUSED, } -static bfd_boolean +static bool section_is_source_or_target (const reloc_deps_graph *deps ATTRIBUTE_UNUSED, lang_statement_union_type *s) { @@ -802,14 +802,14 @@ ld_xtensa_move_section_after (xtensa_ld_iter *to, xtensa_ld_iter *current) /* Can only be called with lang_statements that have lists. Returns FALSE if the list is empty. */ -static bfd_boolean +static bool iter_stack_empty (xtensa_ld_iter_stack **stack_p) { return *stack_p == NULL; } -static bfd_boolean +static bool iter_stack_push (xtensa_ld_iter_stack **stack_p, lang_statement_union_type *parent) { @@ -829,12 +829,12 @@ iter_stack_push (xtensa_ld_iter_stack **stack_p, break; default: ASSERT (0); - return FALSE; + return false; } /* Empty. do not push. */ if (l->tail == &l->head) - return FALSE; + return false; stack = xmalloc (sizeof (xtensa_ld_iter_stack)); memset (stack, 0, sizeof (xtensa_ld_iter_stack)); @@ -847,7 +847,7 @@ iter_stack_push (xtensa_ld_iter_stack **stack_p, if (*stack_p != NULL) (*stack_p)->prev = stack; *stack_p = stack; - return TRUE; + return true; } @@ -968,7 +968,7 @@ xtensa_colocate_literals (reloc_deps_graph *deps, xtensa_ld_iter current; /* Location we are checking. */ xtensa_ld_iter *current_p = NULL; - bfd_boolean in_literals = FALSE; + bool in_literals = false; if (deps->count == 0) return; @@ -977,7 +977,7 @@ xtensa_colocate_literals (reloc_deps_graph *deps, while (!iter_stack_empty (stack_p)) { - bfd_boolean skip_increment = FALSE; + bool skip_increment = false; lang_statement_union_type *l = iter_stack_current (stack_p); switch (l->header.type) @@ -985,7 +985,7 @@ xtensa_colocate_literals (reloc_deps_graph *deps, case lang_assignment_statement_enum: /* Any assignment statement should block reordering across it. */ front_p = NULL; - in_literals = FALSE; + in_literals = false; break; case lang_input_section_enum: @@ -1001,7 +1001,7 @@ xtensa_colocate_literals (reloc_deps_graph *deps, } else { - bfd_boolean is_target; + bool is_target; current_p = ¤t; iter_stack_copy_current (stack_p, current_p); is_target = (section_is_target (deps, l) @@ -1011,7 +1011,7 @@ xtensa_colocate_literals (reloc_deps_graph *deps, { iter_stack_copy_current (stack_p, front_p); if (!is_target) - in_literals = FALSE; + in_literals = false; } else { @@ -1038,7 +1038,7 @@ xtensa_colocate_literals (reloc_deps_graph *deps, front_p->loc = &(*front_p->loc)->header.next; /* Do not increment the current pointer. */ - skip_increment = TRUE; + skip_increment = true; } } } @@ -1104,7 +1104,7 @@ xtensa_move_dependencies_to_front (reloc_deps_graph *deps, } -static bfd_boolean +static bool deps_has_sec_edge (const reloc_deps_graph *deps, asection *src, asection *tgt) { const reloc_deps_section *sec_deps; @@ -1112,7 +1112,7 @@ deps_has_sec_edge (const reloc_deps_graph *deps, asection *src, asection *tgt) sec_deps = xtensa_get_section_deps (deps, src); if (sec_deps == NULL) - return FALSE; + return false; for (sec_deps_e = sec_deps->succs; sec_deps_e != NULL; @@ -1120,26 +1120,26 @@ deps_has_sec_edge (const reloc_deps_graph *deps, asection *src, asection *tgt) { ASSERT (sec_deps_e->src == src); if (sec_deps_e->tgt == tgt) - return TRUE; + return true; } - return FALSE; + return false; } -static bfd_boolean +static bool deps_has_edge (const reloc_deps_graph *deps, lang_statement_union_type *src, lang_statement_union_type *tgt) { if (!section_is_source (deps, src)) - return FALSE; + return false; if (!section_is_target (deps, tgt)) - return FALSE; + return false; if (src->header.type != lang_input_section_enum) - return FALSE; + return false; if (tgt->header.type != lang_input_section_enum) - return FALSE; + return false; return deps_has_sec_edge (deps, src->input_section.section, tgt->input_section.section); @@ -1275,7 +1275,7 @@ ld_count_children (lang_statement_union_type *s) /* Check if a particular section is included in the link. This will only be true for one instance of a particular linkonce section. */ -static bfd_boolean input_section_found = FALSE; +static bool input_section_found = false; static asection *input_section_target = NULL; static void @@ -1283,13 +1283,13 @@ input_section_linked_worker (lang_statement_union_type *statement) { if ((statement->header.type == lang_input_section_enum && (statement->input_section.section == input_section_target))) - input_section_found = TRUE; + input_section_found = true; } -static bfd_boolean +static bool input_section_linked (asection *sec) { - input_section_found = FALSE; + input_section_found = false; input_section_target = sec; lang_for_each_statement_worker (input_section_linked_worker, stat_ptr->head); return input_section_found; @@ -1306,7 +1306,7 @@ input_section_linked (asection *sec) static int linkonce_len = sizeof (".gnu.linkonce.") - 1; -static bfd_boolean +static bool is_inconsistent_linkonce_section (asection *sec) { bfd *abfd = sec->owner; @@ -1315,7 +1315,7 @@ is_inconsistent_linkonce_section (asection *sec) if ((bfd_section_flags (sec) & SEC_LINK_ONCE) == 0 || strncmp (sec_name, ".gnu.linkonce.", linkonce_len) != 0) - return FALSE; + return false; /* Check if this is an Xtensa property section or an exception table for Tensilica's XCC compiler. */ @@ -1342,12 +1342,12 @@ is_inconsistent_linkonce_section (asection *sec) if (dep_sec == NULL || ! input_section_linked (dep_sec)) { free (dep_sec_name); - return TRUE; + return true; } free (dep_sec_name); } - return FALSE; + return false; } @@ -1428,20 +1428,20 @@ xtensa_wild_group_interleave_callback (lang_statement_union_type *statement) size_t old_child_count; size_t new_child_count; #endif - bfd_boolean no_reorder; + bool no_reorder; w = &statement->wild_statement; - no_reorder = FALSE; + no_reorder = false; /* If it has 0 or 1 section bound, then do not reorder. */ if (w->children.head == NULL || (w->children.head->header.type == lang_input_section_enum && w->children.head->header.next == NULL)) - no_reorder = TRUE; + no_reorder = true; if (w->filenames_sorted) - no_reorder = TRUE; + no_reorder = true; /* Check for sorting in a section list wildcard spec as well. */ if (!no_reorder) @@ -1451,7 +1451,7 @@ xtensa_wild_group_interleave_callback (lang_statement_union_type *statement) { if (l->spec.sorted == by_name) { - no_reorder = TRUE; + no_reorder = true; break; } } @@ -1470,7 +1470,7 @@ xtensa_wild_group_interleave_callback (lang_statement_union_type *statement) && ((strcmp (".init", l->spec.name) == 0) || (strcmp (".fini", l->spec.name) == 0))) { - no_reorder = TRUE; + no_reorder = true; break; } } @@ -1533,9 +1533,9 @@ xtensa_layout_wild (const reloc_deps_graph *deps, lang_wild_statement_type *w) literal_wild.header.next = NULL; literal_wild.header.type = lang_wild_statement_enum; literal_wild.filename = NULL; - literal_wild.filenames_sorted = FALSE; + literal_wild.filenames_sorted = false; literal_wild.section_list = NULL; - literal_wild.keep_sections = FALSE; + literal_wild.keep_sections = false; literal_wild.children.head = NULL; literal_wild.children.tail = &literal_wild.children.head; @@ -1579,7 +1579,7 @@ xtensa_layout_wild (const reloc_deps_graph *deps, lang_wild_statement_type *w) while (literal_wild.children.head != NULL) { lang_statement_union_type *lit = literal_wild.children.head; - bfd_boolean placed = FALSE; + bool placed = false; #if EXTRA_VALIDATION ASSERT (ct2 > 0); @@ -1601,7 +1601,7 @@ xtensa_layout_wild (const reloc_deps_graph *deps, lang_wild_statement_type *w) /* Place it here. */ lit->header.next = *s_p; *s_p = lit; - placed = TRUE; + placed = true; break; } } @@ -1643,7 +1643,7 @@ xtensa_colocate_output_literals_callback (lang_statement_union_type *statement) size_t old_child_count; size_t new_child_count; #endif - bfd_boolean no_reorder = FALSE; + bool no_reorder = false; #if EXTRA_VALIDATION old_child_count = ld_count_children (statement); @@ -1709,7 +1709,7 @@ static bfd_vma ld_assign_relative_paged_dot (bfd_vma dot, lang_statement_union_type *s, const reloc_deps_graph *deps ATTRIBUTE_UNUSED, - bfd_boolean lit_align) + bool lit_align) { /* Walk through all of the input statements in this wild statement assign dot to all of them. */ @@ -1717,8 +1717,8 @@ ld_assign_relative_paged_dot (bfd_vma dot, xtensa_ld_iter_stack *stack = NULL; xtensa_ld_iter_stack **stack_p = &stack; - bfd_boolean first_section = FALSE; - bfd_boolean in_literals = FALSE; + bool first_section = false; + bool in_literals = false; for (iter_stack_create (stack_p, s); !iter_stack_empty (stack_p); @@ -1732,21 +1732,21 @@ ld_assign_relative_paged_dot (bfd_vma dot, { asection *section = l->input_section.section; size_t align_pow = section->alignment_power; - bfd_boolean do_xtensa_alignment = FALSE; + bool do_xtensa_alignment = false; if (lit_align) { - bfd_boolean sec_is_target = section_is_target (deps, l); - bfd_boolean sec_is_source = section_is_source (deps, l); + bool sec_is_target = section_is_target (deps, l); + bool sec_is_source = section_is_source (deps, l); if (section->size != 0 && (first_section || (in_literals && !sec_is_target) || (!in_literals && sec_is_target))) { - do_xtensa_alignment = TRUE; + do_xtensa_alignment = true; } - first_section = FALSE; + first_section = false; if (section->size != 0) in_literals = (sec_is_target && !sec_is_source); } @@ -1773,7 +1773,7 @@ ld_assign_relative_paged_dot (bfd_vma dot, } -static bfd_boolean +static bool ld_local_file_relocations_fit (lang_statement_union_type *statement, const reloc_deps_graph *deps ATTRIBUTE_UNUSED) { @@ -1831,17 +1831,17 @@ ld_local_file_relocations_fit (lang_statement_union_type *statement, fprintf (stderr, "Warning: " "l32r target section before l32r\n"); fflush (stderr); - return FALSE; + return false; } if (l32r_addr - target_addr > 256 * 1024 - align_penalty) - return FALSE; + return false; } } } } - return TRUE; + return true; } @@ -1849,16 +1849,16 @@ static bfd_vma ld_xtensa_insert_page_offsets (bfd_vma dot, lang_statement_union_type *s, reloc_deps_graph *deps, - bfd_boolean lit_align) + bool lit_align) { xtensa_ld_iter_stack *stack = NULL; xtensa_ld_iter_stack **stack_p = &stack; - bfd_boolean first_section = FALSE; - bfd_boolean in_literals = FALSE; + bool first_section = false; + bool in_literals = false; if (!lit_align) - return FALSE; + return false; for (iter_stack_create (stack_p, s); !iter_stack_empty (stack_p); @@ -1871,7 +1871,7 @@ ld_xtensa_insert_page_offsets (bfd_vma dot, case lang_input_section_enum: { asection *section = l->input_section.section; - bfd_boolean do_xtensa_alignment = FALSE; + bool do_xtensa_alignment = false; if (lit_align) { @@ -1880,9 +1880,9 @@ ld_xtensa_insert_page_offsets (bfd_vma dot, || (in_literals && !section_is_target (deps, l)) || (!in_literals && section_is_target (deps, l)))) { - do_xtensa_alignment = TRUE; + do_xtensa_alignment = true; } - first_section = FALSE; + first_section = false; if (section->size != 0) { in_literals = (section_is_target (deps, l) @@ -1897,7 +1897,7 @@ ld_xtensa_insert_page_offsets (bfd_vma dot, etree_type *name_op = exp_nameop (NAME, "."); etree_type *addend_op = exp_intop (1 << xtensa_page_power); etree_type *add_op = exp_binop ('+', name_op, addend_op); - etree_type *assign_op = exp_assign (".", add_op, FALSE); + etree_type *assign_op = exp_assign (".", add_op, false); lang_assignment_statement_type *assign_stmt; lang_statement_union_type *assign_union; |