diff options
author | Alan Modra <amodra@gmail.com> | 2003-06-28 05:28:54 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2003-06-28 05:28:54 +0000 |
commit | 1579bae1cd094ed9b986d2128997953600ca910d (patch) | |
tree | 17d62b19ecb6002f3c0982a8a13011ce3f83aa8a /ld/ldexp.c | |
parent | b9ae04920ab4f0d0c10fad9dff55c4ca3e2d2251 (diff) | |
download | gdb-1579bae1cd094ed9b986d2128997953600ca910d.zip gdb-1579bae1cd094ed9b986d2128997953600ca910d.tar.gz gdb-1579bae1cd094ed9b986d2128997953600ca910d.tar.bz2 |
Convert to C90
Diffstat (limited to 'ld/ldexp.c')
-rw-r--r-- | ld/ldexp.c | 270 |
1 files changed, 93 insertions, 177 deletions
@@ -41,43 +41,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "libiberty.h" #include "safe-ctype.h" -static void exp_print_token - PARAMS ((token_code_type code, int infix_p)); -static void make_abs - PARAMS ((etree_value_type *ptr)); -static etree_value_type new_abs - PARAMS ((bfd_vma value)); -static void check - PARAMS ((lang_output_section_statement_type *os, const char *name, - const char *op)); -static etree_value_type new_rel - PARAMS ((bfd_vma, char *, lang_output_section_statement_type *section)); -static etree_value_type new_rel_from_section - PARAMS ((bfd_vma value, lang_output_section_statement_type *section)); -static etree_value_type fold_unary - PARAMS ((etree_type *tree, - lang_output_section_statement_type *current_section, - lang_phase_type allocation_done, - bfd_vma dot, bfd_vma *dotp)); -static etree_value_type fold_binary - PARAMS ((etree_type *tree, - lang_output_section_statement_type *current_section, - lang_phase_type allocation_done, - bfd_vma dot, bfd_vma *dotp)); -static etree_value_type fold_trinary - PARAMS ((etree_type *tree, - lang_output_section_statement_type *current_section, - lang_phase_type allocation_done, - bfd_vma dot, bfd_vma *dotp)); -static etree_value_type fold_name - PARAMS ((etree_type *tree, - lang_output_section_statement_type *current_section, - lang_phase_type allocation_done, - bfd_vma dot)); static etree_value_type exp_fold_tree_no_dot - PARAMS ((etree_type *tree, - lang_output_section_statement_type *current_section, - lang_phase_type allocation_done)); + (etree_type *, lang_output_section_statement_type *, lang_phase_type); struct exp_data_seg exp_data_seg; @@ -85,9 +50,7 @@ struct exp_data_seg exp_data_seg; with spaces if INFIX_P is TRUE. */ static void -exp_print_token (code, infix_p) - token_code_type code; - int infix_p; +exp_print_token (token_code_type code, int infix_p) { static const struct { @@ -159,8 +122,7 @@ exp_print_token (code, infix_p) } static void -make_abs (ptr) - etree_value_type *ptr; +make_abs (etree_value_type *ptr) { asection *s = ptr->section->bfd_section; ptr->value += s->vma; @@ -168,8 +130,7 @@ make_abs (ptr) } static etree_value_type -new_abs (value) - bfd_vma value; +new_abs (bfd_vma value) { etree_value_type new; new.valid_p = TRUE; @@ -179,10 +140,9 @@ new_abs (value) } static void -check (os, name, op) - lang_output_section_statement_type *os; - const char *name; - const char *op; +check (lang_output_section_statement_type *os, + const char *name, + const char *op) { if (os == NULL) einfo (_("%F%P: %s uses undefined section %s\n"), op, name); @@ -191,10 +151,9 @@ check (os, name, op) } etree_type * -exp_intop (value) - bfd_vma value; +exp_intop (bfd_vma value) { - etree_type *new = (etree_type *) stat_alloc (sizeof (new->value)); + etree_type *new = stat_alloc (sizeof (new->value)); new->type.node_code = INT; new->value.value = value; new->value.str = NULL; @@ -203,11 +162,9 @@ exp_intop (value) } etree_type * -exp_bigintop (value, str) - bfd_vma value; - char *str; +exp_bigintop (bfd_vma value, char *str) { - etree_type *new = (etree_type *) stat_alloc (sizeof (new->value)); + etree_type *new = stat_alloc (sizeof (new->value)); new->type.node_code = INT; new->value.value = value; new->value.str = str; @@ -218,11 +175,9 @@ exp_bigintop (value, str) /* Build an expression representing an unnamed relocatable value. */ etree_type * -exp_relop (section, value) - asection *section; - bfd_vma value; +exp_relop (asection *section, bfd_vma value) { - etree_type *new = (etree_type *) stat_alloc (sizeof (new->rel)); + etree_type *new = stat_alloc (sizeof (new->rel)); new->type.node_code = REL; new->type.node_class = etree_rel; new->rel.section = section; @@ -231,10 +186,9 @@ exp_relop (section, value) } static etree_value_type -new_rel (value, str, section) - bfd_vma value; - char *str; - lang_output_section_statement_type *section; +new_rel (bfd_vma value, + char *str, + lang_output_section_statement_type *section) { etree_value_type new; new.valid_p = TRUE; @@ -245,9 +199,8 @@ new_rel (value, str, section) } static etree_value_type -new_rel_from_section (value, section) - bfd_vma value; - lang_output_section_statement_type *section; +new_rel_from_section (bfd_vma value, + lang_output_section_statement_type *section) { etree_value_type new; new.valid_p = TRUE; @@ -261,12 +214,11 @@ new_rel_from_section (value, section) } static etree_value_type -fold_unary (tree, current_section, allocation_done, dot, dotp) - etree_type *tree; - lang_output_section_statement_type *current_section; - lang_phase_type allocation_done; - bfd_vma dot; - bfd_vma *dotp; +fold_unary (etree_type *tree, + lang_output_section_statement_type *current_section, + lang_phase_type allocation_done, + bfd_vma dot, + bfd_vma *dotp) { etree_value_type result; @@ -348,12 +300,11 @@ fold_unary (tree, current_section, allocation_done, dot, dotp) } static etree_value_type -fold_binary (tree, current_section, allocation_done, dot, dotp) - etree_type *tree; - lang_output_section_statement_type *current_section; - lang_phase_type allocation_done; - bfd_vma dot; - bfd_vma *dotp; +fold_binary (etree_type *tree, + lang_output_section_statement_type *current_section, + lang_phase_type allocation_done, + bfd_vma dot, + bfd_vma *dotp) { etree_value_type result; @@ -483,12 +434,11 @@ fold_binary (tree, current_section, allocation_done, dot, dotp) } static etree_value_type -fold_trinary (tree, current_section, allocation_done, dot, dotp) - etree_type *tree; - lang_output_section_statement_type *current_section; - lang_phase_type allocation_done; - bfd_vma dot; - bfd_vma *dotp; +fold_trinary (etree_type *tree, + lang_output_section_statement_type *current_section, + lang_phase_type allocation_done, + bfd_vma dot, + bfd_vma *dotp) { etree_value_type result; @@ -505,7 +455,7 @@ fold_trinary (tree, current_section, allocation_done, dot, dotp) } etree_value_type -invalid () +invalid (void) { etree_value_type new; new.valid_p = FALSE; @@ -513,11 +463,10 @@ invalid () } static etree_value_type -fold_name (tree, current_section, allocation_done, dot) - etree_type *tree; - lang_output_section_statement_type *current_section; - lang_phase_type allocation_done; - bfd_vma dot; +fold_name (etree_type *tree, + lang_output_section_statement_type *current_section, + lang_phase_type allocation_done, + bfd_vma dot) { etree_value_type result; @@ -526,8 +475,7 @@ fold_name (tree, current_section, allocation_done, dot) case SIZEOF_HEADERS: if (allocation_done != lang_first_phase_enum) { - result = new_abs ((bfd_vma) - bfd_sizeof_headers (output_bfd, + result = new_abs (bfd_sizeof_headers (output_bfd, link_info.relocatable)); } else @@ -545,7 +493,7 @@ fold_name (tree, current_section, allocation_done, dot) h = bfd_wrapped_link_hash_lookup (output_bfd, &link_info, tree->name.name, FALSE, FALSE, TRUE); - result.value = (h != (struct bfd_link_hash_entry *) NULL + result.value = (h != NULL && (h->type == bfd_link_hash_defined || h->type == bfd_link_hash_defweak || h->type == bfd_link_hash_common)); @@ -661,12 +609,11 @@ fold_name (tree, current_section, allocation_done, dot) } etree_value_type -exp_fold_tree (tree, current_section, allocation_done, dot, dotp) - etree_type *tree; - lang_output_section_statement_type *current_section; - lang_phase_type allocation_done; - bfd_vma dot; - bfd_vma *dotp; +exp_fold_tree (etree_type *tree, + lang_output_section_statement_type *current_section, + lang_phase_type allocation_done, + bfd_vma dot, + bfd_vma *dotp) { etree_value_type result; @@ -774,7 +721,7 @@ exp_fold_tree (tree, current_section, allocation_done, dot, dotp) create = FALSE; h = bfd_link_hash_lookup (link_info.hash, tree->assign.dst, create, FALSE, FALSE); - if (h == (struct bfd_link_hash_entry *) NULL) + if (h == NULL) { if (tree->type.node_class == etree_assign) einfo (_("%P%F:%s: hash creation failed\n"), @@ -814,20 +761,15 @@ exp_fold_tree (tree, current_section, allocation_done, dot, dotp) } static etree_value_type -exp_fold_tree_no_dot (tree, current_section, allocation_done) - etree_type *tree; - lang_output_section_statement_type *current_section; - lang_phase_type allocation_done; +exp_fold_tree_no_dot (etree_type *tree, + lang_output_section_statement_type *current_section, + lang_phase_type allocation_done) { - return exp_fold_tree (tree, current_section, allocation_done, - (bfd_vma) 0, (bfd_vma *) NULL); + return exp_fold_tree (tree, current_section, allocation_done, 0, NULL); } etree_type * -exp_binop (code, lhs, rhs) - int code; - etree_type *lhs; - etree_type *rhs; +exp_binop (int code, etree_type *lhs, etree_type *rhs) { etree_type value, *new; etree_value_type r; @@ -843,17 +785,13 @@ exp_binop (code, lhs, rhs) { return exp_intop (r.value); } - new = (etree_type *) stat_alloc (sizeof (new->binary)); - memcpy ((char *) new, (char *) &value, sizeof (new->binary)); + new = stat_alloc (sizeof (new->binary)); + memcpy (new, &value, sizeof (new->binary)); return new; } etree_type * -exp_trinop (code, cond, lhs, rhs) - int code; - etree_type *cond; - etree_type *lhs; - etree_type *rhs; +exp_trinop (int code, etree_type *cond, etree_type *lhs, etree_type *rhs) { etree_type value, *new; etree_value_type r; @@ -862,21 +800,17 @@ exp_trinop (code, cond, lhs, rhs) value.trinary.cond = cond; value.trinary.rhs = rhs; value.type.node_class = etree_trinary; - r = exp_fold_tree_no_dot (&value, - (lang_output_section_statement_type *) NULL, - lang_first_phase_enum); + r = exp_fold_tree_no_dot (&value, NULL, lang_first_phase_enum); if (r.valid_p) return exp_intop (r.value); - new = (etree_type *) stat_alloc (sizeof (new->trinary)); - memcpy ((char *) new, (char *) &value, sizeof (new->trinary)); + new = stat_alloc (sizeof (new->trinary)); + memcpy (new, &value, sizeof (new->trinary)); return new; } etree_type * -exp_unop (code, child) - int code; - etree_type *child; +exp_unop (int code, etree_type *child) { etree_type value, *new; @@ -889,15 +823,13 @@ exp_unop (code, child) if (r.valid_p) return exp_intop (r.value); - new = (etree_type *) stat_alloc (sizeof (new->unary)); - memcpy ((char *) new, (char *) &value, sizeof (new->unary)); + new = stat_alloc (sizeof (new->unary)); + memcpy (new, &value, sizeof (new->unary)); return new; } etree_type * -exp_nameop (code, name) - int code; - const char *name; +exp_nameop (int code, const char *name) { etree_type value, *new; etree_value_type r; @@ -905,23 +837,18 @@ exp_nameop (code, name) value.name.name = name; value.name.type.node_class = etree_name; - r = exp_fold_tree_no_dot (&value, - (lang_output_section_statement_type *) NULL, - lang_first_phase_enum); + r = exp_fold_tree_no_dot (&value, NULL, lang_first_phase_enum); if (r.valid_p) return exp_intop (r.value); - new = (etree_type *) stat_alloc (sizeof (new->name)); - memcpy ((char *) new, (char *) &value, sizeof (new->name)); + new = stat_alloc (sizeof (new->name)); + memcpy (new, &value, sizeof (new->name)); return new; } etree_type * -exp_assop (code, dst, src) - int code; - const char *dst; - etree_type *src; +exp_assop (int code, const char *dst, etree_type *src) { etree_type value, *new; @@ -935,21 +862,19 @@ exp_assop (code, dst, src) if (exp_fold_tree_no_dot (&value, &result)) return exp_intop (result); #endif - new = (etree_type *) stat_alloc (sizeof (new->assign)); - memcpy ((char *) new, (char *) &value, sizeof (new->assign)); + new = stat_alloc (sizeof (new->assign)); + memcpy (new, &value, sizeof (new->assign)); return new; } /* Handle PROVIDE. */ etree_type * -exp_provide (dst, src) - const char *dst; - etree_type *src; +exp_provide (const char *dst, etree_type *src) { etree_type *n; - n = (etree_type *) stat_alloc (sizeof (n->assign)); + n = stat_alloc (sizeof (n->assign)); n->assign.type.node_code = '='; n->assign.type.node_class = etree_provide; n->assign.src = src; @@ -960,13 +885,11 @@ exp_provide (dst, src) /* Handle ASSERT. */ etree_type * -exp_assert (exp, message) - etree_type *exp; - const char *message; +exp_assert (etree_type *exp, const char *message) { etree_type *n; - n = (etree_type *) stat_alloc (sizeof (n->assert_s)); + n = stat_alloc (sizeof (n->assert_s)); n->assert_s.type.node_code = '!'; n->assert_s.type.node_class = etree_assert; n->assert_s.child = exp; @@ -975,8 +898,7 @@ exp_assert (exp, message) } void -exp_print_tree (tree) - etree_type *tree; +exp_print_tree (etree_type *tree) { if (config.map_file == NULL) config.map_file = stderr; @@ -999,7 +921,7 @@ exp_print_tree (tree) return; case etree_assign: #if 0 - if (tree->assign.dst->sdefs != (asymbol *) NULL) + if (tree->assign.dst->sdefs != NULL) fprintf (config.map_file, "%s (%x) ", tree->assign.dst->name, tree->assign.dst->sdefs->value); else @@ -1067,11 +989,10 @@ exp_print_tree (tree) } bfd_vma -exp_get_vma (tree, def, name, allocation_done) - etree_type *tree; - bfd_vma def; - char *name; - lang_phase_type allocation_done; +exp_get_vma (etree_type *tree, + bfd_vma def, + char *name, + lang_phase_type allocation_done) { etree_value_type r; @@ -1087,21 +1008,19 @@ exp_get_vma (tree, def, name, allocation_done) } int -exp_get_value_int (tree, def, name, allocation_done) - etree_type *tree; - int def; - char *name; - lang_phase_type allocation_done; +exp_get_value_int (etree_type *tree, + int def, + char *name, + lang_phase_type allocation_done) { - return (int) exp_get_vma (tree, (bfd_vma) def, name, allocation_done); + return exp_get_vma (tree, def, name, allocation_done); } fill_type * -exp_get_fill (tree, def, name, allocation_done) - etree_type *tree; - fill_type *def; - char *name; - lang_phase_type allocation_done; +exp_get_fill (etree_type *tree, + fill_type *def, + char *name, + lang_phase_type allocation_done) { fill_type *fill; etree_value_type r; @@ -1119,7 +1038,7 @@ exp_get_fill (tree, def, name, allocation_done) { unsigned char *dst; unsigned char *s; - fill = (fill_type *) xmalloc ((len + 1) / 2 + sizeof (*fill) - 1); + fill = xmalloc ((len + 1) / 2 + sizeof (*fill) - 1); fill->size = (len + 1) / 2; dst = fill->data; s = r.str; @@ -1144,7 +1063,7 @@ exp_get_fill (tree, def, name, allocation_done) } else { - fill = (fill_type *) xmalloc (4 + sizeof (*fill) - 1); + fill = xmalloc (4 + sizeof (*fill) - 1); val = r.value; fill->data[0] = (val >> 24) & 0xff; fill->data[1] = (val >> 16) & 0xff; @@ -1156,11 +1075,10 @@ exp_get_fill (tree, def, name, allocation_done) } bfd_vma -exp_get_abs_int (tree, def, name, allocation_done) - etree_type *tree; - int def ATTRIBUTE_UNUSED; - char *name; - lang_phase_type allocation_done; +exp_get_abs_int (etree_type *tree, + int def ATTRIBUTE_UNUSED, + char *name, + lang_phase_type allocation_done) { etree_value_type res; res = exp_fold_tree_no_dot (tree, abs_output_section, allocation_done); @@ -1173,9 +1091,7 @@ exp_get_abs_int (tree, def, name, allocation_done) return res.value; } -bfd_vma align_n (value, align) - bfd_vma value; - bfd_vma align; +bfd_vma align_n (bfd_vma value, bfd_vma align) { if (align <= 1) return value; |