* po/bfd.pot: Updated by the Translation project.

* po/binutils.pot: Updated by the Translation project.
        * po/gold.pot: Updated by the Translation project.
        * po/gold.pot: Updated by the Translation project.
        * po/gprof.pot: Updated by the Translation project.
        * po/sv.po: Updated Swedish translation.
        * po/ld.pot: Updated by the Translation project.
        * po/fi.po: Updated Finnish translation.
        * po/ld.pot: Updated by the Translation project.
        * po/fi.po: Updated Finnish translation.

        Updated sources to compile cleanly with -Wc++-compat:
        * basic_blocks.c: Add casts.
        * cg_dfn.c: Add cast.
        * corefile.c: Add casts.
        * gmon_io.c: Add casts.
        * hist.c: Add cast.
        * source.c: Add cast.
        * sym_ids.c (struct match): Moved to top level.

        Updated soruces in ld/* to compile cleanly with -Wc++-compat:
        * ld.h (enum endian_enum,enum symbolic_enum,enum dynamic_list_enum): Move to top level.
        * ldcref.c: Add casts.
        * ldctor.c: Add casts.
        * ldexp.c
        * ldexp.h (enum node_tree_enum,enum phase_enum): Move to top level.
        * ldlang.c: Add casts. (lang_insert_orphan): Use enum name instead of integer.
        * ldlang.h (enum statement_enum): Move to top level.
        * ldmain.c: Add casts.
        * ldwrite.c: Add casts.
        * lexsup.c: Add casts. (enum control_enum): Move to top level.
        * mri.c: Add casts. (mri_draw_tree): Use enum name instead of integer.

        Updated sources to compile cleanly with -Wc++-compat:
        * basic_blocks.c: Add casts.
        * cg_dfn.c: Add cast.
        * corefile.c: Add casts.
        * gmon_io.c: Add casts.
        * hist.c: Add cast.
        * source.c: Add cast.
        * sym_ids.c (struct match): Moved to top level.

        * as.c (main): Call dwarf2_init.
        * config/obj-elf.c (struct group_list): New field.
        (build_group_lists): Use hash lookup.
        (free_section_idx): New function.
        (elf_frob_file): Adjust.
        * dwarf2dbg.c (all_segs_hash, last_seg_ptr): New variables.
        (get_line_subseg): Adjust.
        (dwarf2_init): New function.
        * dwarf2dbg.h (dwarf2_init): New declaration.
This commit is contained in:
Nick Clifton 2009-09-11 15:27:38 +00:00
parent e23bb3fc84
commit 1e9cc1c27b
57 changed files with 1414 additions and 1021 deletions

View File

@ -1,3 +1,7 @@
2009-09-11 Nick Clifton <nickc@redhat.com>
* po/bfd.pot: Updated by the Translation project.
2009-09-11 Philippe De Muyter <phdm@macqel.be>
* binary.c (binary_object_p): Remove bfd_external_binary_architecture

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2009-09-07 12:07+0200\n"
"POT-Creation-Date: 2009-09-07 14:05+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -367,7 +367,7 @@ msgstr ""
msgid "Relocation `%s' not yet implemented\n"
msgstr ""
#: coff-i860.c:605 coff-tic54x.c:398 coffcode.h:5145
#: coff-i860.c:605 coff-tic54x.c:398 coffcode.h:5143
msgid "%B: warning: illegal symbol index %ld in relocs"
msgstr ""
@ -437,56 +437,56 @@ msgstr ""
msgid "ignoring reloc %s\n"
msgstr ""
#: coffcode.h:962
#: coffcode.h:960
msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'"
msgstr ""
#. Generate a warning message rather using the 'unhandled'
#. variable as this will allow some .sys files generate by
#. other toolchains to be processed. See bugzilla issue 196.
#: coffcode.h:1178
#: coffcode.h:1176
msgid ""
"%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s"
msgstr ""
#: coffcode.h:1242
#: coffcode.h:1240
msgid "%B (%s): Section flag %s (0x%x) ignored"
msgstr ""
#: coffcode.h:2384
#: coffcode.h:2382
#, c-format
msgid "Unrecognized TI COFF target id '0x%x'"
msgstr ""
#: coffcode.h:2698
#: coffcode.h:2696
msgid "%B: reloc against a non-existant symbol index: %ld"
msgstr ""
#: coffcode.h:3671
#: coffcode.h:3669
msgid "%B: section %s: string table overflow at offset %ld"
msgstr ""
#: coffcode.h:4479
#: coffcode.h:4477
msgid "%B: warning: line number table read failed"
msgstr ""
#: coffcode.h:4509
#: coffcode.h:4507
msgid "%B: warning: illegal symbol index %ld in line numbers"
msgstr ""
#: coffcode.h:4523
#: coffcode.h:4521
msgid "%B: warning: duplicate line number information for `%s'"
msgstr ""
#: coffcode.h:4914
#: coffcode.h:4912
msgid "%B: Unrecognized storage class %d for %s symbol `%s'"
msgstr ""
#: coffcode.h:5040
#: coffcode.h:5038
msgid "warning: %B: local symbol `%s' has no section"
msgstr ""
#: coffcode.h:5183
#: coffcode.h:5181
msgid "%B: illegal relocation type %d at address 0x%lx"
msgstr ""

View File

@ -1,3 +1,7 @@
2009-09-11 Nick Clifton <nickc@redhat.com>
* po/binutils.pot: Updated by the Translation project.
2009-09-11 Philippe De Muyter <phdm@macqel.be>
* obcopy.c (copy_object): New parameter `input_arch', architecture

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2009-09-07 12:08+0200\n"
"POT-Creation-Date: 2009-09-07 14:08+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -1,3 +1,56 @@
2009-09-11 Nick Clifton <nickc@redhat.com>
* po/gas.pot: Updated by the Translation project.
2009-09-11 Martin Thuresson <martint@google.com>
* as.c (main): Call dwarf2_init.
* config/obj-elf.c (struct group_list): New field.
(build_group_lists): Use hash lookup.
(free_section_idx): New function.
(elf_frob_file): Adjust.
* dwarf2dbg.c (all_segs_hash, last_seg_ptr): New variables.
(get_line_subseg): Adjust.
(dwarf2_init): New function.
* dwarf2dbg.h (dwarf2_init): New declaration.
2009-09-11 Martin Thuresson <martint@google.com>
Updated sources to compile cleanly with -Wc++-compat:
* app.c: Add casts.
* as.c: Add casts.
* config/obj-elf.c: Add casts.
(obj_elf_type): Rename variable typename to type_name.
* config/tc-i386-intel.c (i386_operators): Rename member operator to op.
* config/tc-i386.c: Add casts.
(check_cpu_arch_compatible): Rename argument new to new_flag.
(gotrel): Update variable to use enum name instead of integer value.
* dw2gencfi.c: Add casts.
(struct cfi_escape_data): Move to top level.
* dwarf2dbg.c: Add cast.
* dwarf2dbg.h (dwarf2_loc_directive_seen): Make variable extern.
* ehopt.c Add casts.
(enum frame_state): Move to top level.
* expr.c (operatorf): Rename function operator to operatorf.
(operand): Rename variable operator to op.
(expr_set_rank): Rename argument operator to op.
* frags.c: Add cast.
* hash.c: Add casts.
* input-scrub.c: Add cast.
* listing.c: Add casts.
(enum edict_enum): Move to top level.
* macro.c: Add casts.
* macro.h (enum formal_type): Move to top level.
* read.c: Add casts.
(s_include): Rename variable try to try_file.
* remap.c: Add cast.
* stabs.c: Add casts.
* subsegs.c: Add casts.
* symbols.c: Add casts.
* write.c: Add casts.
* libiberty/regex.c (byte_re_match_2_internal): Introduce extra scope to avoid
initialization warning from goto.
2009-09-11 Hans-Peter Nilsson <hp@bitrange.com>
PR gas/10623
@ -225,7 +278,7 @@
2009-09-02 Jie Zhang <jie.zhang@analog.com>
From Bernd Schmidt <bernd.schmidt@analog.com>
* config/gas/bfin-parse.y (asm_1): Clean up and unify error handling
* config/bfin-parse.y (asm_1): Clean up and unify error handling
for load and store insns.
(neg_value): Delete function.
@ -427,7 +480,7 @@
Remove.
(mkdep section): Remove.
* Makefile.in: Regenerate.
* gas/po/POTFILES.in, gas/po/gas.pot: Regenerate.
* po/POTFILES.in, po/gas.pot: Regenerate.
* Makefile.am (install-pdf, install-pdf-recursive, install-html)
(install-html-recursive): Remove.
@ -492,7 +545,7 @@
* config/obj-coff.h (obj_coff_seh_do_final): Add new
function prototype.
(obj_coff_generate_pdata): New obj-coff hook.
* gas/write.c (size_seg): Avoid sizing of already sized
* write.c (size_seg): Avoid sizing of already sized
sections.
(write_object_file): Call conditional hook
objc_coff_generate_pdata.
@ -990,28 +1043,28 @@
2009-06-22 Martin Thuresson <martin@mtme.org>
* gas/app, gas/as.c, gas/as.h, gas/atof-generic.c, gas/cgen.c,
gas/config/atof-ieee.c, gas/config/obj-aout.c,
gas/config/obj-coff.c, gas/config/obj-ecoff.c,
gas/config/obj-elf.c, gas/config/obj-som.c, gas/config/tc-alpha.c,
gas/config/tc-arc.c, gas/config/tc-arm.c, gas/config/tc-cr16.c,
gas/config/tc-cris.c, gas/config/tc-crx.c, gas/config/tc-d30v.c,
gas/config/tc-dlx.c, gas/config/tc-hppa.c, gas/config/tc-i370.c,
gas/config/tc-i386-intel.c, gas/config/tc-i386.c,
gas/config/tc-i860.c, gas/config/tc-i960.c, gas/config/tc-ia64.c,
gas/config/tc-iq2000.c, gas/config/tc-m32c.c,
gas/config/tc-m32r.c, gas/config/tc-m68hc11.c,
gas/config/tc-m68k.c, gas/config/tc-maxq.c, gas/config/tc-mcore.c,
gas/config/tc-mep.c, gas/config/tc-mips.c, gas/config/tc-mmix.c,
gas/config/tc-mn10300.c, gas/config/tc-moxie.c,
gas/config/tc-ns32k.c, gas/config/tc-pj.c, gas/config/tc-ppc.c,
gas/config/tc-s390.c, gas/config/tc-score.c,
gas/config/tc-score7.c, gas/config/tc-sh.c, gas/config/tc-sparc.c,
gas/config/tc-spu.c, gas/config/tc-tic30.c, gas/config/tc-vax.c,
gas/config/tc-xtensa.c, gas/config/xtensa-relax.c,
gas/dw2gencfi.c, gas/dwarf2dbg.c, gas/ehopt.c, gas/expr.c,
gas/frags.c, gas/input-file.c, gas/read.c, gas/sb.c,
gas/subsegs.c, gas/symbols.c, gas/write.c: Change the name of the
* app, as.c, as.h, atof-generic.c, cgen.c,
config/atof-ieee.c, config/obj-aout.c,
config/obj-coff.c, config/obj-ecoff.c,
config/obj-elf.c, config/obj-som.c, config/tc-alpha.c,
config/tc-arc.c, config/tc-arm.c, config/tc-cr16.c,
config/tc-cris.c, config/tc-crx.c, config/tc-d30v.c,
config/tc-dlx.c, config/tc-hppa.c, config/tc-i370.c,
config/tc-i386-intel.c, config/tc-i386.c,
config/tc-i860.c, config/tc-i960.c, config/tc-ia64.c,
config/tc-iq2000.c, config/tc-m32c.c,
config/tc-m32r.c, config/tc-m68hc11.c,
config/tc-m68k.c, config/tc-maxq.c, config/tc-mcore.c,
config/tc-mep.c, config/tc-mips.c, config/tc-mmix.c,
config/tc-mn10300.c, config/tc-moxie.c,
config/tc-ns32k.c, config/tc-pj.c, config/tc-ppc.c,
config/tc-s390.c, config/tc-score.c,
config/tc-score7.c, config/tc-sh.c, config/tc-sparc.c,
config/tc-spu.c, config/tc-tic30.c, config/tc-vax.c,
config/tc-xtensa.c, config/xtensa-relax.c,
dw2gencfi.c, dwarf2dbg.c, ehopt.c, expr.c,
frags.c, input-file.c, read.c, sb.c,
subsegs.c, symbols.c, write.c: Change the name of the
gas macro `assert' to `gas_assert'.
2009-06-22 Daniel Gutson <dgutson@codesourcery.com>
@ -1084,7 +1137,7 @@
2009-06-18 Nick Clifton <nickc@redhat.com>
PR 10169
* gas/tc-arm.c (do_t_ssat): Move common code from here...
* tc-arm.c (do_t_ssat): Move common code from here...
(do_t_usat): ... and here to...
(do_t_ssat_usat): New function: ... here. Add code to check that
the shift value, if present, is in range.

View File

@ -258,7 +258,7 @@ app_push (void)
saved->saved_input = NULL;
else
{
saved->saved_input = xmalloc (saved_input_len);
saved->saved_input = (char *) xmalloc (saved_input_len);
memcpy (saved->saved_input, saved_input, saved_input_len);
saved->saved_input_len = saved_input_len;
}

View File

@ -506,7 +506,8 @@ parse_args (int * pargc, char *** pargv)
dependent list. Include space for an extra NULL option and
always NULL terminate. */
shortopts = concat (std_shortopts, md_shortopts, (char *) NULL);
longopts = xmalloc (sizeof (std_longopts) + md_longopts_size + sizeof (struct option));
longopts = (struct option *) xmalloc (sizeof (std_longopts)
+ md_longopts_size + sizeof (struct option));
memcpy (longopts, std_longopts, sizeof (std_longopts));
memcpy (((char *) longopts) + sizeof (std_longopts), md_longopts, md_longopts_size);
memset (((char *) longopts) + sizeof (std_longopts) + md_longopts_size,
@ -517,7 +518,7 @@ parse_args (int * pargc, char *** pargv)
old_argv = *pargv;
/* Initialize a new argv that contains no options. */
new_argv = xmalloc (sizeof (char *) * (old_argc + 1));
new_argv = (char **) xmalloc (sizeof (char *) * (old_argc + 1));
new_argv[0] = old_argv[0];
new_argc = 1;
new_argv[new_argc] = NULL;
@ -646,7 +647,7 @@ This program has absolutely no warranty.\n"));
as_fatal (_("bad defsym; format is --defsym name=value"));
*s++ = '\0';
i = bfd_scan_vma (s, (const char **) NULL, 0);
n = xmalloc (sizeof *n);
n = (struct defsym_list *) xmalloc (sizeof *n);
n->next = defsyms;
n->name = optarg;
n->value = i;
@ -1158,6 +1159,8 @@ main (int argc, char ** argv)
itbl_init ();
dwarf2_init ();
/* Now that we have fully initialized, and have created the output
file, define any symbols requested by --defsym command line
arguments. */

View File

@ -269,7 +269,7 @@ elf_file_symbol (const char *s, int appfile)
if (name_length > strlen (S_GET_NAME (sym)))
{
obstack_grow (&notes, s, name_length + 1);
S_SET_NAME (sym, obstack_finish (&notes));
S_SET_NAME (sym, (const char *) obstack_finish (&notes));
}
else
strcpy ((char *) S_GET_NAME (sym), s);
@ -505,7 +505,7 @@ static struct section_stack *section_stack;
static bfd_boolean
get_section (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, void *inf)
{
const char *gname = inf;
const char *gname = (const char *) inf;
const char *group_name = elf_group_name (sec);
return (group_name == gname
@ -555,7 +555,7 @@ obj_elf_change_section (const char *name,
if (push)
{
struct section_stack *elt;
elt = xmalloc (sizeof (struct section_stack));
elt = (struct section_stack *) xmalloc (sizeof (struct section_stack));
elt->next = section_stack;
elt->seg = now_seg;
elt->prev_seg = previous_section;
@ -885,7 +885,7 @@ obj_elf_section_name (void)
return NULL;
}
name = xmalloc (end - input_line_pointer + 1);
name = (char *) xmalloc (end - input_line_pointer + 1);
memcpy (name, input_line_pointer, end - input_line_pointer);
name[end - input_line_pointer] = '\0';
#ifdef tc_canonicalize_section_name
@ -1441,7 +1441,7 @@ elf_copy_symbol_attributes (symbolS *dest, symbolS *src)
if (srcelf->size)
{
if (destelf->size == NULL)
destelf->size = xmalloc (sizeof (expressionS));
destelf->size = (expressionS *) xmalloc (sizeof (expressionS));
*destelf->size = *srcelf->size;
}
else
@ -1558,7 +1558,8 @@ obj_elf_size (int ignore ATTRIBUTE_UNUSED)
}
else
{
symbol_get_obj (sym)->size = xmalloc (sizeof (expressionS));
symbol_get_obj (sym)->size =
(expressionS *) xmalloc (sizeof (expressionS));
*symbol_get_obj (sym)->size = exp;
}
demand_empty_rest_of_line ();
@ -1609,7 +1610,7 @@ obj_elf_type (int ignore ATTRIBUTE_UNUSED)
char *name;
char c;
int type;
const char *typename;
const char *type_name;
symbolS *sym;
elf_symbol_type *elfsym;
@ -1630,28 +1631,28 @@ obj_elf_type (int ignore ATTRIBUTE_UNUSED)
|| *input_line_pointer == '%')
++input_line_pointer;
typename = obj_elf_type_name (& c);
type_name = obj_elf_type_name (& c);
type = 0;
if (strcmp (typename, "function") == 0
|| strcmp (typename, "2") == 0
|| strcmp (typename, "STT_FUNC") == 0)
if (strcmp (type_name, "function") == 0
|| strcmp (type_name, "2") == 0
|| strcmp (type_name, "STT_FUNC") == 0)
type = BSF_FUNCTION;
else if (strcmp (typename, "object") == 0
|| strcmp (typename, "1") == 0
|| strcmp (typename, "STT_OBJECT") == 0)
else if (strcmp (type_name, "object") == 0
|| strcmp (type_name, "1") == 0
|| strcmp (type_name, "STT_OBJECT") == 0)
type = BSF_OBJECT;
else if (strcmp (typename, "tls_object") == 0
|| strcmp (typename, "6") == 0
|| strcmp (typename, "STT_TLS") == 0)
else if (strcmp (type_name, "tls_object") == 0
|| strcmp (type_name, "6") == 0
|| strcmp (type_name, "STT_TLS") == 0)
type = BSF_OBJECT | BSF_THREAD_LOCAL;
else if (strcmp (typename, "notype") == 0
|| strcmp (typename, "0") == 0
|| strcmp (typename, "STT_NOTYPE") == 0)
else if (strcmp (type_name, "notype") == 0
|| strcmp (type_name, "0") == 0
|| strcmp (type_name, "STT_NOTYPE") == 0)
;
else if (strcmp (typename, "common") == 0
|| strcmp (typename, "5") == 0
|| strcmp (typename, "STT_COMMON") == 0)
else if (strcmp (type_name, "common") == 0
|| strcmp (type_name, "5") == 0
|| strcmp (type_name, "STT_COMMON") == 0)
{
type = BSF_OBJECT;
@ -1677,9 +1678,9 @@ obj_elf_type (int ignore ATTRIBUTE_UNUSED)
}
}
}
else if (strcmp (typename, "gnu_indirect_function") == 0
|| strcmp (typename, "10") == 0
|| strcmp (typename, "STT_GNU_IFUNC") == 0)
else if (strcmp (type_name, "gnu_indirect_function") == 0
|| strcmp (type_name, "10") == 0
|| strcmp (type_name, "STT_GNU_IFUNC") == 0)
{
const struct elf_backend_data *bed;
@ -1688,10 +1689,10 @@ obj_elf_type (int ignore ATTRIBUTE_UNUSED)
/* GNU/Linux is still using the default value 0. */
|| bed->elf_osabi == ELFOSABI_NONE))
as_bad (_("symbol type \"%s\" is supported only by GNU targets"),
typename);
type_name);
type = BSF_FUNCTION | BSF_GNU_INDIRECT_FUNCTION;
}
else if (strcmp (typename, "gnu_unique_object") == 0)
else if (strcmp (type_name, "gnu_unique_object") == 0)
{
struct elf_backend_data *bed;
@ -1700,17 +1701,17 @@ obj_elf_type (int ignore ATTRIBUTE_UNUSED)
/* GNU/Linux is still using the default value 0. */
|| bed->elf_osabi == ELFOSABI_NONE))
as_bad (_("symbol type \"%s\" is supported only by GNU targets"),
typename);
type_name);
type = BSF_OBJECT | BSF_GNU_UNIQUE;
/* PR 10549: Always set OSABI field to LINUX for objects containing unique symbols. */
bed->elf_osabi = ELFOSABI_LINUX;
}
#ifdef md_elf_symbol_type
else if ((type = md_elf_symbol_type (typename, sym, elfsym)) != -1)
else if ((type = md_elf_symbol_type (type_name, sym, elfsym)) != -1)
;
#endif
else
as_bad (_("unrecognized symbol type \"%s\""), typename);
as_bad (_("unrecognized symbol type \"%s\""), type_name);
*input_line_pointer = c;
@ -1774,7 +1775,7 @@ obj_elf_init_stab_section (segT seg)
/* Zero it out. */
memset (p, 0, 12);
as_where (&file, NULL);
stabstr_name = xmalloc (strlen (segment_name (seg)) + 4);
stabstr_name = (char *) xmalloc (strlen (segment_name (seg)) + 4);
strcpy (stabstr_name, segment_name (seg));
strcat (stabstr_name, "str");
stroff = get_stab_string_offset (file, stabstr_name);
@ -1800,7 +1801,7 @@ adjust_stab_sections (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED)
if (!strcmp ("str", sec->name + strlen (sec->name) - 3))
return;
name = alloca (strlen (sec->name) + 4);
name = (char *) alloca (strlen (sec->name) + 4);
strcpy (name, sec->name);
strcat (name, "str");
strsec = bfd_get_section_by_name (abfd, name);
@ -2006,6 +2007,7 @@ struct group_list
asection **head; /* Section lists. */
unsigned int *elt_count; /* Number of sections in each list. */
unsigned int num_group; /* Number of lists. */
struct hash_control *indexes; /* Maps group name to index in head array. */
};
/* Called via bfd_map_over_sections. If SEC is a member of a group,
@ -2016,24 +2018,24 @@ struct group_list
static void
build_group_lists (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, void *inf)
{
struct group_list *list = inf;
struct group_list *list = (struct group_list *) inf;
const char *group_name = elf_group_name (sec);
unsigned int i;
unsigned int *elem_idx;
unsigned int *idx_ptr;
if (group_name == NULL)
return;
/* If this group already has a list, add the section to the head of
the list. */
for (i = 0; i < list->num_group; i++)
elem_idx = (unsigned int *) hash_find (list->indexes, group_name);
if (elem_idx != NULL)
{
if (strcmp (group_name, elf_group_name (list->head[i])) == 0)
{
elf_next_in_group (sec) = list->head[i];
list->head[i] = sec;
list->elt_count[i] += 1;
return;
}
elf_next_in_group (sec) = list->head[*elem_idx];
list->head[*elem_idx] = sec;
list->elt_count[*elem_idx] += 1;
return;
}
/* New group. Make the arrays bigger in chunks to minimize calls to
@ -2042,13 +2044,24 @@ build_group_lists (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, void *inf)
if ((i & 127) == 0)
{
unsigned int newsize = i + 128;
list->head = xrealloc (list->head, newsize * sizeof (*list->head));
list->elt_count = xrealloc (list->elt_count,
newsize * sizeof (*list->elt_count));
list->head = (asection **) xrealloc (list->head,
newsize * sizeof (*list->head));
list->elt_count = (unsigned int *)
xrealloc (list->elt_count, newsize * sizeof (*list->elt_count));
}
list->head[i] = sec;
list->elt_count[i] = 1;
list->num_group += 1;
/* Add index to hash. */
idx_ptr = xmalloc (sizeof (unsigned int));
*idx_ptr = i;
hash_insert (list->indexes, group_name, idx_ptr);
}
static void free_section_idx (const char *key ATTRIBUTE_UNUSED, void *val)
{
free ((unsigned int *) val);
}
void
@ -2063,6 +2076,7 @@ elf_frob_file (void)
list.num_group = 0;
list.head = NULL;
list.elt_count = NULL;
list.indexes = hash_new ();
bfd_map_over_sections (stdoutput, build_group_lists, &list);
/* Make the SHT_GROUP sections that describe each section group. We
@ -2128,6 +2142,10 @@ elf_frob_file (void)
#ifdef elf_tc_final_processing
elf_tc_final_processing ();
#endif
/* Cleanup hash. */
hash_traverse (list.indexes, free_section_idx);
hash_die (list.indexes);
}
/* It removes any unneeded versioned symbols from the symbol table. */

