* ldlang.c: Formatting.

This commit is contained in:
Alan Modra
2006-07-26 00:42:33 +00:00
parent b2f2897591
commit 329c1c8685
2 changed files with 46 additions and 41 deletions

View File

@@ -1,3 +1,7 @@
2006-07-26 Alan Modra <amodra@bigpond.net.au>
* ldlang.c: Formatting.
2006-07-25 Bob Wilson <bob.wilson@acm.org> 2006-07-25 Bob Wilson <bob.wilson@acm.org>
* emultempl/xtensaelf.em (xtensa_strip_inconsistent_linkonce_sections): * emultempl/xtensaelf.em (xtensa_strip_inconsistent_linkonce_sections):

View File

@@ -288,7 +288,7 @@ find_section (lang_input_statement_type *file,
{ {
section_iterator_callback_data cb_data = { NULL, FALSE }; section_iterator_callback_data cb_data = { NULL, FALSE };
bfd_get_section_by_name_if (file->the_bfd, sec->spec.name, bfd_get_section_by_name_if (file->the_bfd, sec->spec.name,
section_iterator_callback, &cb_data); section_iterator_callback, &cb_data);
*multiple_sections_found = cb_data.multiple_sections_found; *multiple_sections_found = cb_data.multiple_sections_found;
return cb_data.found_section; return cb_data.found_section;
@@ -365,35 +365,35 @@ compare_section (sort_type sort, asection *asec, asection *bsec)
return ret; return ret;
} }
/* Build a Binary Search Tree to sort sections, unlike insertion sort /* Build a Binary Search Tree to sort sections, unlike insertion sort
used in wild_sort(). BST is considerably faster if the number of used in wild_sort(). BST is considerably faster if the number of
of sections are large. */ of sections are large. */
static lang_section_bst_type ** static lang_section_bst_type **
wild_sort_fast (lang_wild_statement_type *wild, wild_sort_fast (lang_wild_statement_type *wild,
struct wildcard_list *sec, struct wildcard_list *sec,
lang_input_statement_type *file ATTRIBUTE_UNUSED, lang_input_statement_type *file ATTRIBUTE_UNUSED,
asection *section) asection *section)
{ {
lang_section_bst_type **tree lang_section_bst_type **tree;
= (lang_section_bst_type **) (&(wild->handler_data[1]));
tree = (lang_section_bst_type **) &wild->handler_data[1];
if (!wild->filenames_sorted if (!wild->filenames_sorted
&& (sec == NULL || sec->spec.sorted == none)) && (sec == NULL || sec->spec.sorted == none))
{ {
/* Append at the right end of tree. */ /* Append at the right end of tree. */
while (*tree) while (*tree)
tree = &((*tree)->right); tree = &((*tree)->right);
return tree; return tree;
} }
while (*tree) while (*tree)
{ {
/* Find the correct node to append this section. */ /* Find the correct node to append this section. */
if (compare_section (sec->spec.sorted, section, (*tree)->section) < 0) if (compare_section (sec->spec.sorted, section, (*tree)->section) < 0)
tree = &((*tree)->left); tree = &((*tree)->left);
else else
tree = &((*tree)->right); tree = &((*tree)->right);
} }
return tree; return tree;
@@ -403,10 +403,10 @@ wild_sort_fast (lang_wild_statement_type *wild,
static void static void
output_section_callback_fast (lang_wild_statement_type *ptr, output_section_callback_fast (lang_wild_statement_type *ptr,
struct wildcard_list *sec, struct wildcard_list *sec,
asection *section, asection *section,
lang_input_statement_type *file, lang_input_statement_type *file,
void *output ATTRIBUTE_UNUSED) void *output ATTRIBUTE_UNUSED)
{ {
lang_section_bst_type *node; lang_section_bst_type *node;
lang_section_bst_type **tree; lang_section_bst_type **tree;
@@ -427,15 +427,15 @@ output_section_callback_fast (lang_wild_statement_type *ptr,
/* Convert a sorted sections' BST back to list form. */ /* Convert a sorted sections' BST back to list form. */
static void static void
output_section_callback_tree_to_list (lang_wild_statement_type *ptr, output_section_callback_tree_to_list (lang_wild_statement_type *ptr,
lang_section_bst_type *tree, lang_section_bst_type *tree,
void *output) void *output)
{ {
if (tree->left) if (tree->left)
output_section_callback_tree_to_list (ptr, tree->left, output); output_section_callback_tree_to_list (ptr, tree->left, output);
lang_add_section (& ptr->children, tree->section, lang_add_section (&ptr->children, tree->section,
(lang_output_section_statement_type *) output); (lang_output_section_statement_type *) output);
if (tree->right) if (tree->right)
output_section_callback_tree_to_list (ptr, tree->right, output); output_section_callback_tree_to_list (ptr, tree->right, output);
@@ -1014,7 +1014,7 @@ static struct bfd_hash_table output_section_statement_table;
initialize the table, fill in an entry and remove the table. */ initialize the table, fill in an entry and remove the table. */
static struct bfd_hash_entry * static struct bfd_hash_entry *
output_section_statement_newfunc (struct bfd_hash_entry *entry, output_section_statement_newfunc (struct bfd_hash_entry *entry,
struct bfd_hash_table *table, struct bfd_hash_table *table,
const char *string) const char *string)
{ {
@@ -1578,15 +1578,15 @@ lang_insert_orphan (asection *s,
as = *place->section; as = *place->section;
if (!as) if (!as)
{ {
/* Put the section at the end of the list. */ /* Put the section at the end of the list. */
/* Unlink the section. */ /* Unlink the section. */
bfd_section_list_remove (output_bfd, snew); bfd_section_list_remove (output_bfd, snew);
/* Now tack it back on in the right place. */ /* Now tack it back on in the right place. */
bfd_section_list_append (output_bfd, snew); bfd_section_list_append (output_bfd, snew);
} }
else if (as != snew && as->prev != snew) else if (as != snew && as->prev != snew)
{ {
/* Unlink the section. */ /* Unlink the section. */
@@ -2365,7 +2365,7 @@ add_excluded_libs (const char *list)
entry->name[end - p] = '\0'; entry->name[end - p] = '\0';
excluded_libs = entry; excluded_libs = entry;
if (*end == '\0') if (*end == '\0')
break; break;
p = end + 1; p = end + 1;
} }
} }
@@ -2553,18 +2553,19 @@ wild (lang_wild_statement_type *s,
struct wildcard_list *sec; struct wildcard_list *sec;
if (s->handler_data[0] if (s->handler_data[0]
&& (s->handler_data[0]->spec.sorted == by_name) && s->handler_data[0]->spec.sorted == by_name
&& !s->filenames_sorted) && !s->filenames_sorted)
{ {
lang_section_bst_type *tree;
walk_wild (s, output_section_callback_fast, output); walk_wild (s, output_section_callback_fast, output);
if (s->handler_data[1]) tree = (lang_section_bst_type *) s->handler_data[1];
output_section_callback_tree_to_list (s, if (tree)
(lang_section_bst_type *) s->handler_data[1], output_section_callback_tree_to_list (s, tree, output);
output);
s->handler_data[1] = NULL; s->handler_data[1] = NULL;
} }
else else
walk_wild (s, output_section_callback, output); walk_wild (s, output_section_callback, output);
if (default_common_section == NULL) if (default_common_section == NULL)
@@ -3289,7 +3290,7 @@ map_input_to_output_sections
FAIL (); FAIL ();
break; break;
case lang_address_statement_enum: case lang_address_statement_enum:
/* Mark the specified section with the supplied address. /* Mark the specified section with the supplied address.
If this section was actually a segment marker, then the If this section was actually a segment marker, then the
directive is ignored if the linker script explicitly directive is ignored if the linker script explicitly
@@ -3299,13 +3300,13 @@ map_input_to_output_sections
section directive semantics for backwards compatibilty; section directive semantics for backwards compatibilty;
linker scripts that do not specifically check for linker scripts that do not specifically check for
SEGMENT_START automatically get the old semantics. */ SEGMENT_START automatically get the old semantics. */
if (!s->address_statement.segment if (!s->address_statement.segment
|| !s->address_statement.segment->used) || !s->address_statement.segment->used)
{ {
lang_output_section_statement_type *aos lang_output_section_statement_type *aos
= (lang_output_section_statement_lookup = (lang_output_section_statement_lookup
(s->address_statement.section_name)); (s->address_statement.section_name));
if (aos->bfd_section == NULL) if (aos->bfd_section == NULL)
init_os (aos, NULL); init_os (aos, NULL);
aos->addr_tree = s->address_statement.address; aos->addr_tree = s->address_statement.address;
@@ -3440,7 +3441,7 @@ print_output_section_statement
correct expression, since the value of DST that is used on correct expression, since the value of DST that is used on
the right hand side will be its final value, not its value the right hand side will be its final value, not its value
just before this expression is evaluated. */ just before this expression is evaluated. */
static bfd_boolean static bfd_boolean
scan_for_self_assignment (const char * dst, etree_type * rhs) scan_for_self_assignment (const char * dst, etree_type * rhs)
{ {
@@ -4146,7 +4147,7 @@ lang_check_section_addresses (void)
sections[count] = s; sections[count] = s;
count++; count++;
} }
if (count <= 1) if (count <= 1)
return; return;
@@ -4163,7 +4164,7 @@ lang_check_section_addresses (void)
addresses because overlay sections can have overlapping VMAs addresses because overlay sections can have overlapping VMAs
but they must have distinct LMAs. */ but they must have distinct LMAs. */
os = s; os = s;
os_start = s_start; os_start = s_start;
os_end = s_end; os_end = s_end;
s = *spp++; s = *spp++;
s_start = bfd_section_lma (output_bfd, s); s_start = bfd_section_lma (output_bfd, s);
@@ -5536,7 +5537,7 @@ relax_sections (void)
do do
{ {
relax_again = FALSE; relax_again = FALSE;
/* Note: pe-dll.c does something like this also. If you find /* Note: pe-dll.c does something like this also. If you find
you need to change this code, you probably need to change you need to change this code, you probably need to change