View File

@ -65,7 +65,7 @@ intel_state;
static struct
{
const char *name;
operatorT operator;
operatorT op;
unsigned int operands;
}
const i386_operators[] =
@ -91,7 +91,7 @@ const i386_operators[] =
static struct
{
const char *name;
operatorT operator;
operatorT op;
unsigned short sz[3];
}
const i386_types[] =
@ -158,7 +158,7 @@ operatorT i386_operator (const char *name, unsigned int operands, char *pc)
if (i386_operators[j].operands
&& i386_operators[j].operands != operands)
return O_illegal;
return i386_operators[j].operator;
return i386_operators[j].op;
}
for (j = 0; i386_types[j].name; ++j)
@ -175,7 +175,7 @@ operatorT i386_operator (const char *name, unsigned int operands, char *pc)
*pc = c;
if (intel_syntax > 0 || operands != 1)
return O_illegal;
return i386_types[j].operator;
return i386_types[j].op;
}
*input_line_pointer = c;

View File

@ -1851,7 +1851,7 @@ add_prefix (unsigned int prefix)
static void
set_code_flag (int value)
{
flag_code = value;
flag_code = (enum flag_code) value;
if (flag_code == CODE_64BIT)
{
cpu_arch_flags.bitfield.cpu64 = 1;
@ -1876,7 +1876,7 @@ set_code_flag (int value)
static void
set_16bit_gcc_code_flag (int new_code_flag)
{
flag_code = new_code_flag;
flag_code = (enum flag_code) new_code_flag;
if (flag_code != CODE_16BIT)
abort ();
cpu_arch_flags.bitfield.cpu64 = 0;
@ -1961,7 +1961,7 @@ set_sse_check (int dummy ATTRIBUTE_UNUSED)
static void
check_cpu_arch_compatible (const char *name ATTRIBUTE_UNUSED,
i386_cpu_flags new ATTRIBUTE_UNUSED)
i386_cpu_flags new_flag ATTRIBUTE_UNUSED)
{
#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
static const char *arch;
@ -1981,7 +1981,7 @@ check_cpu_arch_compatible (const char *name ATTRIBUTE_UNUSED,
/* If we are targeting Intel L1OM, we must enable it. */
if (get_elf_backend_data (stdoutput)->elf_machine_code != EM_L1OM
|| new.bitfield.cpul1om)
|| new_flag.bitfield.cpul1om)
return;
as_bad (_("`%s' is not supported on `%s'"), name, arch);
@ -6019,28 +6019,28 @@ lex_got (enum bfd_reloc_code_real *reloc,
const enum bfd_reloc_code_real rel[2];
const i386_operand_type types64;
} gotrel[] = {
{ "PLTOFF", { 0,
{ "PLTOFF", { _dummy_first_bfd_reloc_code_real,
BFD_RELOC_X86_64_PLTOFF64 },
OPERAND_TYPE_IMM64 },
{ "PLT", { BFD_RELOC_386_PLT32,
BFD_RELOC_X86_64_PLT32 },
OPERAND_TYPE_IMM32_32S_DISP32 },
{ "GOTPLT", { 0,
{ "GOTPLT", { _dummy_first_bfd_reloc_code_real,
BFD_RELOC_X86_64_GOTPLT64 },
OPERAND_TYPE_IMM64_DISP64 },
{ "GOTOFF", { BFD_RELOC_386_GOTOFF,
BFD_RELOC_X86_64_GOTOFF64 },
OPERAND_TYPE_IMM64_DISP64 },
{ "GOTPCREL", { 0,
{ "GOTPCREL", { _dummy_first_bfd_reloc_code_real,
BFD_RELOC_X86_64_GOTPCREL },
OPERAND_TYPE_IMM32_32S_DISP32 },
{ "TLSGD", { BFD_RELOC_386_TLS_GD,
BFD_RELOC_X86_64_TLSGD },
OPERAND_TYPE_IMM32_32S_DISP32 },
{ "TLSLDM", { BFD_RELOC_386_TLS_LDM,
0 },
_dummy_first_bfd_reloc_code_real },
OPERAND_TYPE_NONE },
{ "TLSLD", { 0,
{ "TLSLD", { _dummy_first_bfd_reloc_code_real,
BFD_RELOC_X86_64_TLSLD },
OPERAND_TYPE_IMM32_32S_DISP32 },
{ "GOTTPOFF", { BFD_RELOC_386_TLS_IE_32,
@ -6050,17 +6050,17 @@ lex_got (enum bfd_reloc_code_real *reloc,
BFD_RELOC_X86_64_TPOFF32 },
OPERAND_TYPE_IMM32_32S_64_DISP32_64 },
{ "NTPOFF", { BFD_RELOC_386_TLS_LE,
0 },
_dummy_first_bfd_reloc_code_real },
OPERAND_TYPE_NONE },
{ "DTPOFF", { BFD_RELOC_386_TLS_LDO_32,
BFD_RELOC_X86_64_DTPOFF32 },
OPERAND_TYPE_IMM32_32S_64_DISP32_64 },
{ "GOTNTPOFF",{ BFD_RELOC_386_TLS_GOTIE,
0 },
_dummy_first_bfd_reloc_code_real },
OPERAND_TYPE_NONE },
{ "INDNTPOFF",{ BFD_RELOC_386_TLS_IE,
0 },
_dummy_first_bfd_reloc_code_real },
OPERAND_TYPE_NONE },
{ "GOT", { BFD_RELOC_386_GOT32,
BFD_RELOC_X86_64_GOT32 },
@ -6125,7 +6125,7 @@ lex_got (enum bfd_reloc_code_real *reloc,
/* Allocate and copy string. The trailing NUL shouldn't
be necessary, but be safe. */
tmpbuf = xmalloc (first + second + 2);
tmpbuf = (char *) xmalloc (first + second + 2);
memcpy (tmpbuf, input_line_pointer, first);
if (second != 0 && *past_reloc != ' ')
/* Replace the relocation token with ' ', so that
@ -7104,7 +7104,7 @@ md_estimate_size_before_relax (fragP, segment)
int old_fr_fix;
if (fragP->fr_var != NO_RELOC)
reloc_type = fragP->fr_var;
reloc_type = (enum bfd_reloc_code_real) fragP->fr_var;
else if (size == 2)
reloc_type = BFD_RELOC_16_PCREL;
else
@ -7553,7 +7553,7 @@ parse_real_register (char *reg_string, char **end_op)
if (*s == ')')
{
*end_op = s + 1;
r = hash_find (reg_hash, "st(0)");
r = (const reg_entry *) hash_find (reg_hash, "st(0)");
know (r);
return r + fpr;
}

View File

@ -63,6 +63,10 @@
# define DWARF2_ADDR_SIZE(bfd) (bfd_arch_bits_per_address (bfd) / 8)
#endif
struct cfi_escape_data {
struct cfi_escape_data *next;
expressionS exp;
};
struct cfi_insn_data
{
@ -87,10 +91,7 @@ struct cfi_insn_data
symbolS *lab2;
} ll;
struct cfi_escape_data {
struct cfi_escape_data *next;
expressionS exp;
} *esc;
struct cfi_escape_data *esc;
struct {
unsigned reg, encoding;
@ -155,9 +156,11 @@ struct frch_cfi_data
static struct fde_entry *
alloc_fde_entry (void)
{
struct fde_entry *fde = xcalloc (1, sizeof (struct fde_entry));
struct fde_entry *fde = (struct fde_entry *)
xcalloc (1, sizeof (struct fde_entry));
frchain_now->frch_cfi_data = xcalloc (1, sizeof (struct frch_cfi_data));
frchain_now->frch_cfi_data = (struct frch_cfi_data *)
xcalloc (1, sizeof (struct frch_cfi_data));
frchain_now->frch_cfi_data->cur_fde_data = fde;
*last_fde_data = fde;
last_fde_data = &fde->next;
@ -179,7 +182,8 @@ alloc_fde_entry (void)
static struct cfi_insn_data *
alloc_cfi_insn_data (void)
{
struct cfi_insn_data *insn = xcalloc (1, sizeof (struct cfi_insn_data));
struct cfi_insn_data *insn = (struct cfi_insn_data *)
xcalloc (1, sizeof (struct cfi_insn_data));
struct fde_entry *cur_fde_data = frchain_now->frch_cfi_data->cur_fde_data;
*cur_fde_data->last = insn;
@ -353,7 +357,7 @@ cfi_add_CFA_remember_state (void)
cfi_add_CFA_insn (DW_CFA_remember_state);
p = xmalloc (sizeof (*p));
p = (struct cfa_save_data *) xmalloc (sizeof (*p));
p->cfa_offset = frchain_now->frch_cfi_data->cur_cfa_offset;
p->next = frchain_now->frch_cfi_data->cfa_save_stack;
frchain_now->frch_cfi_data->cfa_save_stack = p;
@ -637,7 +641,7 @@ dot_cfi_escape (int ignored ATTRIBUTE_UNUSED)
tail = &head;
do
{
e = xmalloc (sizeof (*e));
e = (struct cfi_escape_data *) xmalloc (sizeof (*e));
do_parse_cons_expression (&e->exp, 1);
*tail = e;
tail = &e->next;
@ -1454,7 +1458,7 @@ select_cie_for_fde (struct fde_entry *fde, struct cfi_insn_data **pfirst)
fail:;
}
cie = xmalloc (sizeof (struct cie_entry));
cie = (struct cie_entry *) xmalloc (sizeof (struct cie_entry));
cie->next = cie_root;
cie_root = cie;
cie->return_column = fde->return_column;

View File

@ -168,6 +168,10 @@ struct line_seg {
/* Collects data for all line table entries during assembly. */
static struct line_seg *all_segs;
/* Hash used to quickly lookup a segment by name, avoiding the need to search
through the all_segs list. */
static struct hash_control *all_segs_hash;
static struct line_seg **last_seg_ptr;
struct file_entry {
const char *filename;
@ -230,23 +234,25 @@ get_line_subseg (segT seg, subsegT subseg)
static subsegT last_subseg;
static struct line_subseg *last_line_subseg;
struct line_seg **ps, *s;
struct line_seg *s;
struct line_subseg **pss, *ss;
if (seg == last_seg && subseg == last_subseg)
return last_line_subseg;
for (ps = &all_segs; (s = *ps) != NULL; ps = &s->next)
if (s->seg == seg)
goto found_seg;
s = (struct line_seg *) hash_find (all_segs_hash, seg->name);
if (s == NULL)
{
s = (struct line_seg *) xmalloc (sizeof (*s));
s->next = NULL;
s->seg = seg;
s->head = NULL;
*last_seg_ptr = s;
last_seg_ptr = &s->next;
hash_insert (all_segs_hash, seg->name, s);
}
gas_assert (seg == s->seg);
s = (struct line_seg *) xmalloc (sizeof (*s));
s->next = NULL;
s->seg = seg;
s->head = NULL;
*ps = s;
found_seg:
for (pss = &s->head; (ss = *pss) != NULL ; pss = &ss->next)
{
if (ss->subseg == subseg)
@ -467,7 +473,7 @@ get_filenum (const char *filename, unsigned int num)
xrealloc (dirs, (dir + 32) * sizeof (const char *));
}
dirs[dir] = xmalloc (dir_len + 1);
dirs[dir] = (char *) xmalloc (dir_len + 1);
memcpy (dirs[dir], filename, dir_len);
dirs[dir][dir_len] = '\0';
dirs_in_use = dir + 1;
@ -1702,6 +1708,14 @@ out_debug_info (segT info_seg, segT abbrev_seg, segT line_seg, segT ranges_seg)
symbol_set_value_now (info_end);
}
void
dwarf2_init (void)
{
all_segs_hash = hash_new ();
last_seg_ptr = &all_segs;
}
/* Finish the dwarf2 debug sections. We emit .debug.line if there
were any .file/.loc directives, or --gdwarf2 was given, or if the
file has a non-empty .debug_info section. If we emit .debug_line,

View File

@ -83,13 +83,15 @@ extern void dwarf2_emit_label (symbolS *);
/* True when we've seen a .loc directive recently. Used to avoid
doing work when there's nothing to do. */
bfd_boolean dwarf2_loc_directive_seen;
extern bfd_boolean dwarf2_loc_directive_seen;
/* True when we're supposed to set the basic block mark whenever a label
is seen. Unless the target is doing Something Weird, just call
dwarf2_emit_label. */
extern bfd_boolean dwarf2_loc_mark_labels;
extern void dwarf2_init (void);
extern void dwarf2_finish (void);
extern int dwarf2dbg_estimate_size_before_relax (fragS *);

View File

@ -227,6 +227,19 @@ get_cie_info (struct cie_info *info)
return 1;
}
enum frame_state
{
state_idle,
state_saw_size,
state_saw_cie_offset,
state_saw_pc_begin,
state_seeing_aug_size,
state_skipping_aug,
state_wait_loc4,
state_saw_loc4,
state_error,
};
/* This function is called from emit_expr. It looks for cases which
we can optimize.
@ -245,18 +258,7 @@ check_eh_frame (expressionS *exp, unsigned int *pnbytes)
{
struct frame_data
{
enum frame_state
{
state_idle,
state_saw_size,
state_saw_cie_offset,
state_saw_pc_begin,
state_seeing_aug_size,
state_skipping_aug,
state_wait_loc4,
state_saw_loc4,
state_error,
} state;
enum frame_state state;
int cie_info_ok;
struct cie_info cie_info;
@ -324,7 +326,7 @@ check_eh_frame (expressionS *exp, unsigned int *pnbytes)
case state_saw_size:
case state_saw_cie_offset:
/* Assume whatever form it appears in, it appears atomically. */
d->state += 1;
d->state = (enum frame_state) (d->state + 1);
break;
case state_saw_pc_begin:

View File

@ -48,7 +48,7 @@ static void mri_char_constant (expressionS *);
static void current_location (expressionS *);
static void clean_up_expression (expressionS * expressionP);
static segT operand (expressionS *, enum expr_mode);
static operatorT operator (int *);
static operatorT operatorf (int *);
extern const char EXP_CHARS[], FLT_CHARS[];
@ -1228,9 +1228,9 @@ operand (expressionS *expressionP, enum expr_mode mode)
#ifdef md_operator
{
operatorT operator = md_operator (name, 1, &c);
operatorT op = md_operator (name, 1, &c);
switch (operator)
switch (op)
{
case O_uminus:
*input_line_pointer = c;
@ -1250,14 +1250,14 @@ operand (expressionS *expressionP, enum expr_mode mode)
default:
break;
}
if (operator != O_absent && operator != O_illegal)
if (op != O_absent && op != O_illegal)
{
*input_line_pointer = c;
expr (9, expressionP, mode);
expressionP->X_add_symbol = make_expr_symbol (expressionP);
expressionP->X_op_symbol = NULL;
expressionP->X_add_number = 0;
expressionP->X_op = operator;
expressionP->X_op = op;
break;
}
}
@ -1546,10 +1546,10 @@ expr_set_precedence (void)
}
void
expr_set_rank (operatorT operator, operator_rankT rank)
expr_set_rank (operatorT op, operator_rankT rank)
{
gas_assert (operator >= O_md1 && operator < ARRAY_SIZE (op_rank));
op_rank[operator] = rank;
gas_assert (op >= O_md1 && op < ARRAY_SIZE (op_rank));
op_rank[op] = rank;
}
/* Initialize the expression parser. */
@ -1572,7 +1572,7 @@ expr_begin (void)
Does not advance INPUT_LINE_POINTER. */
static inline operatorT
operator (int *num_chars)
operatorf (int *num_chars)
{
int c;
operatorT ret;
@ -1732,7 +1732,7 @@ expr (int rankarg, /* Larger # is higher rank. */
/* operand () gobbles spaces. */
know (*input_line_pointer != ' ');
op_left = operator (&op_chars);
op_left = operatorf (&op_chars);
while (op_left != O_illegal && op_rank[(int) op_left] > rank)
{
segT rightseg;
@ -1763,7 +1763,7 @@ expr (int rankarg, /* Larger # is higher rank. */
}
}
op_right = operator (&op_chars);
op_right = operatorf (&op_chars);
know (op_right == O_illegal || op_left == O_index
|| op_rank[(int) op_right] <= op_rank[(int) op_left]);

View File

@ -69,7 +69,7 @@ frag_alloc (struct obstack *ob)
(void) obstack_alloc (ob, 0);
oalign = obstack_alignment_mask (ob);
obstack_alignment_mask (ob) = 0;
ptr = obstack_alloc (ob, SIZEOF_STRUCT_FRAG);
ptr = (fragS *) obstack_alloc (ob, SIZEOF_STRUCT_FRAG);
obstack_alignment_mask (ob) = oalign;
memset (ptr, 0, SIZEOF_STRUCT_FRAG);
return ptr;

View File

@ -113,10 +113,10 @@ hash_new (void)
size = get_gas_hash_table_size ();
ret = xmalloc (sizeof *ret);
ret = (struct hash_control *) xmalloc (sizeof *ret);
obstack_begin (&ret->memory, chunksize);
alloc = size * sizeof (struct hash_entry *);
ret->table = obstack_alloc (&ret->memory, alloc);
ret->table = (struct hash_entry **) obstack_alloc (&ret->memory, alloc);
memset (ret->table, 0, alloc);
ret->size = size;
@ -237,7 +237,7 @@ hash_insert (struct hash_control *table, const char *key, void *value)
++table->insertions;
#endif
p = obstack_alloc (&table->memory, sizeof (*p));
p = (struct hash_entry *) obstack_alloc (&table->memory, sizeof (*p));
p->string = key;
p->hash = hash;
p->data = value;
@ -274,7 +274,7 @@ hash_jam (struct hash_control *table, const char *key, void *value)
++table->insertions;
#endif
p = obstack_alloc (&table->memory, sizeof (*p));
p = (struct hash_entry *) obstack_alloc (&table->memory, sizeof (*p));
p->string = key;
p->hash = hash;
p->data = value;

View File

@ -165,7 +165,8 @@ input_scrub_push (char *saved_position)
buffer_length = input_file_buffer_size ();
sb_index = -1;
buffer_start = xmalloc ((BEFORE_SIZE + buffer_length + buffer_length + AFTER_SIZE));
buffer_start = (char *) xmalloc ((BEFORE_SIZE + buffer_length
+ buffer_length + AFTER_SIZE));
memcpy (buffer_start, BEFORE_STRING, (int) BEFORE_SIZE);
return saved;
@ -209,7 +210,8 @@ input_scrub_begin (void)
buffer_length = input_file_buffer_size ();
buffer_start = xmalloc ((BEFORE_SIZE + buffer_length + buffer_length + AFTER_SIZE));
buffer_start = (char *) xmalloc ((BEFORE_SIZE + buffer_length
+ buffer_length + AFTER_SIZE));
memcpy (buffer_start, BEFORE_STRING, (int) BEFORE_SIZE);
/* Line number things. */
@ -363,10 +365,10 @@ input_scrub_next_buffer (char **bufp)
limoff = limit - buffer_start;
buffer_length += input_file_buffer_size ();
buffer_start = xrealloc (buffer_start,
(BEFORE_SIZE
+ 2 * buffer_length
+ AFTER_SIZE));
buffer_start = (char *) xrealloc (buffer_start,
(BEFORE_SIZE
+ 2 * buffer_length
+ AFTER_SIZE));
*bufp = buffer_start + BEFORE_SIZE;
limit = input_file_give_next_buffer (buffer_start + limoff);

View File

@ -130,6 +130,18 @@ typedef struct file_info_struct
int at_end;
} file_info_type;
enum edict_enum
{
EDICT_NONE,
EDICT_SBTTL,
EDICT_TITLE,
EDICT_NOLIST,
EDICT_LIST,
EDICT_NOLIST_NEXT,
EDICT_EJECT
};
/* This structure remembers which line from which file goes into which
frag. */
struct list_info_struct
@ -160,16 +172,7 @@ struct list_info_struct
/* Pointer to any error message associated with this line. */
char *message;
enum
{
EDICT_NONE,
EDICT_SBTTL,
EDICT_TITLE,
EDICT_NOLIST,
EDICT_LIST,
EDICT_NOLIST_NEXT,
EDICT_EJECT
} edict;
enum edict_enum edict;
char *edict_arg;
/* Nonzero if this line is to be omitted because it contains
@ -260,7 +263,7 @@ file_info (const char *file_name)
}
/* Make new entry. */
p = xmalloc (sizeof (file_info_type));
p = (file_info_type *) xmalloc (sizeof (file_info_type));
p->next = file_info_head;
file_info_head = p;
p->filename = xstrdup (file_name);
@ -352,7 +355,7 @@ listing_newline (char *ps)
len = (copy - input_line_pointer) + 2;
copy = xmalloc (len);
copy = (char *) xmalloc (len);
if (copy != NULL)
{
@ -1147,8 +1150,8 @@ listing_listing (char *name ATTRIBUTE_UNUSED)
int show_listing = 1;
unsigned int width;
buffer = xmalloc (listing_rhs_width);
data_buffer = xmalloc (MAX_BYTES);
buffer = (char *) xmalloc (listing_rhs_width);
data_buffer = (char *) xmalloc (MAX_BYTES);
eject = 1;
list = head->next;
@ -1509,7 +1512,7 @@ listing_title (int depth)
if (listing)
{
length = input_line_pointer - start;
ttl = xmalloc (length + 1);
ttl = (char *) xmalloc (length + 1);
memcpy (ttl, start, length);
ttl[length] = 0;
listing_tail->edict = depth ? EDICT_SBTTL : EDICT_TITLE;

View File

@ -393,7 +393,7 @@ get_any_string (int idx, sb *in, sb *out)
}
else
{
char *br_buf = xmalloc(1);
char *br_buf = (char *) xmalloc(1);
char *in_br = br_buf;
*in_br = '\0';
@ -424,7 +424,7 @@ get_any_string (int idx, sb *in, sb *out)
--in_br;
else
{
br_buf = xmalloc(strlen(in_br) + 2);
br_buf = (char *) xmalloc(strlen(in_br) + 2);
strcpy(br_buf + 1, in_br);
free(in_br);
in_br = br_buf;
@ -457,7 +457,7 @@ new_formal (void)
{
formal_entry *formal;
formal = xmalloc (sizeof (formal_entry));
formal = (formal_entry *) xmalloc (sizeof (formal_entry));
sb_new (&formal->name);
sb_new (&formal->def);
@ -1273,7 +1273,7 @@ delete_macro (const char *name)
/* We can only ask hash_delete to free memory if we are deleting
macros in reverse order to their definition.
So just clear out the entry. */
if ((macro = hash_find (macro_hash, copy)) != NULL)
if ((macro = (macro_entry *) hash_find (macro_hash, copy)) != NULL)
{
hash_jam (macro_hash, copy, NULL);
free_macro (macro);

View File

@ -34,6 +34,13 @@
name and its default value. Each time the macro is expanded, the
formals get the actual values attached to them. */
enum formal_type
{
FORMAL_OPTIONAL,
FORMAL_REQUIRED,
FORMAL_VARARG
};
/* Describe the formal arguments to a macro. */
typedef struct formal_struct {
@ -42,12 +49,7 @@ typedef struct formal_struct {
sb def; /* The default value. */
sb actual; /* The actual argument (changed on each expansion). */
int index; /* The index of the formal 0..formal_count - 1. */
enum formal_type
{
FORMAL_OPTIONAL,
FORMAL_REQUIRED,
FORMAL_VARARG
} type; /* The kind of the formal. */
enum formal_type type; /* The kind of the formal. */
} formal_entry;
/* Other values found in the index field of a formal_entry. */

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2009-09-07 12:09+0200\n"
"POT-Creation-Date: 2009-09-07 14:09+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -1034,7 +1034,7 @@ read_a_source_file (char *name)
that goes with this #APP There is one. The specs
guarantee it... */
tmp_len = buffer_limit - s;
tmp_buf = xmalloc (tmp_len + 1);
tmp_buf = (char *) xmalloc (tmp_len + 1);
memcpy (tmp_buf, s, tmp_len);
do
{
@ -1050,7 +1050,7 @@ read_a_source_file (char *name)
else
num = buffer_limit - buffer;
tmp_buf = xrealloc (tmp_buf, tmp_len + num);
tmp_buf = (char *) xrealloc (tmp_buf, tmp_len + num);
memcpy (tmp_buf + tmp_len, buffer, num);
tmp_len += num;
}
@ -1087,7 +1087,7 @@ read_a_source_file (char *name)
break;
}
new_buf = xrealloc (new_buf, new_length + 100);
new_buf = (char *) xrealloc (new_buf, new_length + 100);
new_tmp = new_buf + new_length;
new_length += 100;
}
@ -2097,7 +2097,7 @@ s_vendor_attribute (int vendor)
if (i == 0)
goto bad;
name = alloca (i + 1);
name = (char *) alloca (i + 1);
memcpy (name, s, i);
name[i] = '\0';
@ -3857,7 +3857,7 @@ s_reloc (int ignore ATTRIBUTE_UNUSED)
int c;
struct reloc_list *reloc;
reloc = xmalloc (sizeof (*reloc));
reloc = (struct reloc_list *) xmalloc (sizeof (*reloc));
if (flag_mri)
stop = mri_comment_field (&stopc);
@ -5407,7 +5407,7 @@ demand_copy_string (int *lenP)
/* JF this next line is so demand_copy_C_string will return a
null terminated string. */
obstack_1grow (&notes, '\0');
retval = obstack_finish (&notes);
retval = (char *) obstack_finish (&notes);
}
else
{
@ -5516,7 +5516,7 @@ s_incbin (int x ATTRIBUTE_UNUSED)
{
int i;
path = xmalloc ((unsigned long) len + include_dir_maxlen + 5);
path = (char *) xmalloc ((unsigned long) len + include_dir_maxlen + 5);
for (i = 0; i < include_dir_count; i++)
{
@ -5586,7 +5586,7 @@ s_include (int arg ATTRIBUTE_UNUSED)
{
char *filename;
int i;
FILE *try;
FILE *try_file;
char *path;
if (!flag_m68k_mri)
@ -5613,22 +5613,23 @@ s_include (int arg ATTRIBUTE_UNUSED)
}
obstack_1grow (&notes, '\0');
filename = obstack_finish (&notes);
filename = (char *) obstack_finish (&notes);
while (!is_end_of_line[(unsigned char) *input_line_pointer])
++input_line_pointer;
}
demand_empty_rest_of_line ();
path = xmalloc ((unsigned long) i + include_dir_maxlen + 5 /* slop */ );
path = (char *) xmalloc ((unsigned long) i
+ include_dir_maxlen + 5 /* slop */ );
for (i = 0; i < include_dir_count; i++)
{
strcpy (path, include_dirs[i]);
strcat (path, "/");
strcat (path, filename);
if (0 != (try = fopen (path, FOPEN_RT)))
if (0 != (try_file = fopen (path, FOPEN_RT)))
{
fclose (try);
fclose (try_file);
goto gotit;
}
}

View File

@ -52,7 +52,7 @@ add_debug_prefix_map (const char *arg)
as_fatal (_("invalid argument '%s' to -fdebug-prefix-map"), arg);
return;
}
map = xmalloc (sizeof (debug_prefix_map));
map = (struct debug_prefix_map *) xmalloc (sizeof (debug_prefix_map));
o = xstrdup (arg);
map->old_prefix = o;
map->old_len = p - arg;

View File

@ -498,7 +498,7 @@ stabs_generate_asm_file (void)
char *dir2;
dir = remap_debug_filename (getpwd ());
dir2 = alloca (strlen (dir) + 2);
dir2 = (char *) alloca (strlen (dir) + 2);
sprintf (dir2, "%s%s", dir, "/");
generate_asm_file (N_SO, dir2);
}
@ -536,7 +536,7 @@ generate_asm_file (int type, char *file)
/* Allocate enough space for the file name (possibly extended with
doubled up backslashes), the symbol name, and the other characters
that make up a stabs file directive. */
bufp = buf = xmalloc (2 * strlen (file) + strlen (sym) + 12);
bufp = buf = (char *) xmalloc (2 * strlen (file) + strlen (sym) + 12);
*bufp++ = '"';

View File

@ -65,7 +65,7 @@ subseg_change (register segT seg, register int subseg)
if (! seginfo)
{
seginfo = xcalloc (1, sizeof (*seginfo));
seginfo = (segment_info_type *) xcalloc (1, sizeof (*seginfo));
seginfo->bfd_section = seg;
bfd_set_section_userdata (stdoutput, seg, seginfo);
}
@ -103,7 +103,7 @@ subseg_set_rest (segT seg, subsegT subseg)
{
/* This should be the only code that creates a frchainS. */
newP = obstack_alloc (&frchains, sizeof (frchainS));
newP = (frchainS *) obstack_alloc (&frchains, sizeof (frchainS));
newP->frch_subseg = subseg;
newP->fix_root = NULL;
newP->fix_tail = NULL;
@ -167,7 +167,7 @@ subseg_get (const char *segname, int force_new)
if (! seginfo)
{
secptr->output_section = secptr;
seginfo = xcalloc (1, sizeof (*seginfo));
seginfo = (segment_info_type *) xcalloc (1, sizeof (*seginfo));
seginfo->bfd_section = secptr;
bfd_set_section_userdata (stdoutput, secptr, seginfo);
}

View File

@ -109,7 +109,7 @@ save_symbol_name (const char *name)
name_length = strlen (name) + 1; /* +1 for \0. */
obstack_grow (&notes, name, name_length);
ret = obstack_finish (&notes);
ret = (char *) obstack_finish (&notes);
#ifdef tc_canonicalize_symbol_name
ret = tc_canonicalize_symbol_name (ret);
@ -137,7 +137,7 @@ symbol_create (const char *name, /* It is copied, the caller can destroy/modify.
preserved_copy_of_name = save_symbol_name (name);
symbolP = obstack_alloc (&notes, sizeof (symbolS));
symbolP = (symbolS *) obstack_alloc (&notes, sizeof (symbolS));
/* symbol must be born in some fixed state. This seems as good as any. */
memset (symbolP, 0, sizeof (symbolS));
@ -197,7 +197,7 @@ local_symbol_make (const char *name, segT section, valueT value, fragS *frag)
name_copy = save_symbol_name (name);
ret = obstack_alloc (&notes, sizeof *ret);
ret = (struct local_symbol *) obstack_alloc (&notes, sizeof *ret);
ret->lsy_marker = NULL;
ret->lsy_name = name_copy;
ret->lsy_section = section;
@ -563,7 +563,7 @@ symbol_clone (symbolS *orgsymP, int replace)
orgsymP = local_symbol_convert ((struct local_symbol *) orgsymP);
bsymorg = orgsymP->bsym;
newsymP = obstack_alloc (&notes, sizeof (*newsymP));
newsymP = (symbolS *) obstack_alloc (&notes, sizeof (*newsymP));
*newsymP = *orgsymP;
bsymnew = bfd_make_empty_symbol (bfd_asymbol_bfd (bsymorg));
if (bsymnew == NULL)
@ -1453,7 +1453,7 @@ static void
resolve_local_symbol (const char *key ATTRIBUTE_UNUSED, void *value)
{
if (value != NULL)
resolve_symbol_value (value);
resolve_symbol_value ((symbolS *) value);
}
/* Resolve all local symbols. */
@ -1603,7 +1603,7 @@ define_dollar_label (long label)
{
dollar_labels = (long *) xmalloc (DOLLAR_LABEL_BUMP_BY * sizeof (long));
dollar_label_instances = (long *) xmalloc (DOLLAR_LABEL_BUMP_BY * sizeof (long));
dollar_label_defines = xmalloc (DOLLAR_LABEL_BUMP_BY);
dollar_label_defines = (char *) xmalloc (DOLLAR_LABEL_BUMP_BY);
dollar_label_max = DOLLAR_LABEL_BUMP_BY;
dollar_label_count = 0;
}
@ -1614,7 +1614,7 @@ define_dollar_label (long label)
dollar_label_max * sizeof (long));
dollar_label_instances = (long *) xrealloc ((char *) dollar_label_instances,
dollar_label_max * sizeof (long));
dollar_label_defines = xrealloc (dollar_label_defines, dollar_label_max);
dollar_label_defines = (char *) xrealloc (dollar_label_defines, dollar_label_max);
} /* if we needed to grow */
dollar_labels[dollar_label_count] = label;
@ -1887,7 +1887,7 @@ decode_local_label_name (char *s)
instance_number = (10 * instance_number) + *p - '0';
message_format = _("\"%d\" (instance number %d of a %s label)");
symbol_decode = obstack_alloc (&notes, strlen (message_format) + 30);
symbol_decode = (char *) obstack_alloc (&notes, strlen (message_format) + 30);
sprintf (symbol_decode, message_format, label_number, instance_number, type);
return symbol_decode;

View File

@ -156,7 +156,7 @@ fix_new_internal (fragS *frag, /* Which frag? */
n_fixups++;
fixP = obstack_alloc (&notes, sizeof (fixS));
fixP = (fixS *) obstack_alloc (&notes, sizeof (fixS));
fixP->fx_frag = frag;
fixP->fx_where = where;
@ -1170,7 +1170,7 @@ write_relocs (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED)
rp = &r->next;
}
relocs = xcalloc (n, sizeof (arelent *));
relocs = (arelent **) xcalloc (n, sizeof (arelent *));
i = 0;
for (fixp = seginfo->fix_root; fixp != (fixS *) NULL; fixp = fixp->fx_next)
@ -1398,7 +1398,7 @@ set_symtab (void)
int i;
bfd_size_type amt = (bfd_size_type) nsyms * sizeof (asymbol *);
asympp = bfd_alloc (stdoutput, amt);
asympp = (asymbol **) bfd_alloc (stdoutput, amt);
symp = symbol_rootP;
for (i = 0; i < nsyms; i++, symp = symbol_next (symp))
{

View File

@ -1,3 +1,7 @@
2009-09-11 Nick Clifton <nickc@redhat.com>
* po/gold.pot: Updated by the Translation project.
2009-09-08 Cary Coutant <ccoutant@google.com>
* output.cc (Output_file::open): Add execute permission to empty file.

View File

@ -1,3 +1,19 @@
2009-09-11 Nick Clifton <nickc@redhat.com>
* po/gprof.pot: Updated by the Translation project.
* po/sv.po: Updated Swedish translation.
2009-09-11 Martin Thuresson <martint@google.com>
Updated sources to compile cleanly with -Wc++-compat:
* basic_blocks.c: Add casts.
* cg_dfn.c: Add cast.
* corefile.c: Add casts.
* gmon_io.c: Add casts.
* hist.c: Add cast.
* source.c: Add cast.
* sym_ids.c (struct match): Moved to top level.
2009-09-07 Tristan Gingold <gingold@adacore.com>
* po/gprof.pot: Regenerate.

View File

@ -319,7 +319,7 @@ print_exec_counts ()
static void
annotate_with_count (char *buf, unsigned int width, int line_num, PTR arg)
{
Source_File *sf = arg;
Source_File *sf = (Source_File *) arg;
Sym *b;
unsigned int i;
static unsigned long last_count;
@ -328,7 +328,7 @@ annotate_with_count (char *buf, unsigned int width, int line_num, PTR arg)
b = NULL;
if (line_num <= sf->num_lines)
b = sf->line[line_num - 1];
b = (Sym *) sf->line[line_num - 1];
if (!b)
{
@ -488,7 +488,7 @@ print_annotated_source ()
{
if (sf->num_lines > 0)
{
sf->line = (void *) xmalloc (sf->num_lines * sizeof (sf->line[0]));
sf->line = (void **) xmalloc (sf->num_lines * sizeof (sf->line[0]));
memset (sf->line, 0, sf->num_lines * sizeof (sf->line[0]));
}
}
@ -502,7 +502,7 @@ print_annotated_source ()
&& !sym_lookup (&syms[EXCL_ANNO], sym->addr))))
{
sym->file->ncalls += sym->ncalls;
line_stats = sym->file->line[sym->line_num - 1];
line_stats = (Sym *) sym->file->line[sym->line_num - 1];
if (!line_stats)
{
@ -552,7 +552,7 @@ print_annotated_source ()
for (i = 0; i < table_len; ++i)
{
sym = sf->line[i];
sym = (Sym *) sf->line[i];
if (!sym || sym->ncalls == 0)
break;

View File

@ -217,7 +217,8 @@ pre_visit (Sym *parent)
if (dfn_depth >= dfn_maxdepth)
{
dfn_maxdepth += DFN_INCR_DEPTH;
dfn_stack = xrealloc (dfn_stack, dfn_maxdepth * sizeof *dfn_stack);
dfn_stack = (DFN_Stack *) xrealloc (dfn_stack,
dfn_maxdepth * sizeof *dfn_stack);
}
dfn_stack[dfn_depth].sym = parent;

View File

@ -140,7 +140,7 @@ read_function_mappings (const char *filename)
}
/* dummy has the filename, go ahead and copy it. */
symbol_map[count].file_name = xmalloc (strlen (dummy) + 1);
symbol_map[count].file_name = (char *) xmalloc (strlen (dummy) + 1);
strcpy (symbol_map[count].file_name, dummy);
/* Now we need the function name. */
@ -148,7 +148,7 @@ read_function_mappings (const char *filename)
if (!matches)
parse_error (filename);
tmp = strrchr (dummy, ' ') + 1;
symbol_map[count].function_name = xmalloc (strlen (tmp) + 1);
symbol_map[count].function_name = (char *) xmalloc (strlen (tmp) + 1);
strcpy (symbol_map[count].function_name, tmp);
count++;
}
@ -227,7 +227,7 @@ core_init (const char * aout_name)
long i;
new_size = (core_num_syms + synth_count + 1) * sizeof (*core_syms);
core_syms = xrealloc (core_syms, new_size);
core_syms = (asymbol **) xrealloc (core_syms, new_size);
symp = core_syms + core_num_syms;
core_num_syms += synth_count;
for (i = 0; i < synth_count; i++)
@ -577,8 +577,10 @@ core_create_function_syms (void)
/* Don't create a symtab entry for a function that has
a mapping to a file, unless it's the first function
in the file. */
found = bsearch (core_syms[i]->name, symbol_map, symbol_map_count,
sizeof (struct function_map), search_mapped_symbol);
found = (struct function_map *) bsearch (core_syms[i]->name, symbol_map,
symbol_map_count,
sizeof (struct function_map),
search_mapped_symbol);
if (found == NULL || found->is_first)
++symtab.len;
}
@ -609,7 +611,8 @@ core_create_function_syms (void)
continue;
}
found = bsearch (core_syms[i]->name, symbol_map, symbol_map_count,
found = (struct function_map *) bsearch (core_syms[i]->name, symbol_map,
symbol_map_count,
sizeof (struct function_map), search_mapped_symbol);
if (found && ! found->is_first)
continue;
@ -726,8 +729,8 @@ core_create_line_syms (void)
BFD would provide an iterator for enumerating all line infos. */
prev_name_len = PATH_MAX;
prev_filename_len = PATH_MAX;
prev_name = xmalloc (prev_name_len);
prev_filename = xmalloc (prev_filename_len);
prev_name = (char *) xmalloc (prev_name_len);
prev_filename = (char *) xmalloc (prev_filename_len);
ltab.len = 0;
prev_line_num = 0;
@ -751,7 +754,7 @@ core_create_line_syms (void)
{
prev_name_len = len + 1024;
free (prev_name);
prev_name = xmalloc (prev_name_len);
prev_name = (char *) xmalloc (prev_name_len);
}
strcpy (prev_name, dummy.name);
@ -761,7 +764,7 @@ core_create_line_syms (void)
{
prev_filename_len = len + 1024;
free (prev_filename);
prev_filename = xmalloc (prev_filename_len);
prev_filename = (char *) xmalloc (prev_filename_len);
}
strcpy (prev_filename, filename);

View File

@ -493,13 +493,13 @@ gmon_out_read (const char *filename)
if (!histograms)
{
num_histograms = 1;
histograms = xmalloc (sizeof (struct histogram));
histograms = (struct histogram *) xmalloc (sizeof (struct histogram));
histograms->lowpc = tmp.low_pc;
histograms->highpc = tmp.high_pc;
histograms->num_bins = hist_num_bins;
hist_scale = (double)((tmp.high_pc - tmp.low_pc) / sizeof (UNIT))
/ hist_num_bins;
histograms->sample = xmalloc (hist_num_bins * sizeof (int));
histograms->sample = (int *) xmalloc (hist_num_bins * sizeof (int));
memset (histograms->sample, 0,
hist_num_bins * sizeof (int));
}

View File

@ -198,8 +198,8 @@ hist_read_rec (FILE * ifp, const char *filename)
/* This is new record. Add it to global array and allocate space for
the samples. */
histograms = xrealloc (histograms,
sizeof (histogram) * (num_histograms + 1));
histograms = (struct histogram *)
xrealloc (histograms, sizeof (histogram) * (num_histograms + 1));
memcpy (histograms + num_histograms,
&n_record, sizeof (histogram));
record = &histograms[num_histograms];

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2009-09-07 12:10+0200\n"
"POT-Creation-Date: 2009-09-07 14:10+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -1,18 +1,19 @@
# Swedish messages for gprof.
# Copyright (C) 2001, 2002, 2004, 2006, 2007 Free Software Foundation, Inc.
# Copyright (C) 2001, 2002, 2004, 2006, 2007, 2009 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
# Christian Rose <menthos@menthos.com>, 2001, 2002, 2004.
# Daniel Nylander <po@danielnylander.se>, 2006, 2007.
# Daniel Nylander <po@danielnylander.se>, 2006, 2007, 2009.
#
msgid ""
msgstr ""
"Project-Id-Version: gprof 2.17.90\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-05-15 16:49+0930\n"
"PO-Revision-Date: 2007-08-24 13:42+0100\n"
"Project-Id-Version: gprof 2.19.90\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2009-09-07 14:10+0200\n"
"PO-Revision-Date: 2009-09-11 09:46+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: alpha.c:102 mips.c:54
@ -37,12 +38,12 @@ msgstr "[find_call] 0x%lx: bsr"
#: basic_blocks.c:128 call_graph.c:89 hist.c:105
#, c-format
msgid "%s: %s: unexpected end of file\n"
msgstr "%s: %s: oväntat filslut\n"
msgstr "%s: %s: oväntat filslut\n"
#: basic_blocks.c:196
#, c-format
msgid "%s: warning: ignoring basic-block exec counts (use -l or --line)\n"
msgstr "%s: varning: ignorerar exekveringsräkning för grundblock (använd -l eller --line)\n"
msgstr "%s: varning: ignorerar exekveringsräkning för grundblock (använd -l eller --line)\n"
#. FIXME: This only works if bfd_vma is unsigned long.
#: basic_blocks.c:289 basic_blocks.c:299
@ -52,7 +53,7 @@ msgstr "%s:%d: (%s:0x%lx) %lu exekveringar\n"
#: basic_blocks.c:290 basic_blocks.c:300
msgid "<unknown>"
msgstr "<okänd>"
msgstr "<okänd>"
#: basic_blocks.c:543
#, c-format
@ -66,7 +67,7 @@ msgid ""
msgstr ""
"\n"
"\n"
"Översta %d raderna:\n"
"Översta %d raderna:\n"
"\n"
" Rad Antal\n"
"\n"
@ -114,18 +115,18 @@ msgstr "%9.2f Medelexekveringar per rad\n"
#: call_graph.c:68
#, c-format
msgid "[cg_tally] arc from %s to %s traversed %lu times\n"
msgstr "[cg_tally] båge från %s till %s traverserad %lu gånger\n"
msgstr "[cg_tally] båge från %s till %s traverserad %lu gånger\n"
#: cg_print.c:73
#: cg_print.c:74
#, c-format
msgid ""
"\t\t Call graph (explanation follows)\n"
"\n"
msgstr ""
"\t\t Angropsgraf (förklaring följer)\n"
"\t\t Angropsgraf (förklaring följer)\n"
"\n"
#: cg_print.c:75
#: cg_print.c:76
#, c-format
msgid ""
"\t\t\tCall graph\n"
@ -134,25 +135,25 @@ msgstr ""
"\t\t\tAnropsgraf\n"
"\n"
#: cg_print.c:78 hist.c:466
#: cg_print.c:79 hist.c:466
#, c-format
msgid ""
"\n"
"granularity: each sample hit covers %ld byte(s)"
msgstr ""
"\n"
"upplösning: varje stickprov täcker %ld byte"
"upplösning: varje stickprov täcker %ld byte"
#: cg_print.c:82
#: cg_print.c:83
#, c-format
msgid ""
" for %.2f%% of %.2f seconds\n"
"\n"
msgstr ""
" för %.2f%% på %.2f sekunder\n"
" för %.2f%% på %.2f sekunder\n"
"\n"
#: cg_print.c:86
#: cg_print.c:87
#, c-format
msgid ""
" no time propagated\n"
@ -161,64 +162,64 @@ msgstr ""
" ingen tid propagerad\n"
"\n"
#: cg_print.c:95 cg_print.c:98 cg_print.c:100
#: cg_print.c:96 cg_print.c:99 cg_print.c:101
msgid "called"
msgstr "anropad"
#: cg_print.c:95 cg_print.c:100
#: cg_print.c:96 cg_print.c:101
msgid "total"
msgstr "totalt"
#: cg_print.c:95
#: cg_print.c:96
msgid "parents"
msgstr "föräldrar"
msgstr "föräldrar"
#: cg_print.c:97 cg_print.c:98
#: cg_print.c:98 cg_print.c:99
msgid "index"
msgstr "index"
#: cg_print.c:97
#: cg_print.c:98
#, c-format
msgid "%time"
msgstr "%tid"
#: cg_print.c:97 cg_print.c:98
#: cg_print.c:98 cg_print.c:99
msgid "self"
msgstr "själv"
msgstr "själv"
#: cg_print.c:97
#: cg_print.c:98
msgid "descendants"
msgstr "ättlingar"
msgstr "ättlingar"
#: cg_print.c:98 hist.c:492
#: cg_print.c:99 hist.c:492
msgid "name"
msgstr "namn"
#: cg_print.c:100
#: cg_print.c:101
msgid "children"
msgstr "barn"
#: cg_print.c:105
#: cg_print.c:106
#, c-format
msgid "index %% time self children called name\n"
msgstr "index %% tid själv barn anropad namn\n"
msgstr "index %% tid själv barn anropad namn\n"
#: cg_print.c:128
#: cg_print.c:129
#, c-format
msgid " <cycle %d as a whole> [%d]\n"
msgstr " <hela cykel %d> [%d]\n"
#: cg_print.c:354
#: cg_print.c:355
#, c-format
msgid "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s <spontaneous>\n"
msgstr "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s <spontant>\n"
#: cg_print.c:355
#: cg_print.c:356
#, c-format
msgid "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s <spontaneous>\n"
msgstr "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s <spontant>\n"
#: cg_print.c:589
#: cg_print.c:590
#, c-format
msgid ""
"Index by function name\n"
@ -227,152 +228,152 @@ msgstr ""
"Index efter funktionsnamn\n"
"\n"
#: cg_print.c:646 cg_print.c:655
#: cg_print.c:647 cg_print.c:656
#, c-format
msgid "<cycle %d>"
msgstr "<cykel %d>"
#: corefile.c:59
#: corefile.c:60
#, c-format
msgid "%s: unable to parse mapping file %s.\n"
msgstr "%s: kan inte tolka mappfilen %s.\n"
#: corefile.c:72
#: corefile.c:84 corefile.c:496
#, c-format
msgid "%s: could not open %s.\n"
msgstr "%s: kunde inte öppna %s.\n"
msgstr "%s: kunde inte öppna %s.\n"
#: corefile.c:166
#: corefile.c:183
#, c-format
msgid "%s: %s: not in executable format\n"
msgstr "%s: %s: inte i ett körbart format\n"
msgstr "%s: %s: inte i ett körbart format\n"
#: corefile.c:177
#: corefile.c:194
#, c-format
msgid "%s: can't find .text section in %s\n"
msgstr "%s: kan inte hitta .text-sektion i %s\n"
#: corefile.c:252
#: corefile.c:269
#, c-format
msgid "%s: ran out room for %lu bytes of text space\n"
msgstr "%s: slut på utrymme för %lu byte textutrymme\n"
msgstr "%s: slut på utrymme för %lu byte textutrymme\n"
#: corefile.c:266
#: corefile.c:283
#, c-format
msgid "%s: can't do -c\n"
msgstr "%s: kan inte göra -c\n"
msgstr "%s: kan inte göra -c\n"
#: corefile.c:305
#: corefile.c:322
#, c-format
msgid "%s: -c not supported on architecture %s\n"
msgstr "%s: -c stöds inte på arkitekturen %s\n"
msgstr "%s: -c stöds inte på arkitekturen %s\n"
#: corefile.c:470
#: corefile.c:505 corefile.c:588
#, c-format
msgid "%s: file `%s' has no symbols\n"
msgstr "%s: filen \"%s\" har inga symboler\n"
#: corefile.c:772
#: corefile.c:848
#, c-format
msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n"
msgstr "%s: någon räknade fel: ltab.len=%d istället för %ld\n"
msgstr "%s: någon räknade fel: ltab.len=%d istället för %ld\n"
#: gmon_io.c:83
#: gmon_io.c:84
#, c-format
msgid "%s: address size has unexpected value of %u\n"
msgstr "%s: adresstorleken har ett oväntat värde på %u\n"
msgstr "%s: adresstorleken har ett oväntat värde på %u\n"
#: gmon_io.c:320 gmon_io.c:416
#: gmon_io.c:319 gmon_io.c:415
#, c-format
msgid "%s: file too short to be a gmon file\n"
msgstr "%s: filen är för kort för att vara en gmon-fil\n"
msgstr "%s: filen är för kort för att vara en gmon-fil\n"
#: gmon_io.c:330 gmon_io.c:459
#: gmon_io.c:329 gmon_io.c:458
#, c-format
msgid "%s: file `%s' has bad magic cookie\n"
msgstr "%s: filen \"%s\" har felaktigt magiskt tal\n"
#: gmon_io.c:341
#: gmon_io.c:340
#, c-format
msgid "%s: file `%s' has unsupported version %d\n"
msgstr "%s: filen \"%s\" har version %d som inte stöds\n"
msgstr "%s: filen \"%s\" har version %d som inte stöds\n"
#: gmon_io.c:371
#: gmon_io.c:370
#, c-format
msgid "%s: %s: found bad tag %d (file corrupted?)\n"
msgstr "%s: %s: hittade felaktig tagg %d (är filen skadad?)\n"
msgstr "%s: %s: hittade felaktig tagg %d (är filen skadad?)\n"
#: gmon_io.c:438
#: gmon_io.c:437
#, c-format
msgid "%s: profiling rate incompatible with first gmon file\n"
msgstr "%s: profileringshastighet är inkompatibel med första gmon-filen\n"
msgstr "%s: profileringshastighet är inkompatibel med första gmon-filen\n"
#: gmon_io.c:489
#: gmon_io.c:488
#, c-format
msgid "%s: incompatible with first gmon file\n"
msgstr "%s: inkompatibel med första gmon-filen\n"
msgstr "%s: inkompatibel med första gmon-filen\n"
#: gmon_io.c:516
#: gmon_io.c:518
#, c-format
msgid "%s: file '%s' does not appear to be in gmon.out format\n"
msgstr "%s: filen \"%s\" verkar inte vara i gmon.out-format\n"
# Man brukar tala om "bins" i hashtabeller
#
#: gmon_io.c:529
#: gmon_io.c:531
#, c-format
msgid "%s: unexpected EOF after reading %d/%d bins\n"
msgstr "%s: oväntat filslut efter läsning av %d/%d poster\n"
msgstr "%s: oväntat filslut efter läsning av %d/%d poster\n"
#: gmon_io.c:563
#: gmon_io.c:565
#, c-format
msgid "time is in ticks, not seconds\n"
msgstr "tiden är i tick, inte sekunder\n"
msgstr "tiden är i tick, inte sekunder\n"
#: gmon_io.c:569 gmon_io.c:746
#: gmon_io.c:571 gmon_io.c:748
#, c-format
msgid "%s: don't know how to deal with file format %d\n"
msgstr "%s: vet inte hur fileformat %d ska hanteras\n"
#: gmon_io.c:576
#: gmon_io.c:578
#, c-format
msgid "File `%s' (version %d) contains:\n"
msgstr "Filen \"%s\" (version %d) innehåller:\n"
msgstr "Filen \"%s\" (version %d) innehåller:\n"
#: gmon_io.c:579
#: gmon_io.c:581
#, c-format
msgid "\t%d histogram record\n"
msgstr "\t%d histogrampost\n"
#: gmon_io.c:580
#: gmon_io.c:582
#, c-format
msgid "\t%d histogram records\n"
msgstr "\t%d histogramposter\n"
#: gmon_io.c:582
#: gmon_io.c:584
#, c-format
msgid "\t%d call-graph record\n"
msgstr "\t%d anropsgrafpost\n"
#: gmon_io.c:583
#: gmon_io.c:585
#, c-format
msgid "\t%d call-graph records\n"
msgstr "\t%d anropsgrafposter\n"
#: gmon_io.c:585
#: gmon_io.c:587
#, c-format
msgid "\t%d basic-block count record\n"
msgstr "\t%d grundblocksräkningspost\n"
msgstr "\t%d grundblocksräkningspost\n"
#: gmon_io.c:586
#: gmon_io.c:588
#, c-format
msgid "\t%d basic-block count records\n"
msgstr "\t%d grundblocksräkningsposter\n"
msgstr "\t%d grundblocksräkningsposter\n"
#: gprof.c:158
#: gprof.c:159
#, c-format
msgid ""
"Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][name]] [-I dirs]\n"
"Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqSQZ][name]] [-I dirs]\n"
"\t[-d[num]] [-k from/to] [-m min-count] [-t table-length]\n"
"\t[--[no-]annotated-source[=name]] [--[no-]exec-counts[=name]]\n"
"\t[--[no-]flat-profile[=name]] [--[no-]graph[=name]]\n"
@ -383,77 +384,77 @@ msgid ""
"\t[--no-static] [--print-path] [--separate-files]\n"
"\t[--static-call-graph] [--sum] [--table-length=len] [--traditional]\n"
"\t[--version] [--width=n] [--ignore-non-functions]\n"
"\t[--demangle[=STYLE]] [--no-demangle] [@FILE]\n"
"\t[--demangle[=STYLE]] [--no-demangle] [--external-symbol-table=name] [@FILE]\n"
"\t[image-file] [profile-file...]\n"
msgstr ""
"Användning: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][name]] [-I kataloger]\n"
"\t[-d[num]] [-k från/till] [-m min_antal] [-t tabell_längd]\n"
"Användning: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqSQZ][name]] [-I kataloger]\n"
"\t[-d[num]] [-k från/till] [-m min_antal] [-t tabell_längd]\n"
"\t[--[no-]annotated-source[=namn]] [--[no-]exec-counts[=namn]]\n"
"\t[--[no-]flat-profile[=namn]] [--[no-]graph[=namn]]\n"
"\t[--[no-]time=namn] [--all-lines] [--brief] [--debug[=nivå]]\n"
"\t[--[no-]time=namn] [--all-lines] [--brief] [--debug[=nivå]]\n"
"\t[--function-ordering] [--file-ordering]\n"
"\t[--directory-path=kataloger] [--display-unused-functions]\n"
"\t[--file-format=namn] [--file-info] [--help] [--line] [--min-count=n]\n"
"\t[--no-static] [--print-path] [--separate-files]\n"
"\t[--static-call-graph] [--sum] [--table-length=längd] [--traditional]\n"
"\t[--static-call-graph] [--sum] [--table-length=längd] [--traditional]\n"
"\t[--version] [--width=n] [--ignore-non-functions]\n"
"\t[--demangle[=STIL]] [--no-demangle] [@FIL]\n"
"\t[--demangle[=STIL]] [--no-demangle] [--external-symbol-table=name] [@FILE]\n"
"\t[bildfil] [profilfil...]\n"
#: gprof.c:174
#: gprof.c:175
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
"Rapportera fel till %s,\n"
"Rapportera synpunkter på översättningen till tp-sv@listor.tp-sv.se\n"
"Rapportera synpunkter på översättningen till tp-sv@listor.tp-sv.se\n"
#: gprof.c:250
#: gprof.c:251
#, c-format
msgid "%s: debugging not supported; -d ignored\n"
msgstr "%s: felsökning stöds inte; -d ignorerades\n"
msgstr "%s: felsökning stöds inte; -d ignorerades\n"
#: gprof.c:330
#: gprof.c:331
#, c-format
msgid "%s: unknown file format %s\n"
msgstr "%s: okänt filformat %s\n"
msgstr "%s: okänt filformat %s\n"
#. This output is intended to follow the GNU standards document.
#: gprof.c:414
#: gprof.c:419
#, c-format
msgid "GNU gprof %s\n"
msgstr "GNU gprof %s\n"
#: gprof.c:415
#: gprof.c:420
#, c-format
msgid "Based on BSD gprof, copyright 1983 Regents of the University of California.\n"
msgstr "Baserat på BSD gprof, copyright 1983 Regents of the University of California.\n"
msgstr "Baserat på BSD gprof, copyright 1983 Regents of the University of California.\n"
#: gprof.c:416
#: gprof.c:421
#, c-format
msgid "This program is free software. This program has absolutely no warranty.\n"
msgstr "Detta program är fri programvara. Detta program har ingen som helst garanti.\n"
msgstr "Detta program är fri programvara. Detta program har ingen som helst garanti.\n"
#: gprof.c:457
#: gprof.c:462
#, c-format
msgid "%s: unknown demangling style `%s'\n"
msgstr "%s: okänd avmanglingsstil \"%s\"\n"
msgstr "%s: okänd avmanglingsstil \"%s\"\n"
#: gprof.c:477
#: gprof.c:482
#, c-format
msgid "%s: Only one of --function-ordering and --file-ordering may be specified.\n"
msgstr "%s: Endast en av --function-ordering och --file-ordering kan anges.\n"
#: gprof.c:527
#: gprof.c:534
#, c-format
msgid "%s: sorry, file format `prof' is not yet supported\n"
msgstr "%s: tyvärr, filformatet \"prof\" stöds inte än\n"
msgstr "%s: tyvärr, filformatet \"prof\" stöds inte än\n"
#: gprof.c:581
#: gprof.c:588
#, c-format
msgid "%s: gmon.out file is missing histogram\n"
msgstr "%s: gmon.out-filen saknar histogram\n"
#: gprof.c:588
#: gprof.c:595
#, c-format
msgid "%s: gmon.out file is missing call-graph data\n"
msgstr "%s: gmon.out-filen saknar anropsgrafdata\n"
@ -465,8 +466,8 @@ msgid ""
"%s: from '%s'\n"
"%s: to '%s'\n"
msgstr ""
"%s: dimensionsenhet ändrades mellan histogramposter\n"
"%s: från \"%s\"\n"
"%s: dimensionsenhet ändrades mellan histogramposter\n"
"%s: från \"%s\"\n"
"%s: till \"%s\"\n"
#: hist.c:143
@ -476,8 +477,8 @@ msgid ""
"%s: from '%c'\n"
"%s: to '%c'\n"
msgstr ""
"%s: dimensionsförkortning ändrades mellan histogramposter\n"
"%s: från \"%c\"\n"
"%s: dimensionsförkortning ändrades mellan histogramposter\n"
"%s: från \"%c\"\n"
"%s: till \"%c\"\n"
#: hist.c:157
@ -488,12 +489,12 @@ msgstr "%s: olika skalor i histogramposter"
#: hist.c:194
#, c-format
msgid "%s: overlapping histogram records\n"
msgstr "%s: överlappande histogramposter\n"
msgstr "%s: överlappande histogramposter\n"
#: hist.c:228
#, c-format
msgid "%s: %s: unexpected EOF after reading %u of %u samples\n"
msgstr "%s: %s: oväntat filslut efter läsning av %u av %u stickprov\n"
msgstr "%s: %s: oväntat filslut efter läsning av %u av %u stickprov\n"
#: hist.c:462
#, c-format
@ -506,7 +507,7 @@ msgid ""
" for %.2f%% of %.2f %s\n"
"\n"
msgstr ""
" för %.2f%% av %.2f %s\n"
" för %.2f%% av %.2f %s\n"
"\n"
#: hist.c:476
@ -516,7 +517,7 @@ msgid ""
"Each sample counts as %g %s.\n"
msgstr ""
"\n"
"Varje stickprov räknas som %g %s.\n"
"Varje stickprov räknas som %g %s.\n"
#: hist.c:481
#, c-format
@ -533,7 +534,7 @@ msgstr "kumulativ"
#: hist.c:488
msgid "self "
msgstr "själv"
msgstr "själv"
#: hist.c:488
msgid "total "
@ -568,14 +569,14 @@ msgstr "Platt profil:\n"
#: hist.c:705
#, c-format
msgid "%s: found a symbol that covers several histogram records"
msgstr "%s: hittade en symbol som täcker in flera histogramposter"
msgstr "%s: hittade en symbol som täcker in flera histogramposter"
#: mips.c:71
#, c-format
msgid "[find_call] 0x%lx: jal"
msgstr "[find_call] 0x%lx: jal"
#: mips.c:96
#: mips.c:99
#, c-format
msgid "[find_call] 0x%lx: jalr\n"
msgstr "[find_call] 0x%lx: jalr\n"
@ -596,7 +597,7 @@ msgid " <cycle %d>"
msgstr " <cykel %d>"
#~ msgid "%s: `%s' is incompatible with first gmon file\n"
#~ msgstr "%s: \"%s\" är inkompatibel med första gmon-filen\n"
#~ msgstr "%s: \"%s\" är inkompatibel med första gmon-filen\n"
#~ msgid "%s: bfd_vma has unexpected size of %ld bytes\n"
#~ msgstr "%s: bfd_vma har en oväntad storlek på %ld byte\n"
#~ msgstr "%s: bfd_vma har en oväntad storlek på %ld byte\n"

View File

@ -237,7 +237,7 @@ annotate_source (Source_File *sf, unsigned int max_width,
fprintf (ofp, _("*** File %s:\n"), sf->name);
}
annotation = xmalloc (max_width + 1);
annotation = (char *) xmalloc (max_width + 1);
line_num = 1;
new_line = TRUE;

View File

@ -29,23 +29,25 @@
#include "sym_ids.h"
#include "corefile.h"
static struct sym_id
struct match
{
int prev_index; /* Index of prev match. */
Sym *prev_match; /* Previous match. */
Sym *first_match; /* Chain of all matches. */
Sym sym;
};
struct sym_id
{
struct sym_id *next;
char *spec; /* Parsing modifies this. */
Table_Id which_table;
bfd_boolean has_right;
struct match
{
int prev_index; /* Index of prev match. */
Sym *prev_match; /* Previous match. */
Sym *first_match; /* Chain of all matches. */
Sym sym;
}
left, right;
}
*id_list;
struct match left, right;
};
static struct sym_id *id_list;
static void parse_spec
(char *, Sym *);

View File

@ -1,3 +1,26 @@
2009-09-11 Nick Clifton <nickc@redhat.com>
* po/ld.pot: Updated by the Translation project.
* po/fi.po: Updated Finnish translation.
2009-09-11 Martin Thuresson <martint@google.com>
Updated sources to compile cleanly with -Wc++-compat:
* ld.h (enum endian_enum,enum symbolic_enum,enum
dynamic_list_enum): Move to top level.
* ldcref.c: Add casts.
* ldctor.c: Add casts.
* ldexp.c
* ldexp.h (enum node_tree_enum,enum phase_enum): Move to top level.
* ldlang.c: Add casts. (lang_insert_orphan): Use enum name instead
of integer.
* ldlang.h (enum statement_enum): Move to top level.
* ldmain.c: Add casts.
* ldwrite.c: Add casts.
* lexsup.c: Add casts. (enum control_enum): Move to top level.
* mri.c: Add casts. (mri_draw_tree): Use enum name instead of
integer.
2009-09-09 Alan Modra <amodra@bigpond.net.au>
* scripttempl/aix.sc: Only provide ENTRY on final link.

View File

@ -137,7 +137,8 @@ gld${EMULATION_NAME}_load_symbols (lang_input_statement_type *entry)
|| (bfd_get_file_flags (entry->the_bfd) & DYNAMIC) == 0)
return FALSE;
bfd_elf_set_dyn_lib_class (entry->the_bfd, link_class);
bfd_elf_set_dyn_lib_class (entry->the_bfd,
(enum dynamic_lib_link_class) link_class);
/* Continue on with normal load_symbols processing. */
return FALSE;
@ -428,7 +429,7 @@ fragment <<EOF
&& (bfd_elf_get_dyn_lib_class (needed->by) & DYN_NO_ADD_NEEDED) != 0)
link_class |= DYN_NO_NEEDED | DYN_NO_ADD_NEEDED;
bfd_elf_set_dyn_lib_class (abfd, link_class);
bfd_elf_set_dyn_lib_class (abfd, (enum dynamic_lib_link_class) link_class);
/* Add this file into the symbol table. */
if (! bfd_link_add_symbols (abfd, &link_info))
@ -930,7 +931,7 @@ static bfd_boolean
gld${EMULATION_NAME}_write_build_id_section (bfd *abfd)
{
const struct elf_backend_data *bed = get_elf_backend_data (abfd);
struct build_id_info *info =
struct build_id_info *info = (struct build_id_info *)
elf_tdata (abfd)->after_write_object_contents_info;
asection *asec;
Elf_Internal_Shdr *i_shdr;
@ -950,13 +951,13 @@ gld${EMULATION_NAME}_write_build_id_section (bfd *abfd)
if (i_shdr->contents == NULL)
{
if (asec->contents == NULL)
asec->contents = xmalloc (asec->size);
asec->contents = (unsigned char *) xmalloc (asec->size);
contents = asec->contents;
}
else
contents = i_shdr->contents + asec->output_offset;
e_note = (void *) contents;
e_note = (Elf_External_Note *) contents;
size = offsetof (Elf_External_Note, name[sizeof "GNU"]);
size = (size + 3) & -(bfd_size_type) 4;
id_bits = contents + size;
@ -1075,7 +1076,8 @@ gld${EMULATION_NAME}_after_open (void)
if (s != NULL && bfd_set_section_alignment (abfd, s, 2))
{
struct elf_obj_tdata *t = elf_tdata (link_info.output_bfd);
struct build_id_info *b = xmalloc (sizeof *b);
struct build_id_info *b =
(struct build_id_info *) xmalloc (sizeof *b);
b->style = link_info.emit_note_gnu_build_id;
b->sec = s;
@ -1453,7 +1455,7 @@ ${ELF_INTERPRETER_SET_DEFAULT}
continue;
sz = s->size;
msg = xmalloc ((size_t) (sz + 1));
msg = (char *) xmalloc ((size_t) (sz + 1));
if (! bfd_get_section_contents (is->the_bfd, s, msg,
(file_ptr) 0, sz))
einfo ("%F%B: Can't read contents of section .gnu.warning: %E\n",

32
ld/ld.h
View File

@ -124,6 +124,22 @@ typedef struct fat_user_section_struct {
#define LONG_SIZE (4)
#define QUAD_SIZE (8)
enum endian_enum { ENDIAN_UNSET = 0, ENDIAN_BIG, ENDIAN_LITTLE };
enum symbolic_enum
{
symbolic_unset = 0,
symbolic,
symbolic_functions,
};
enum dynamic_list_enum
{
dynamic_list_unset = 0,
dynamic_list_data,
dynamic_list
};
typedef struct {
/* 1 => assign space to common symbols even if `relocatable_output'. */
bfd_boolean force_common_definition;
@ -161,24 +177,14 @@ typedef struct {
bfd_boolean accept_unknown_input_arch;
/* Big or little endian as set on command line. */
enum { ENDIAN_UNSET = 0, ENDIAN_BIG, ENDIAN_LITTLE } endian;
enum endian_enum endian;
/* -Bsymbolic and -Bsymbolic-functions, as set on command line. */
enum
{
symbolic_unset = 0,
symbolic,
symbolic_functions,
} symbolic;
enum symbolic_enum symbolic;
/* --dynamic-list, --dynamic-list-cpp-new, --dynamic-list-cpp-typeinfo
and --dynamic-list FILE, as set on command line. */
enum
{
dynamic_list_unset = 0,
dynamic_list_data,
dynamic_list
} dynamic_list;
enum dynamic_list_enum dynamic_list;
/* Name of runtime interpreter to invoke. */
char *interpreter;

View File

@ -179,7 +179,7 @@ add_cref (const char *name,
if (r == NULL)
{
r = bfd_hash_allocate (&cref_table.root, sizeof *r);
r = (struct cref_ref *) bfd_hash_allocate (&cref_table.root, sizeof *r);
if (r == NULL)
einfo (_("%X%P: cref alloc failed: %E\n"));
r->next = h->refs;
@ -324,7 +324,7 @@ handle_asneeded_cref (bfd *abfd ATTRIBUTE_UNUSED,
static bfd_boolean
cref_fill_array (struct cref_hash_entry *h, void *data)
{
struct cref_hash_entry ***pph = data;
struct cref_hash_entry ***pph = (struct cref_hash_entry ***) data;
ASSERT (h->demangled == NULL);
h->demangled = bfd_demangle (link_info.output_bfd, h->root.string,
@ -344,8 +344,10 @@ cref_fill_array (struct cref_hash_entry *h, void *data)
static int
cref_sort_array (const void *a1, const void *a2)
{
const struct cref_hash_entry * const *p1 = a1;
const struct cref_hash_entry * const *p2 = a2;
const struct cref_hash_entry * const *p1 =
(const struct cref_hash_entry * const *) a1;
const struct cref_hash_entry * const *p2 =
(const struct cref_hash_entry * const *) a2;
return strcmp ((*p1)->demangled, (*p2)->demangled);
}
@ -378,7 +380,7 @@ output_cref (FILE *fp)
return;
}
csyms = xmalloc (cref_symcount * sizeof (*csyms));
csyms = (struct cref_hash_entry **) xmalloc (cref_symcount * sizeof (*csyms));
csym_fill = csyms;
cref_hash_traverse (&cref_table, cref_fill_array, &csym_fill);
@ -602,7 +604,7 @@ check_refs (const char *name,
static void
check_reloc_refs (bfd *abfd, asection *sec, void *iarg)
{
struct check_refs_info *info = iarg;
struct check_refs_info *info = (struct check_refs_info *) iarg;
asection *outsec;
const char *outsecname;
asection *outdefsec;
@ -649,7 +651,7 @@ check_reloc_refs (bfd *abfd, asection *sec, void *iarg)
if (relsize == 0)
return;
relpp = xmalloc (relsize);
relpp = (arelent **) xmalloc (relsize);
relcount = bfd_canonicalize_reloc (abfd, sec, relpp, info->asymbols);
if (relcount < 0)
einfo (_("%B%F: could not read relocs: %E\n"), abfd);

View File

@ -70,7 +70,7 @@ ldctor_add_set_entry (struct bfd_link_hash_entry *h,
if (p == NULL)
{
p = xmalloc (sizeof (struct set_info));
p = (struct set_info *) xmalloc (sizeof (struct set_info));
p->next = sets;
sets = p;
p->h = h;
@ -106,7 +106,7 @@ ldctor_add_set_entry (struct bfd_link_hash_entry *h,
}
}
e = xmalloc (sizeof (struct set_element));
e = (struct set_element *) xmalloc (sizeof (struct set_element));
e->next = NULL;
e->name = name;
e->section = section;
@ -153,8 +153,10 @@ ctor_prio (const char *name)
static int
ctor_cmp (const void *p1, const void *p2)
{
const struct set_element * const *pe1 = p1;
const struct set_element * const *pe2 = p2;
const struct set_element * const *pe1 =
(const struct set_element * const *) p1;
const struct set_element * const *pe2 =
(const struct set_element * const *) p2;
const char *n1;
const char *n2;
int prio1;
@ -223,7 +225,7 @@ ldctor_build_sets (void)
for (e = p->elements; e != NULL; e = e->next)
++c;
array = xmalloc (c * sizeof *array);
array = (struct set_element **) xmalloc (c * sizeof *array);
i = 0;
for (e = p->elements; e != NULL; e = e->next)

View File

@ -946,7 +946,7 @@ exp_provide (const char *dst, etree_type *src, bfd_boolean hidden)
{
etree_type *n;
n = stat_alloc (sizeof (n->assign));
n = (etree_type *) stat_alloc (sizeof (n->assign));
n->assign.type.node_code = '=';
n->assign.type.lineno = src->type.lineno;
n->assign.type.node_class = etree_provide;
@ -963,7 +963,7 @@ exp_assert (etree_type *exp, const char *message)
{
etree_type *n;
n = stat_alloc (sizeof (n->assert_s));
n = (etree_type *) stat_alloc (sizeof (n->assert_s));
n->assert_s.type.node_code = '!';
n->assert_s.type.lineno = exp->type.lineno;
n->assert_s.type.node_class = etree_assert;
@ -1095,7 +1095,7 @@ exp_get_fill (etree_type *tree, fill_type *def, char *name)
{
unsigned char *dst;
unsigned char *s;
fill = xmalloc ((len + 1) / 2 + sizeof (*fill) - 1);
fill = (fill_type *) xmalloc ((len + 1) / 2 + sizeof (*fill) - 1);
fill->size = (len + 1) / 2;
dst = fill->data;
s = (unsigned char *) expld.result.str;
@ -1120,7 +1120,7 @@ exp_get_fill (etree_type *tree, fill_type *def, char *name)
}
else
{
fill = xmalloc (4 + sizeof (*fill) - 1);
fill = (fill_type *) xmalloc (4 + sizeof (*fill) - 1);
val = expld.result.value;
fill->data[0] = (val >> 24) & 0xff;
fill->data[1] = (val >> 16) & 0xff;

View File

@ -30,21 +30,23 @@ typedef struct {
bfd_boolean valid_p;
} etree_value_type;
enum node_tree_enum {
etree_binary,
etree_trinary,
etree_unary,
etree_name,
etree_assign,
etree_provide,
etree_provided,
etree_value,
etree_assert,
etree_rel
};
typedef struct {
int node_code;
unsigned int lineno;
enum {
etree_binary,
etree_trinary,
etree_unary,
etree_name,
etree_assign,
etree_provide,
etree_provided,
etree_value,
etree_assert,
etree_rel
} node_class;
enum node_tree_enum node_class;
} node_type;
typedef union etree_union {
@ -100,6 +102,21 @@ typedef enum {
union lang_statement_union;
enum phase_enum {
exp_dataseg_none,
exp_dataseg_align_seen,
exp_dataseg_relro_seen,
exp_dataseg_end_seen,
exp_dataseg_relro_adjust,
exp_dataseg_adjust
};
enum relro_enum {
exp_dataseg_relro_none,
exp_dataseg_relro_start,
exp_dataseg_relro_end,
};
struct ldexp_control {
/* Modify expression evaluation depending on this. */
lang_phase_type phase;
@ -117,22 +134,11 @@ struct ldexp_control {
/* State machine and results for DATASEG. */
struct {
enum {
exp_dataseg_none,
exp_dataseg_align_seen,
exp_dataseg_relro_seen,
exp_dataseg_end_seen,
exp_dataseg_relro_adjust,
exp_dataseg_adjust
} phase;
enum phase_enum phase;
bfd_vma base, min_base, relro_end, end, pagesize, maxpagesize;
enum {
exp_dataseg_relro_none,
exp_dataseg_relro_start,
exp_dataseg_relro_end,
} relro;
enum relro_enum relro;
union lang_statement_union *relro_start_stat;
union lang_statement_union *relro_end_stat;

View File

@ -307,7 +307,7 @@ typedef struct
static bfd_boolean
section_iterator_callback (bfd *bfd ATTRIBUTE_UNUSED, asection *s, void *data)
{
section_iterator_callback_data *d = data;
section_iterator_callback_data *d = (section_iterator_callback_data *) data;
if (d->found_section != NULL)
{
@ -452,7 +452,7 @@ output_section_callback_fast (lang_wild_statement_type *ptr,
if (unique_section_p (section))
return;
node = xmalloc (sizeof (lang_section_bst_type));
node = (lang_section_bst_type *) xmalloc (sizeof (lang_section_bst_type));
node->left = 0;
node->right = 0;
node->section = section;
@ -813,7 +813,9 @@ walk_wild_file (lang_wild_statement_type *s,
lang_input_statement. */
if (member->usrdata != NULL)
{
walk_wild_section (s, member->usrdata, callback, data);
walk_wild_section (s,
(lang_input_statement_type *) member->usrdata,
callback, data);
}
member = bfd_openr_next_archived_file (f->the_bfd, member);
@ -1095,7 +1097,8 @@ output_section_statement_newfunc (struct bfd_hash_entry *entry,
if (entry == NULL)
{
entry = bfd_hash_allocate (table, sizeof (*ret));
entry = (struct bfd_hash_entry *) bfd_hash_allocate (table,
sizeof (*ret));
if (entry == NULL)
return entry;
}
@ -1296,7 +1299,7 @@ lang_memory_region_alias (const char * alias, const char * region_name)
alias);
/* Add alias to region name list. */
n = stat_alloc (sizeof (lang_memory_region_name));
n = (lang_memory_region_name *) stat_alloc (sizeof (lang_memory_region_name));
n->name = xstrdup (alias);
n->next = region->name_list.next;
region->name_list.next = n;
@ -1717,8 +1720,8 @@ lang_insert_orphan (asection *s,
os_tail = ((lang_output_section_statement_type **)
lang_output_section_statement.tail);
os = lang_enter_output_section_statement (secname, address, 0, NULL, NULL,
NULL, constraint);
os = lang_enter_output_section_statement (secname, address, normal_section,
NULL, NULL, NULL, constraint);
ps = NULL;
if (config.build_constructors && *os_tail == os)
@ -2012,18 +2015,20 @@ sort_def_symbol (struct bfd_link_hash_entry *hash_entry,
struct fat_user_section_struct *ud;
struct map_symbol_def *def;
ud = get_userdata (hash_entry->u.def.section);
ud = (struct fat_user_section_struct *)
get_userdata (hash_entry->u.def.section);
if (! ud)
{
/* ??? What do we have to do to initialize this beforehand? */
/* The first time we get here is bfd_abs_section... */
init_map_userdata (0, hash_entry->u.def.section, 0);
ud = get_userdata (hash_entry->u.def.section);
ud = (struct fat_user_section_struct *)
get_userdata (hash_entry->u.def.section);
}
else if (!ud->map_symbol_def_tail)
ud->map_symbol_def_tail = &ud->map_symbol_def_head;
def = obstack_alloc (&map_obstack, sizeof *def);
def = (struct map_symbol_def *) obstack_alloc (&map_obstack, sizeof *def);
def->entry = hash_entry;
*(ud->map_symbol_def_tail) = def;
ud->map_symbol_def_tail = &def->next;
@ -2139,7 +2144,7 @@ exp_init_os (etree_type *exp)
static void
section_already_linked (bfd *abfd, asection *sec, void *data)
{
lang_input_statement_type *entry = data;
lang_input_statement_type *entry = (lang_input_statement_type *) data;
/* If we are only reading symbols from this object, then we want to
discard all sections. */
@ -2528,9 +2533,9 @@ add_excluded_libs (const char *list)
end = strpbrk (p, ",:");
if (end == NULL)
end = p + strlen (p);
entry = xmalloc (sizeof (*entry));
entry = (struct excluded_lib *) xmalloc (sizeof (*entry));
entry->next = excluded_libs;
entry->name = xmalloc (end - p + 1);
entry->name = (char *) xmalloc (end - p + 1);
memcpy (entry->name, p, end - p);
entry->name[end - p] = '\0';
excluded_libs = entry;
@ -2751,7 +2756,7 @@ wild (lang_wild_statement_type *s,
static int
get_target (const bfd_target *target, void *data)
{
const char *sought = data;
const char *sought = (const char *) data;
return strcmp (target->name, sought) == 0;
}
@ -2798,8 +2803,8 @@ name_compare (char *first, char *second)
char *copy2;
int result;
copy1 = xmalloc (strlen (first) + 1);
copy2 = xmalloc (strlen (second) + 1);
copy1 = (char *) xmalloc (strlen (first) + 1);
copy2 = (char *) xmalloc (strlen (second) + 1);
/* Convert the names to lower case. */
stricpy (copy1, first);
@ -2837,7 +2842,7 @@ static const bfd_target *winner;
static int
closest_target_match (const bfd_target *target, void *data)
{
const bfd_target *original = data;
const bfd_target *original = (const bfd_target *) data;
if (command_line.endian == ENDIAN_BIG
&& target->byteorder != BFD_ENDIAN_BIG)
@ -3932,7 +3937,7 @@ print_input_statement (lang_input_statement_type *statm)
static bfd_boolean
print_one_symbol (struct bfd_link_hash_entry *hash_entry, void *ptr)
{
asection *sec = ptr;
asection *sec = (asection *) ptr;
if ((hash_entry->type == bfd_link_hash_defined
|| hash_entry->type == bfd_link_hash_defweak)
@ -3970,7 +3975,8 @@ hash_entry_addr_cmp (const void *a, const void *b)
static void
print_all_symbols (asection *sec)
{
struct fat_user_section_struct *ud = get_userdata (sec);
struct fat_user_section_struct *ud =
(struct fat_user_section_struct *) get_userdata (sec);
struct map_symbol_def *def;
struct bfd_link_hash_entry **entries;
unsigned int i;
@ -3981,8 +3987,8 @@ print_all_symbols (asection *sec)
*ud->map_symbol_def_tail = 0;
/* Sort the symbols by address. */
entries = obstack_alloc (&map_obstack,
ud->map_symbol_def_count * sizeof (*entries));
entries = (struct bfd_link_hash_entry **)
obstack_alloc (&map_obstack, ud->map_symbol_def_count * sizeof (*entries));
for (i = 0, def = ud->map_symbol_def_head; def; def = def->next, i++)
entries[i] = def->entry;
@ -4419,7 +4425,8 @@ insert_pad (lang_statement_union_type **ptr,
else
{
/* Make a new padding statement, linked into existing chain. */
pad = stat_alloc (sizeof (lang_padding_statement_type));
pad = (lang_statement_union_type *)
stat_alloc (sizeof (lang_padding_statement_type));
pad->header.next = *ptr;
*ptr = pad;
pad->header.type = lang_padding_statement_enum;
@ -4535,7 +4542,7 @@ lang_check_section_addresses (void)
return;
amt = bfd_count_sections (link_info.output_bfd) * sizeof (asection *);
sections = xmalloc (amt);
sections = (asection **) xmalloc (amt);
/* Scan all sections in the output list. */
count = 0;
@ -5465,7 +5472,7 @@ lang_set_startof (void)
struct bfd_link_hash_entry *h;
secname = bfd_get_section_name (link_info.output_bfd, s);
buf = xmalloc (10 + strlen (secname));
buf = (char *) xmalloc (10 + strlen (secname));
sprintf (buf, ".startof.%s", secname);
h = bfd_link_hash_lookup (link_info.hash, buf, FALSE, FALSE, TRUE);
@ -6762,7 +6769,7 @@ lang_new_phdr (const char *name,
{
struct lang_phdr *n, **pp;
n = stat_alloc (sizeof (struct lang_phdr));
n = (struct lang_phdr *) stat_alloc (sizeof (struct lang_phdr));
n->next = NULL;
n->name = name;
n->type = exp_get_value_int (type, 0, "program header type");
@ -6789,7 +6796,7 @@ lang_record_phdrs (void)
lang_output_section_statement_type *os;
alc = 10;
secs = xmalloc (alc * sizeof (asection *));
secs = (asection **) xmalloc (alc * sizeof (asection *));
last = NULL;
for (l = lang_phdr_list; l != NULL; l = l->next)
@ -6856,7 +6863,8 @@ lang_record_phdrs (void)
if (c >= alc)
{
alc *= 2;
secs = xrealloc (secs, alc * sizeof (asection *));
secs = (asection **) xrealloc (secs,
alc * sizeof (asection *));
}
secs[c] = os->bfd_section;
++c;
@ -6910,7 +6918,7 @@ lang_add_nocrossref (lang_nocrossref_type *l)
{
struct lang_nocrossrefs *n;
n = xmalloc (sizeof *n);
n = (struct lang_nocrossrefs *) xmalloc (sizeof *n);
n->next = nocrossref_list;
n->list = l;
nocrossref_list = n;
@ -6972,7 +6980,7 @@ lang_enter_overlay_section (const char *name)
overlay_vma = exp_nameop (ADDR, name);
/* Remember the section. */
n = xmalloc (sizeof *n);
n = (struct overlay_list *) xmalloc (sizeof *n);
n->os = current_section;
n->next = overlay_list;
overlay_list = n;
@ -7008,20 +7016,20 @@ lang_leave_overlay_section (fill_type *fill,
/* Define the magic symbols. */
clean = xmalloc (strlen (name) + 1);
clean = (char *) xmalloc (strlen (name) + 1);
s2 = clean;
for (s1 = name; *s1 != '\0'; s1++)
if (ISALNUM (*s1) || *s1 == '_')
*s2++ = *s1;
*s2 = '\0';
buf = xmalloc (strlen (clean) + sizeof "__load_start_");
buf = (char *) xmalloc (strlen (clean) + sizeof "__load_start_");
sprintf (buf, "__load_start_%s", clean);
lang_add_assignment (exp_provide (buf,
exp_nameop (LOADADDR, name),
FALSE));
buf = xmalloc (strlen (clean) + sizeof "__load_stop_");
buf = (char *) xmalloc (strlen (clean) + sizeof "__load_stop_");
sprintf (buf, "__load_stop_%s", clean);
lang_add_assignment (exp_provide (buf,
exp_binop ('+',
@ -7087,7 +7095,7 @@ lang_leave_overlay (etree_type *lma_expr,
{
lang_nocrossref_type *nc;
nc = xmalloc (sizeof *nc);
nc = (lang_nocrossref_type *) xmalloc (sizeof *nc);
nc->name = l->os->name;
nc->next = nocrossref;
nocrossref = nc;
@ -7148,7 +7156,8 @@ lang_vers_match (struct bfd_elf_version_expr_head *head,
if (head->mask & BFD_ELF_VERSION_C_TYPE)
{
e.pattern = sym;
expr = htab_find (head->htab, &e);
expr = (struct bfd_elf_version_expr *)
htab_find ((htab_t) head->htab, &e);
while (expr && strcmp (expr->pattern, sym) == 0)
if (expr->mask == BFD_ELF_VERSION_C_TYPE)
goto out_ret;
@ -7160,7 +7169,8 @@ lang_vers_match (struct bfd_elf_version_expr_head *head,
if (head->mask & BFD_ELF_VERSION_CXX_TYPE)
{
e.pattern = cxx_sym;
expr = htab_find (head->htab, &e);
expr = (struct bfd_elf_version_expr *)
htab_find ((htab_t) head->htab, &e);
while (expr && strcmp (expr->pattern, cxx_sym) == 0)
if (expr->mask == BFD_ELF_VERSION_CXX_TYPE)
goto out_ret;
@ -7172,7 +7182,8 @@ lang_vers_match (struct bfd_elf_version_expr_head *head,
if (head->mask & BFD_ELF_VERSION_JAVA_TYPE)
{
e.pattern = java_sym;
expr = htab_find (head->htab, &e);
expr = (struct bfd_elf_version_expr *)
htab_find ((htab_t) head->htab, &e);
while (expr && strcmp (expr->pattern, java_sym) == 0)
if (expr->mask == BFD_ELF_VERSION_JAVA_TYPE)
goto out_ret;
@ -7226,7 +7237,7 @@ realsymbol (const char *pattern)
{
const char *p;
bfd_boolean changed = FALSE, backslash = FALSE;
char *s, *symbol = xmalloc (strlen (pattern) + 1);
char *s, *symbol = (char *) xmalloc (strlen (pattern) + 1);
for (p = pattern, s = symbol; *p != '\0'; ++p)
{
@ -7313,7 +7324,7 @@ lang_new_vers_node (struct bfd_elf_version_expr *globals,
{
struct bfd_elf_version_tree *ret;
ret = xcalloc (1, sizeof *ret);
ret = (struct bfd_elf_version_tree *) xcalloc (1, sizeof *ret);
ret->globals.list = globals;
ret->locals.list = locals;
ret->match = lang_vers_match;
@ -7328,7 +7339,8 @@ static int version_index;
static hashval_t
version_expr_head_hash (const void *p)
{
const struct bfd_elf_version_expr *e = p;
const struct bfd_elf_version_expr *e =
(const struct bfd_elf_version_expr *) p;
return htab_hash_string (e->pattern);
}
@ -7336,8 +7348,10 @@ version_expr_head_hash (const void *p)
static int
version_expr_head_eq (const void *p1, const void *p2)
{
const struct bfd_elf_version_expr *e1 = p1;
const struct bfd_elf_version_expr *e2 = p2;
const struct bfd_elf_version_expr *e1 =
(const struct bfd_elf_version_expr *) p1;
const struct bfd_elf_version_expr *e2 =
(const struct bfd_elf_version_expr *) p2;
return strcmp (e1->pattern, e2->pattern) == 0;
}
@ -7372,13 +7386,13 @@ lang_finalize_version_expr_head (struct bfd_elf_version_expr_head *head)
}
else
{
void **loc = htab_find_slot (head->htab, e, INSERT);
void **loc = htab_find_slot ((htab_t) head->htab, e, INSERT);
if (*loc)
{
struct bfd_elf_version_expr *e1, *last;
e1 = *loc;
e1 = (struct bfd_elf_version_expr *) *loc;
last = NULL;
do
{
@ -7463,7 +7477,8 @@ lang_register_vers_node (const char *name,
if (t->locals.htab && e1->literal)
{
e2 = htab_find (t->locals.htab, e1);
e2 = (struct bfd_elf_version_expr *)
htab_find ((htab_t) t->locals.htab, e1);
while (e2 && strcmp (e1->pattern, e2->pattern) == 0)
{
if (e1->mask == e2->mask)
@ -7489,7 +7504,8 @@ lang_register_vers_node (const char *name,
if (t->globals.htab && e1->literal)
{
e2 = htab_find (t->globals.htab, e1);
e2 = (struct bfd_elf_version_expr *)
htab_find ((htab_t) t->globals.htab, e1);
while (e2 && strcmp (e1->pattern, e2->pattern) == 0)
{
if (e1->mask == e2->mask)
@ -7531,7 +7547,7 @@ lang_add_vers_depend (struct bfd_elf_version_deps *list, const char *name)
struct bfd_elf_version_deps *ret;
struct bfd_elf_version_tree *t;
ret = xmalloc (sizeof *ret);
ret = (struct bfd_elf_version_deps *) xmalloc (sizeof *ret);
ret->next = list;
for (t = lang_elf_version_info; t != NULL; t = t->next)
@ -7563,7 +7579,7 @@ lang_do_version_exports_section (void)
continue;
len = sec->size;
contents = xmalloc (len);
contents = (char *) xmalloc (len);
if (!bfd_get_section_contents (is->the_bfd, sec, contents, 0, len))
einfo (_("%X%P: unable to read .exports section contents\n"), sec);
@ -7594,7 +7610,7 @@ lang_add_unique (const char *name)
if (strcmp (ent->name, name) == 0)
return;
ent = xmalloc (sizeof *ent);
ent = (struct unique_sections *) xmalloc (sizeof *ent);
ent->name = xstrdup (name);
ent->next = unique_section_list;
unique_section_list = ent;
@ -7617,7 +7633,7 @@ lang_append_dynamic_list (struct bfd_elf_version_expr *dynamic)
{
struct bfd_elf_dynamic_list *d;
d = xcalloc (1, sizeof *d);
d = (struct bfd_elf_dynamic_list *) xcalloc (1, sizeof *d);
d->head.list = dynamic;
d->match = lang_vers_match;
link_info.dynamic_list = d;

View File

@ -66,28 +66,30 @@ typedef struct memory_region_struct
bfd_boolean had_full_message;
} lang_memory_region_type;
enum statement_enum
{
lang_output_section_statement_enum,
lang_assignment_statement_enum,
lang_input_statement_enum,
lang_address_statement_enum,
lang_wild_statement_enum,
lang_input_section_enum,
lang_object_symbols_statement_enum,
lang_fill_statement_enum,
lang_data_statement_enum,
lang_reloc_statement_enum,
lang_target_statement_enum,
lang_output_statement_enum,
lang_padding_statement_enum,
lang_group_statement_enum,
lang_insert_statement_enum,
lang_constructors_statement_enum
};
typedef struct lang_statement_header_struct
{
union lang_statement_union *next;
enum statement_enum
{
lang_output_section_statement_enum,
lang_assignment_statement_enum,
lang_input_statement_enum,
lang_address_statement_enum,
lang_wild_statement_enum,
lang_input_section_enum,
lang_object_symbols_statement_enum,
lang_fill_statement_enum,
lang_data_statement_enum,
lang_reloc_statement_enum,
lang_target_statement_enum,
lang_output_statement_enum,
lang_padding_statement_enum,
lang_group_statement_enum,
lang_insert_statement_enum,
lang_constructors_statement_enum
} type;
enum statement_enum type;
} lang_statement_header_type;
typedef struct

View File

@ -399,7 +399,7 @@ main (int argc, char **argv)
{
static const int ld_bufsz = 8193;
size_t n;
char *buf = xmalloc (ld_bufsz);
char *buf = (char *) xmalloc (ld_bufsz);
rewind (saved_script_handle);
while ((n = fread (buf, 1, ld_bufsz - 1, saved_script_handle)) > 0)
@ -503,9 +503,9 @@ main (int argc, char **argv)
FILE *src;
FILE *dst;
const int bsize = 4096;
char *buf = xmalloc (bsize);
char *buf = (char *) xmalloc (bsize);
int l;
char *dst_name = xmalloc (len + 5);
char *dst_name = (char *) xmalloc (len + 5);
strcpy (dst_name, output_filename);
strcat (dst_name, ".exe");
@ -540,7 +540,7 @@ main (int argc, char **argv)
if (config.stats)
{
#ifdef HAVE_SBRK
char *lim = sbrk (0);
char *lim = (char *) sbrk (0);
#endif
long run_time = get_run_time () - start_time;
@ -672,7 +672,8 @@ add_ysym (const char *name)
{
if (link_info.notice_hash == NULL)
{
link_info.notice_hash = xmalloc (sizeof (struct bfd_hash_table));
link_info.notice_hash =
(struct bfd_hash_table *) xmalloc (sizeof (struct bfd_hash_table));
if (!bfd_hash_table_init_n (link_info.notice_hash,
bfd_hash_newfunc,
sizeof (struct bfd_hash_entry),
@ -691,7 +692,8 @@ add_wrap (const char *name)
{
if (link_info.wrap_hash == NULL)
{
link_info.wrap_hash = xmalloc (sizeof (struct bfd_hash_table));
link_info.wrap_hash =
(struct bfd_hash_table *) xmalloc (sizeof (struct bfd_hash_table));
if (!bfd_hash_table_init_n (link_info.wrap_hash,
bfd_hash_newfunc,
sizeof (struct bfd_hash_entry),
@ -724,13 +726,14 @@ add_keepsyms_file (const char *filename)
return;
}
link_info.keep_hash = xmalloc (sizeof (struct bfd_hash_table));
link_info.keep_hash = (struct bfd_hash_table *)
xmalloc (sizeof (struct bfd_hash_table));
if (!bfd_hash_table_init (link_info.keep_hash, bfd_hash_newfunc,
sizeof (struct bfd_hash_entry)))
einfo (_("%P%F: bfd_hash_table_init failed: %E\n"));
bufsize = 100;
buf = xmalloc (bufsize);
buf = (char *) xmalloc (bufsize);
c = getc (file);
while (c != EOF)
@ -749,7 +752,7 @@ add_keepsyms_file (const char *filename)
if (len >= bufsize)
{
bufsize *= 2;
buf = xrealloc (buf, bufsize);
buf = (char *) xrealloc (buf, bufsize);
}
c = getc (file);
}
@ -780,7 +783,8 @@ add_archive_element (struct bfd_link_info *info,
{
lang_input_statement_type *input;
input = xcalloc (1, sizeof (lang_input_statement_type));
input = (lang_input_statement_type *)
xcalloc (1, sizeof (lang_input_statement_type));
input->filename = abfd->filename;
input->local_sym_name = abfd->filename;
input->the_bfd = abfd;
@ -1127,7 +1131,7 @@ warning_callback (struct bfd_link_info *info ATTRIBUTE_UNUSED,
static void
warning_find_reloc (bfd *abfd, asection *sec, void *iarg)
{
struct warning_callback_info *info = iarg;
struct warning_callback_info *info = (struct warning_callback_info *) iarg;
long relsize;
arelent **relpp;
long relcount;
@ -1142,7 +1146,7 @@ warning_find_reloc (bfd *abfd, asection *sec, void *iarg)
if (relsize == 0)
return;
relpp = xmalloc (relsize);
relpp = (arelent **) xmalloc (relsize);
relcount = bfd_canonicalize_reloc (abfd, sec, relpp, info->asymbols);
if (relcount < 0)
einfo (_("%B%F: could not read relocs: %E\n"), abfd);
@ -1190,7 +1194,8 @@ undefined_symbol (struct bfd_link_info *info ATTRIBUTE_UNUSED,
/* Only warn once about a particular undefined symbol. */
if (hash == NULL)
{
hash = xmalloc (sizeof (struct bfd_hash_table));
hash = (struct bfd_hash_table *)
xmalloc (sizeof (struct bfd_hash_table));
if (!bfd_hash_table_init (hash, bfd_hash_newfunc,
sizeof (struct bfd_hash_entry)))
einfo (_("%F%P: bfd_hash_table_init failed: %E\n"));
@ -1376,7 +1381,7 @@ notice (struct bfd_link_info *info,
if (name == NULL)
{
if (command_line.cref || nocrossref_list != NULL)
return handle_asneeded_cref (abfd, value);
return handle_asneeded_cref (abfd, (enum notice_asneeded_action) value);
return TRUE;
}

View File

@ -57,7 +57,7 @@ build_link_order (lang_statement_union_type *statement)
link_order->type = bfd_data_link_order;
link_order->offset = statement->data_statement.output_offset;
link_order->u.data.contents = xmalloc (QUAD_SIZE);
link_order->u.data.contents = (bfd_byte *) xmalloc (QUAD_SIZE);
value = statement->data_statement.value;
@ -198,7 +198,8 @@ build_link_order (lang_statement_union_type *statement)
link_order->offset = rs->output_offset;
link_order->size = bfd_get_reloc_size (rs->howto);
link_order->u.reloc.p = xmalloc (sizeof (struct bfd_link_order_reloc));
link_order->u.reloc.p = (struct bfd_link_order_reloc *)
xmalloc (sizeof (struct bfd_link_order_reloc));
link_order->u.reloc.p->reloc = rs->reloc;
link_order->u.reloc.p->addend = rs->addend_value;
@ -333,7 +334,7 @@ clone_section (bfd *abfd, asection *s, const char *name, int *count)
/* Invent a section name from the section name and a dotted numeric
suffix. */
len = strlen (name);
tname = xmalloc (len + 1);
tname = (char *) xmalloc (len + 1);
memcpy (tname, name, len + 1);
/* Remove a dotted number suffix, from a previous split link. */
while (len && ISDIGIT (tname[len-1]))

View File

@ -172,6 +172,25 @@ enum option_values
/* The long options. This structure is used for both the option
parsing and the help text. */
enum control_enum {
/* Use one dash before long option name. */
ONE_DASH,
/* Use two dashes before long option name. */
TWO_DASHES,
/* Only accept two dashes before the long option name.
This is an overloading of the use of this enum, since originally it
was only intended to tell the --help display function how to display
the long option name. This feature was added in order to resolve
the confusion about the -omagic command line switch. Is it setting
the output file name to "magic" or is it setting the NMAGIC flag on
the output ? It has been decided that it is setting the output file
name, and that if you want to set the NMAGIC flag you should use -N
or --omagic. */
EXACTLY_TWO_DASHES,
/* Don't mention this option in --help output. */
NO_HELP
};
struct ld_option
{
/* The long option information. */
@ -183,24 +202,7 @@ struct ld_option
/* The documentation string. If this is NULL, this is a synonym for
the previous option. */
const char *doc;
enum {
/* Use one dash before long option name. */
ONE_DASH,
/* Use two dashes before long option name. */
TWO_DASHES,
/* Only accept two dashes before the long option name.
This is an overloading of the use of this enum, since originally it
was only intended to tell the --help display function how to display
the long option name. This feature was added in order to resolve
the confusion about the -omagic command line switch. Is it setting
the output file name to "magic" or is it setting the NMAGIC flag on
the output ? It has been decided that it is setting the output file
name, and that if you want to set the NMAGIC flag you should use -N
or --omagic. */
EXACTLY_TWO_DASHES,
/* Don't mention this option in --help output. */
NO_HELP
} control;
enum control_enum control;
};
static const struct ld_option ld_options[] =
@ -590,9 +592,11 @@ parse_args (unsigned argc, char **argv)
int last_optind;
enum report_method how_to_report_unresolved_symbols = RM_GENERATE_ERROR;
shortopts = xmalloc (OPTION_COUNT * 3 + 2);
longopts = xmalloc (sizeof (*longopts) * (OPTION_COUNT + 1));
really_longopts = xmalloc (sizeof (*really_longopts) * (OPTION_COUNT + 1));
shortopts = (char *) xmalloc (OPTION_COUNT * 3 + 2);
longopts = (struct option *)
xmalloc (sizeof (*longopts) * (OPTION_COUNT + 1));
really_longopts = (struct option *)
malloc (sizeof (*really_longopts) * (OPTION_COUNT + 1));
/* Starting the short option string with '-' is for programs that
expect options and other ARGV-elements in any order and that care about
@ -677,7 +681,7 @@ parse_args (unsigned argc, char **argv)
{
char *n;
n = xmalloc (strlen (argv[i]) + 20);
n = (char *) xmalloc (strlen (argv[i]) + 20);
sprintf (n, "--library=%s", argv[i] + 2);
argv[i] = n;
}
@ -833,7 +837,8 @@ parse_args (unsigned argc, char **argv)
case 'f':
if (command_line.auxiliary_filters == NULL)
{
command_line.auxiliary_filters = xmalloc (2 * sizeof (char *));
command_line.auxiliary_filters = (char **)
xmalloc (2 * sizeof (char *));
command_line.auxiliary_filters[0] = optarg;
command_line.auxiliary_filters[1] = NULL;
}
@ -845,8 +850,8 @@ parse_args (unsigned argc, char **argv)
c = 0;
for (p = command_line.auxiliary_filters; *p != NULL; p++)
++c;
command_line.auxiliary_filters
= xrealloc (command_line.auxiliary_filters,
command_line.auxiliary_filters = (char **)
xrealloc (command_line.auxiliary_filters,
(c + 2) * sizeof (char *));
command_line.auxiliary_filters[c] = optarg;
command_line.auxiliary_filters[c + 1] = NULL;
@ -1092,7 +1097,7 @@ parse_args (unsigned argc, char **argv)
if (cp == NULL)
{
buf = xmalloc (rpath_len + optarg_len + 2);
buf = (char *) xmalloc (rpath_len + optarg_len + 2);
sprintf (buf, "%s%c%s", command_line.rpath,
config.rpath_separator, optarg);
free (command_line.rpath);
@ -1107,9 +1112,9 @@ parse_args (unsigned argc, char **argv)
{
char *buf;
buf = xmalloc (strlen (command_line.rpath_link)
+ strlen (optarg)
+ 2);
buf = (char *) xmalloc (strlen (command_line.rpath_link)
+ strlen (optarg)
+ 2);
sprintf (buf, "%s%c%s", command_line.rpath_link,
config.rpath_separator, optarg);
free (command_line.rpath_link);
@ -1224,7 +1229,7 @@ parse_args (unsigned argc, char **argv)
/* We must copy the section name as set_section_start
doesn't do it for us. */
len = optarg2 - optarg;
sec_name = xmalloc (len);
sec_name = (char *) xmalloc (len);
memcpy (sec_name, optarg, len - 1);
sec_name[len - 1] = 0;
@ -1549,7 +1554,7 @@ set_segment_start (const char *section, char *valstr)
}
/* There was no existing value so we must create a new segment
entry. */
seg = stat_alloc (sizeof (*seg));
seg = (segment_type *) stat_alloc (sizeof (*seg));
seg->name = name;
seg->value = val;
seg->used = FALSE;

View File

@ -68,7 +68,8 @@ lookup (const char *name, struct section_name_struct **list)
ptr = &((*ptr)->next);
}
*ptr = xmalloc (sizeof (struct section_name_struct));
*ptr = (struct section_name_struct *)
xmalloc (sizeof (struct section_name_struct));
return ptr;
}
@ -206,10 +207,10 @@ mri_draw_tree (void)
base = p->vma ? p->vma : exp_nameop (NAME, ".");
lang_enter_output_section_statement (p->name, base,
p->ok_to_load ? 0 : noload_section,
p->ok_to_load ? normal_section : noload_section,
align, subalign, NULL, 0);
base = 0;
tmp = xmalloc (sizeof *tmp);
tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
tmp->next = NULL;
tmp->spec.name = p->name;
tmp->spec.exclude_name_list = NULL;
@ -220,7 +221,7 @@ mri_draw_tree (void)
for (aptr = alias; aptr; aptr = aptr->next)
if (strcmp (aptr->alias, p->name) == 0)
{
tmp = xmalloc (sizeof *tmp);
tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
tmp->next = NULL;
tmp->spec.name = aptr->name;
tmp->spec.exclude_name_list = NULL;

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2009-09-04 14:36+0200\n"
"POT-Creation-Date: 2009-09-07 14:10+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -5908,22 +5908,24 @@ byte_re_match_2_internal (struct re_pattern_buffer *bufp,
longest match, try backtracking. */
if (d != end_match_2)
{
/* 1 if this match ends in the same string (string1 or string2)
as the best previous match. */
boolean same_str_p = (FIRST_STRING_P (match_end)
== MATCHING_IN_FIRST_STRING);
/* 1 if this match is the best seen so far. */
boolean best_match_p;
/* AIX compiler got confused when this was combined
with the previous declaration. */
if (same_str_p)
best_match_p = d > match_end;
else
best_match_p = !MATCHING_IN_FIRST_STRING;
{
/* 1 if this match ends in the same string (string1 or string2)
as the best previous match. */
boolean same_str_p = (FIRST_STRING_P (match_end)
== MATCHING_IN_FIRST_STRING);
DEBUG_PRINT1 ("backtracking.\n");
/* AIX compiler got confused when this was combined
with the previous declaration. */
if (same_str_p)
best_match_p = d > match_end;
else
best_match_p = !MATCHING_IN_FIRST_STRING;
DEBUG_PRINT1 ("backtracking.\n");
}
if (!FAIL_STACK_EMPTY ())
{ /* More failure points to try. */

View File

@ -1,3 +1,22 @@
2009-09-11 Nick Clifton <nickc@redhat.com>
* po/opcodes.pot: Updated by the Translation project.
2009-09-11 Martin Thuresson <martint@google.com>
Updated sources to compile cleanly with -Wc++-compat:
* ld.h (enum endian_enum,enum symbolic_enum,enum dynamic_list_enum): Move to top level.
* ldcref.c: Add casts.
* ldctor.c: Add casts.
* ldexp.c
* ldexp.h (enum node_tree_enum,enum phase_enum): Move to top level.
* ldlang.c: Add casts. (lang_insert_orphan): Use enum name instead of integer.
* ldlang.h (enum statement_enum): Move to top level.
* ldmain.c: Add casts.
* ldwrite.c: Add casts.
* lexsup.c: Add casts. (enum control_enum): Move to top level.
* mri.c: Add casts. (mri_draw_tree): Use enum name instead of integer.
2009-09-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* s390-dis.c (print_insn_s390): Avoid 'long long'.

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2009-09-07 12:08+0200\n"
"POT-Creation-Date: 2009-09-07 14:08+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"