From 1e9cc1c27b927dc95dfaec390eb492d29bbc7a0b Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 11 Sep 2009 15:27:38 +0000 Subject: [PATCH] * 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. --- bfd/ChangeLog | 4 + bfd/po/bfd.pot | 28 +- binutils/ChangeLog | 4 + binutils/po/binutils.pot | 2 +- gas/ChangeLog | 105 +++- gas/app.c | 2 +- gas/as.c | 9 +- gas/config/obj-elf.c | 108 ++-- gas/config/tc-i386-intel.c | 8 +- gas/config/tc-i386.c | 30 +- gas/dw2gencfi.c | 24 +- gas/dwarf2dbg.c | 38 +- gas/dwarf2dbg.h | 4 +- gas/ehopt.c | 28 +- gas/expr.c | 22 +- gas/frags.c | 2 +- gas/hash.c | 8 +- gas/input-scrub.c | 14 +- gas/listing.c | 33 +- gas/macro.c | 8 +- gas/macro.h | 14 +- gas/po/gas.pot | 2 +- gas/read.c | 25 +- gas/remap.c | 2 +- gas/stabs.c | 4 +- gas/subsegs.c | 6 +- gas/symbols.c | 16 +- gas/write.c | 6 +- gold/ChangeLog | 4 + gprof/ChangeLog | 16 + gprof/basic_blocks.c | 10 +- gprof/cg_dfn.c | 3 +- gprof/corefile.c | 23 +- gprof/gmon_io.c | 4 +- gprof/hist.c | 4 +- gprof/po/gprof.pot | 2 +- gprof/po/sv.po | 245 ++++----- gprof/source.c | 2 +- gprof/sym_ids.c | 24 +- ld/ChangeLog | 23 + ld/emultempl/elf32.em | 16 +- ld/ld.h | 32 +- ld/ldcref.c | 16 +- ld/ldctor.c | 12 +- ld/ldexp.c | 8 +- ld/ldexp.h | 56 +- ld/ldlang.c | 114 ++-- ld/ldlang.h | 40 +- ld/ldmain.c | 33 +- ld/ldwrite.c | 7 +- ld/lexsup.c | 67 +-- ld/mri.c | 9 +- ld/po/fi.po | 1062 +++++++++++++++++++++--------------- ld/po/ld.pot | 2 +- libiberty/regex.c | 26 +- opcodes/ChangeLog | 19 + opcodes/po/opcodes.pot | 2 +- 57 files changed, 1415 insertions(+), 1022 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 795f00d6f17..650f268b130 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2009-09-11 Nick Clifton + + * po/bfd.pot: Updated by the Translation project. + 2009-09-11 Philippe De Muyter * binary.c (binary_object_p): Remove bfd_external_binary_architecture diff --git a/bfd/po/bfd.pot b/bfd/po/bfd.pot index f60bb855dba..5f0021132ce 100644 --- a/bfd/po/bfd.pot +++ b/bfd/po/bfd.pot @@ -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 \n" "Language-Team: LANGUAGE \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 "" diff --git a/binutils/ChangeLog b/binutils/ChangeLog index e7bc7127290..7962c5e4f82 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2009-09-11 Nick Clifton + + * po/binutils.pot: Updated by the Translation project. + 2009-09-11 Philippe De Muyter * obcopy.c (copy_object): New parameter `input_arch', architecture diff --git a/binutils/po/binutils.pot b/binutils/po/binutils.pot index 40551651788..6a5ec379b72 100644 --- a/binutils/po/binutils.pot +++ b/binutils/po/binutils.pot @@ -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 \n" "Language-Team: LANGUAGE \n" diff --git a/gas/ChangeLog b/gas/ChangeLog index 6dc5e826bd1..fe66a379fb5 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,56 @@ +2009-09-11 Nick Clifton + + * po/gas.pot: Updated by the Translation project. + +2009-09-11 Martin Thuresson + + * 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 + + 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 PR gas/10623 @@ -225,7 +278,7 @@ 2009-09-02 Jie Zhang From Bernd Schmidt - * 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 - * 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 @@ -1084,7 +1137,7 @@ 2009-06-18 Nick Clifton 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. diff --git a/gas/app.c b/gas/app.c index 86685194cd0..56a0e12c59a 100644 --- a/gas/app.c +++ b/gas/app.c @@ -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; } diff --git a/gas/as.c b/gas/as.c index 87f6c461f2a..4d1c00f08c9 100644 --- a/gas/as.c +++ b/gas/as.c @@ -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. */ diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c index c7e2a836fb4..d477b4e31cc 100644 --- a/gas/config/obj-elf.c +++ b/gas/config/obj-elf.c @@ -269,7 +269,7 @@ elf_file_symbol (const char *s, int appfile) if (name_length > strlen (S_GET_NAME (sym))) { obstack_grow (¬es, s, name_length + 1); - S_SET_NAME (sym, obstack_finish (¬es)); + S_SET_NAME (sym, (const char *) obstack_finish (¬es)); } 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. */ diff --git a/gas/config/tc-i386-intel.c b/gas/config/tc-i386-intel.c index c12569fcb5a..ff20874b3f5 100644 --- a/gas/config/tc-i386-intel.c +++ b/gas/config/tc-i386-intel.c @@ -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; diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index af1994d0e25..a8dc7fc879f 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -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; } diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c index 0b4a64fa149..e8ba9163b06 100644 --- a/gas/dw2gencfi.c +++ b/gas/dw2gencfi.c @@ -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; diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c index 4d03659ae1a..42d7267ffdf 100644 --- a/gas/dwarf2dbg.c +++ b/gas/dwarf2dbg.c @@ -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 *) xmalloc (sizeof (*s)); - s->next = NULL; - s->seg = seg; - s->head = NULL; - *ps = s; + 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); - 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, diff --git a/gas/dwarf2dbg.h b/gas/dwarf2dbg.h index b019b289c0c..fdeac47f01a 100644 --- a/gas/dwarf2dbg.h +++ b/gas/dwarf2dbg.h @@ -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 *); diff --git a/gas/ehopt.c b/gas/ehopt.c index 1c1ac60099a..c09eb15b498 100644 --- a/gas/ehopt.c +++ b/gas/ehopt.c @@ -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: diff --git a/gas/expr.c b/gas/expr.c index e5496221814..b9ce5741981 100644 --- a/gas/expr.c +++ b/gas/expr.c @@ -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]); diff --git a/gas/frags.c b/gas/frags.c index af9af5c4263..fe3b4cced21 100644 --- a/gas/frags.c +++ b/gas/frags.c @@ -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; diff --git a/gas/hash.c b/gas/hash.c index 06fadcbf4d7..9d71ba8d4e2 100644 --- a/gas/hash.c +++ b/gas/hash.c @@ -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; diff --git a/gas/input-scrub.c b/gas/input-scrub.c index 522b485558c..a2cd31b3f6e 100644 --- a/gas/input-scrub.c +++ b/gas/input-scrub.c @@ -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); diff --git a/gas/listing.c b/gas/listing.c index d6777f22176..c8b6d63bc4f 100644 --- a/gas/listing.c +++ b/gas/listing.c @@ -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; diff --git a/gas/macro.c b/gas/macro.c index 2c72331f075..dd7f9a2f87a 100644 --- a/gas/macro.c +++ b/gas/macro.c @@ -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); diff --git a/gas/macro.h b/gas/macro.h index 4db8018e179..edc1b6bf2fe 100644 --- a/gas/macro.h +++ b/gas/macro.h @@ -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. */ diff --git a/gas/po/gas.pot b/gas/po/gas.pot index 14e3db3c567..a091ff33afc 100644 --- a/gas/po/gas.pot +++ b/gas/po/gas.pot @@ -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 \n" "Language-Team: LANGUAGE \n" diff --git a/gas/read.c b/gas/read.c index 5a384a655d2..5ebe288a9c1 100644 --- a/gas/read.c +++ b/gas/read.c @@ -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 (¬es, '\0'); - retval = obstack_finish (¬es); + retval = (char *) obstack_finish (¬es); } 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 (¬es, '\0'); - filename = obstack_finish (¬es); + filename = (char *) obstack_finish (¬es); 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; } } diff --git a/gas/remap.c b/gas/remap.c index ae078969eb4..b334b2c6e2d 100644 --- a/gas/remap.c +++ b/gas/remap.c @@ -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; diff --git a/gas/stabs.c b/gas/stabs.c index 69cca1de4b1..da399ad59d8 100644 --- a/gas/stabs.c +++ b/gas/stabs.c @@ -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++ = '"'; diff --git a/gas/subsegs.c b/gas/subsegs.c index 0fcd19cbff3..30f87043577 100644 --- a/gas/subsegs.c +++ b/gas/subsegs.c @@ -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); } diff --git a/gas/symbols.c b/gas/symbols.c index 9ce45886fbd..61623189cbf 100644 --- a/gas/symbols.c +++ b/gas/symbols.c @@ -109,7 +109,7 @@ save_symbol_name (const char *name) name_length = strlen (name) + 1; /* +1 for \0. */ obstack_grow (¬es, name, name_length); - ret = obstack_finish (¬es); + ret = (char *) obstack_finish (¬es); #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 (¬es, sizeof (symbolS)); + symbolP = (symbolS *) obstack_alloc (¬es, 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 (¬es, sizeof *ret); + ret = (struct local_symbol *) obstack_alloc (¬es, 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 (¬es, sizeof (*newsymP)); + newsymP = (symbolS *) obstack_alloc (¬es, 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 (¬es, strlen (message_format) + 30); + symbol_decode = (char *) obstack_alloc (¬es, strlen (message_format) + 30); sprintf (symbol_decode, message_format, label_number, instance_number, type); return symbol_decode; diff --git a/gas/write.c b/gas/write.c index c941ae6cb91..8adb87b94a3 100644 --- a/gas/write.c +++ b/gas/write.c @@ -156,7 +156,7 @@ fix_new_internal (fragS *frag, /* Which frag? */ n_fixups++; - fixP = obstack_alloc (¬es, sizeof (fixS)); + fixP = (fixS *) obstack_alloc (¬es, 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)) { diff --git a/gold/ChangeLog b/gold/ChangeLog index b486aea3bc4..006a2262f93 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,7 @@ +2009-09-11 Nick Clifton + + * po/gold.pot: Updated by the Translation project. + 2009-09-08 Cary Coutant * output.cc (Output_file::open): Add execute permission to empty file. diff --git a/gprof/ChangeLog b/gprof/ChangeLog index 927cae60206..a9cedc4315f 100644 --- a/gprof/ChangeLog +++ b/gprof/ChangeLog @@ -1,3 +1,19 @@ +2009-09-11 Nick Clifton + + * po/gprof.pot: Updated by the Translation project. + * po/sv.po: Updated Swedish translation. + +2009-09-11 Martin Thuresson + + 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 * po/gprof.pot: Regenerate. diff --git a/gprof/basic_blocks.c b/gprof/basic_blocks.c index bd24d00b8b4..20dd7c3b19d 100644 --- a/gprof/basic_blocks.c +++ b/gprof/basic_blocks.c @@ -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; diff --git a/gprof/cg_dfn.c b/gprof/cg_dfn.c index 6d19afcb587..6ded5564f0a 100644 --- a/gprof/cg_dfn.c +++ b/gprof/cg_dfn.c @@ -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; diff --git a/gprof/corefile.c b/gprof/corefile.c index 5c6fe6b51de..4cca08085ad 100644 --- a/gprof/corefile.c +++ b/gprof/corefile.c @@ -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); diff --git a/gprof/gmon_io.c b/gprof/gmon_io.c index bf74c263bd0..f48d3bcc1f0 100644 --- a/gprof/gmon_io.c +++ b/gprof/gmon_io.c @@ -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)); } diff --git a/gprof/hist.c b/gprof/hist.c index d0c02d3f0d4..a790fd48cce 100644 --- a/gprof/hist.c +++ b/gprof/hist.c @@ -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]; diff --git a/gprof/po/gprof.pot b/gprof/po/gprof.pot index 74db7e420c6..68a77a12e1f 100644 --- a/gprof/po/gprof.pot +++ b/gprof/po/gprof.pot @@ -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 \n" "Language-Team: LANGUAGE \n" diff --git a/gprof/po/sv.po b/gprof/po/sv.po index 7adaaee0b50..d57f27032e5 100644 --- a/gprof/po/sv.po +++ b/gprof/po/sv.po @@ -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 , 2001, 2002, 2004. -# Daniel Nylander , 2006, 2007. +# Daniel Nylander , 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 \n" "Language-Team: Swedish \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 "" -msgstr "" +msgstr "" #: 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 " [%d]\n" msgstr " [%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 \n" msgstr "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s \n" -#: cg_print.c:355 +#: cg_print.c:356 #, c-format msgid "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s \n" msgstr "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s \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 "" msgstr "" -#: 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 " " msgstr " " #~ 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" diff --git a/gprof/source.c b/gprof/source.c index 3943f33b196..1a445d3315f 100644 --- a/gprof/source.c +++ b/gprof/source.c @@ -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; diff --git a/gprof/sym_ids.c b/gprof/sym_ids.c index 657957e8c8a..1b589789dfe 100644 --- a/gprof/sym_ids.c +++ b/gprof/sym_ids.c @@ -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 *); diff --git a/ld/ChangeLog b/ld/ChangeLog index 721ba253d20..8d7288266eb 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,26 @@ +2009-09-11 Nick Clifton + + * po/ld.pot: Updated by the Translation project. + * po/fi.po: Updated Finnish translation. + +2009-09-11 Martin Thuresson + + 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 * scripttempl/aix.sc: Only provide ENTRY on final link. diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index 6f285ae3692..9518714e163 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em @@ -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 <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", diff --git a/ld/ld.h b/ld/ld.h index 32a140a34a2..10d2b338273 100644 --- a/ld/ld.h +++ b/ld/ld.h @@ -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; diff --git a/ld/ldcref.c b/ld/ldcref.c index 479cac90e2a..c329d7d9646 100644 --- a/ld/ldcref.c +++ b/ld/ldcref.c @@ -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); diff --git a/ld/ldctor.c b/ld/ldctor.c index 636b971c860..c4fd9e8f720 100644 --- a/ld/ldctor.c +++ b/ld/ldctor.c @@ -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) diff --git a/ld/ldexp.c b/ld/ldexp.c index 31681382516..2d0382815f1 100644 --- a/ld/ldexp.c +++ b/ld/ldexp.c @@ -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; diff --git a/ld/ldexp.h b/ld/ldexp.h index 1e0069dc022..a15f64a79cf 100644 --- a/ld/ldexp.h +++ b/ld/ldexp.h @@ -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; diff --git a/ld/ldlang.c b/ld/ldlang.c index ca18af966ed..e9f032ef359 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -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; diff --git a/ld/ldlang.h b/ld/ldlang.h index a4c3e219379..2a8740818eb 100644 --- a/ld/ldlang.h +++ b/ld/ldlang.h @@ -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 diff --git a/ld/ldmain.c b/ld/ldmain.c index 1771c58f251..aceb5951ed9 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -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; } diff --git a/ld/ldwrite.c b/ld/ldwrite.c index 42eb2cc55fd..2ff95472d63 100644 --- a/ld/ldwrite.c +++ b/ld/ldwrite.c @@ -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])) diff --git a/ld/lexsup.c b/ld/lexsup.c index 95a0403915d..d3d6e569837 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c @@ -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; diff --git a/ld/mri.c b/ld/mri.c index 05aed28a58b..1932a939ed6 100644 --- a/ld/mri.c +++ b/ld/mri.c @@ -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; diff --git a/ld/po/fi.po b/ld/po/fi.po index 9c7c20968a7..2589743a364 100644 --- a/ld/po/fi.po +++ b/ld/po/fi.po @@ -1,13 +1,15 @@ -# translation of ld-2.19.1.po to Finnish +# translation of ld-2.19.90.po to Finnish # This file is distributed under the same license as the binutils package. -# Copyright © 2007 Free Software Foundation, Inc. +# Copyright © 2009 Free Software Foundation, Inc. # Jorma Karvonen , 2007-2009. +# Jorma Karvonen , 2009. +# msgid "" msgstr "" -"Project-Id-Version: ld 2.19.1\n" +"Project-Id-Version: ld 2.19.90\n" "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" -"POT-Creation-Date: 2008-09-09 15:56+0930\n" -"PO-Revision-Date: 2009-06-21 23:39+0200\n" +"POT-Creation-Date: 2009-09-07 14:10+0200\n" +"PO-Revision-Date: 2009-09-11 12:10+0200\n" "Last-Translator: Jorma Karvonen \n" "Language-Team: Finnish \n" "MIME-Version: 1.0\n" @@ -33,145 +35,162 @@ msgstr " --thumb-entry= Aseta tulokohta Thumb-symboliksi \n" msgid "Errors encountered processing file %s" msgstr "Löydettiin virheitä käsiteltäessä tiedostoa %s" -#: emultempl/armcoff.em:190 emultempl/pe.em:1555 +#: emultempl/armcoff.em:190 emultempl/pe.em:1710 msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n" msgstr "%P: varoitus: ”--thumb-entry %s” korvaa argumentin ”-e %s”\n" -#: emultempl/armcoff.em:195 emultempl/pe.em:1560 +#: emultempl/armcoff.em:195 emultempl/pe.em:1715 msgid "%P: warning: cannot find thumb start symbol %s\n" msgstr "%P: varoitus: thumb-aloitussymbolia ”%s” ei löydy\n" -#: emultempl/pe.em:316 +#: emultempl/pe.em:371 #, c-format msgid " --base_file Generate a base file for relocatable DLLs\n" msgstr " --base_file Luo uudelleensijoitettavien DLL:ien kantatiedosto\n" -#: emultempl/pe.em:317 +#: emultempl/pe.em:372 #, c-format msgid " --dll Set image base to the default for DLLs\n" msgstr " --dll Aseta vedoskanta DLL:ien oletukseksi\n" -#: emultempl/pe.em:318 +#: emultempl/pe.em:373 #, c-format msgid " --file-alignment Set file alignment\n" msgstr " --file-alignment Aseta tiedostotasaus\n" -#: emultempl/pe.em:319 +#: emultempl/pe.em:374 #, c-format msgid " --heap Set initial size of the heap\n" msgstr " --heap Aseta keon aloituskoko\n" -#: emultempl/pe.em:320 +#: emultempl/pe.em:375 #, c-format msgid " --image-base
Set start address of the executable\n" msgstr " --image-base Aseta suoritettavien tiedostojen aloitusosoite\n" -#: emultempl/pe.em:321 +#: emultempl/pe.em:376 #, c-format msgid " --major-image-version Set version number of the executable\n" msgstr " --major-image-version Aseta suoritettavien tiedostojen versionumero\n" -#: emultempl/pe.em:322 +#: emultempl/pe.em:377 #, c-format msgid " --major-os-version Set minimum required OS version\n" msgstr " --major-os-version Aseta pienin vaadittu käyttöjärjestelmäversio\n" -#: emultempl/pe.em:323 +#: emultempl/pe.em:378 #, c-format msgid " --major-subsystem-version Set minimum required OS subsystem version\n" msgstr " --major-subsystem-version Aseta pienin vaadittu käyttöjärjestelmän alijärjestelmän versio\n" -#: emultempl/pe.em:324 +#: emultempl/pe.em:379 #, c-format msgid " --minor-image-version Set revision number of the executable\n" msgstr " --minor-image-version Asettaa suoritettavan tiedoston revisionumeron\n" -#: emultempl/pe.em:325 +#: emultempl/pe.em:380 #, c-format msgid " --minor-os-version Set minimum required OS revision\n" msgstr " --minor-os-version Aseta pienin vaadittu käyttöjärjestelmän revisionumero\n" -#: emultempl/pe.em:326 +#: emultempl/pe.em:381 #, c-format msgid " --minor-subsystem-version Set minimum required OS subsystem revision\n" msgstr " --minor-subsystem-version Aseta pienin vaadittu käyttöjärjestelmän alijärjestelmän revisionumero\n" -#: emultempl/pe.em:327 +#: emultempl/pe.em:382 #, c-format msgid " --section-alignment Set section alignment\n" msgstr " --section-alignment Aseta lohkotasaus\n" -#: emultempl/pe.em:328 +#: emultempl/pe.em:383 #, c-format msgid " --stack Set size of the initial stack\n" msgstr " --stack Aseta pinon aloituskoko\n" -#: emultempl/pe.em:329 +#: emultempl/pe.em:384 #, c-format msgid " --subsystem [:] Set required OS subsystem [& version]\n" msgstr " --subsystem [:] Aseta vaadittu käyttöjärjestelmän alijärjestelmä [& versio]\n" -#: emultempl/pe.em:330 +#: emultempl/pe.em:385 #, c-format msgid " --support-old-code Support interworking with old code\n" msgstr " --support-old-code Tue yhteistoimivuutta vanhan koodin kanssa\n" -#: emultempl/pe.em:331 +#: emultempl/pe.em:386 #, c-format msgid " --thumb-entry= Set the entry point to be Thumb \n" msgstr " --thumb-entry= Aseta tulokohdaksi ”Thumb ”\n" -#: emultempl/pe.em:333 +#: emultempl/pe.em:388 #, c-format msgid " --add-stdcall-alias Export symbols with and without @nn\n" msgstr " --add-stdcall-alias Vie symbolit ilman @nn:ää ja sen kanssa\n" -#: emultempl/pe.em:334 +#: emultempl/pe.em:389 #, c-format msgid " --disable-stdcall-fixup Don't link _sym to _sym@nn\n" msgstr " --disable-stdcall-fixup Älä linkitä symbolia _sym symboliin _sym@nn\n" -#: emultempl/pe.em:335 +#: emultempl/pe.em:390 #, c-format msgid " --enable-stdcall-fixup Link _sym to _sym@nn without warnings\n" msgstr " --enable-stdcall-fixup Linkitä symboli _sym symboliin _sym@nn ilman varoituksia\n" -#: emultempl/pe.em:336 +#: emultempl/pe.em:391 #, c-format msgid " --exclude-symbols sym,sym,... Exclude symbols from automatic export\n" msgstr " --exclude-symbols sym,sym,... Jätä symbolit pois automaattisesta viennistä\n" -#: emultempl/pe.em:337 +#: emultempl/pe.em:392 #, c-format msgid " --exclude-libs lib,lib,... Exclude libraries from automatic export\n" msgstr " --exclude-libs lib,lib,... Jätä kirjastot pois automaattisesta viennistä\n" -#: emultempl/pe.em:338 +#: emultempl/pe.em:393 +#, c-format +msgid " --exclude-modules-for-implib mod,mod,...\n" +msgstr " --exclude-modules-for-implib moduli,moduli,...\n" + +# Tämä teksti jatkuu seuraavassa merkkijonossa +#: emultempl/pe.em:394 +#, c-format +msgid " Exclude objects, archive members from auto\n" +msgstr " Jätä pois objektit, arkistojäsenet automaattisesta\n" + +# Tämä teksti on jatkoa edelliselle merkkijonolle +#: emultempl/pe.em:395 +#, c-format +msgid " export, place into import library instead.\n" +msgstr " viennistä, sijoita ne sen sijaan tuontikirjastoon.\n" + +#: emultempl/pe.em:396 #, c-format msgid " --export-all-symbols Automatically export all globals to DLL\n" msgstr " --export-all-symbols Vie kaikki yleismuuttujat automaattisesti DLL:ään\n" -#: emultempl/pe.em:339 +#: emultempl/pe.em:397 #, c-format msgid " --kill-at Remove @nn from exported symbols\n" msgstr " --kill-at Poista @nn viedyistä symboleista\n" -#: emultempl/pe.em:340 +#: emultempl/pe.em:398 #, c-format msgid " --out-implib Generate import library\n" msgstr " --out-implib Luo tuontikirjasto\n" -#: emultempl/pe.em:341 +#: emultempl/pe.em:399 #, c-format msgid " --output-def Generate a .DEF file for the built DLL\n" msgstr " --output-def Luo .DEF-tiedosto DLL:n rakentamiseen\n" -#: emultempl/pe.em:342 +#: emultempl/pe.em:400 #, c-format msgid " --warn-duplicate-exports Warn about duplicate exports.\n" msgstr " --warn-duplicate-exports Varoita kaksoiskappalevienneistä.\n" -#: emultempl/pe.em:343 +#: emultempl/pe.em:401 #, c-format msgid "" " --compat-implib Create backward compatible import libs;\n" @@ -180,7 +199,7 @@ msgstr "" " --compat-implib Luo taaksepäin yhteensopivat tuontikirjastot;\n" " luo myös __imp_.\n" -#: emultempl/pe.em:345 +#: emultempl/pe.em:403 #, c-format msgid "" " --enable-auto-image-base Automatically choose image base for DLLs\n" @@ -189,23 +208,23 @@ msgstr "" " --enable-auto-image-base Valitse automaattisesti vedoskanta DLL:ille\n" " jollei käyttäjä määrittele sellaista\n" -#: emultempl/pe.em:347 +#: emultempl/pe.em:405 #, c-format msgid " --disable-auto-image-base Do not auto-choose image base. (default)\n" msgstr " --disable-auto-image-base Älä valitse automaattisesti vedoskantaa. (oletus)\n" -#: emultempl/pe.em:348 +#: emultempl/pe.em:406 #, c-format msgid "" " --dll-search-prefix= When linking dynamically to a dll without\n" " an importlib, use .dll\n" " in preference to lib.dll \n" msgstr "" -" --dll-search-prefix= Kun linkitetään dynaamisesti dll:ään ilman\n" -" tuontikirjastoa, käytä ”.dll”\n" -" mieluimmin kuin ”lib.dll” \n" +" --dll-search-prefix= Kun linkitetään dynaamisesti dll:ään ilman\n" +" tuontikirjastoa, käytä ”.dll”\n" +" mieluimmin kuin ”lib.dll” \n" -#: emultempl/pe.em:351 +#: emultempl/pe.em:409 #, c-format msgid "" " --enable-auto-import Do sophistcated linking of _sym to\n" @@ -214,12 +233,12 @@ msgstr "" " --enable-auto-import Linkitä symboli _sym edistyksellisesti\n" " symboliin __imp_sym DATA-viitteille\n" -#: emultempl/pe.em:353 +#: emultempl/pe.em:411 #, c-format msgid " --disable-auto-import Do not auto-import DATA items from DLLs\n" msgstr " --disable-auto-import Älä tuo DATA-alkioita DLL:stä automaattisesti\n" -#: emultempl/pe.em:354 +#: emultempl/pe.em:412 #, c-format msgid "" " --enable-runtime-pseudo-reloc Work around auto-import limitations by\n" @@ -230,7 +249,7 @@ msgstr "" " lisäämällä ajoaikaisesti ratkaistavia pseudo-\n" " uudelleensijoitusalkioita.\n" -#: emultempl/pe.em:357 +#: emultempl/pe.em:415 #, c-format msgid "" " --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for\n" @@ -239,7 +258,7 @@ msgstr "" " --disable-runtime-pseudo-reloc Älä lisää ajoaikaisia pseudo-uudelleensijoitusalkioita\n" " automaattisesti tuotuun DATA:an.\n" -#: emultempl/pe.em:359 +#: emultempl/pe.em:417 #, c-format msgid "" " --enable-extra-pe-debug Enable verbose debug output when building\n" @@ -248,7 +267,7 @@ msgstr "" " --enable-extra-pe-debug Salli lavea debug-tulostus kun muodostetaan\n" " tai linkitetään DLL:ään (erityisesti automaattisessa tuonnissa)\n" -#: emultempl/pe.em:362 +#: emultempl/pe.em:420 #, c-format msgid "" " --large-address-aware Executable supports virtual addresses\n" @@ -257,84 +276,156 @@ msgstr "" " --large-address-aware Suoritettava tiedosto tukee virtuaaliosoitteita,\n" " jotka ovat suurempia kuin 2 gigatavua\n" +#: emultempl/pe.em:422 +#, c-format +msgid "" +" --enable-long-section-names Use long COFF section names even in\n" +" executable image files\n" +msgstr "" +" --enable-long-section-names Käytä pitkiä COFF-lohkonimiä myös suoritettavissa\n" +" vedostiedostoissa\n" + +#: emultempl/pe.em:424 +#, c-format +msgid "" +" --disable-long-section-names Never use long COFF section names, even\n" +" in object files\n" +msgstr "" +" --disable-long-section-names Älä koskaan käytä pitkiä COFF-lohkonimiä, ei edes\n" +" objektitiedostoissa\n" + +#: emultempl/pe.em:426 +#, c-format +msgid "" +" --dynamicbase\t\t\t Image base address may be relocated using\n" +"\t\t\t\t address space layout randomization (ASLR)\n" +msgstr "" +" --dynamicbase\t\t\t Vedoksen perusosoite voidaan sijoittaa uudelleen\n" +"\t\t\t\t käyttäen osoitetilan asettelun satunnaislukuhajautusta (ASLR)\n" + +#: emultempl/pe.em:428 +#, c-format +msgid " --forceinteg\t\t Code integrity checks are enforced\n" +msgstr " --forceinteg\t\t Koodin eheystarkistukset ovat valvottuja\n" + +#: emultempl/pe.em:429 +#, c-format +msgid " --nxcompat\t\t Image is compatible with data execution prevention\n" +msgstr " --nxcompat\t\t Vedos on yhteneväinen datasuorituseston kanssa\n" + +#: emultempl/pe.em:430 +#, c-format +msgid " --no-isolation\t\t Image understands isolation but do not isolate the image\n" +msgstr " --no-isolation\t\t Vedos ymmärtää eristyksen, mutta ei eristä vedosta\n" + +# SEH on lyhenne sanoista "SE Handler" #: emultempl/pe.em:431 +#, c-format +msgid "" +" --no-seh\t\t\t Image does not use SEH. No SE handler may\n" +"\t\t\t\t be called in this image\n" +msgstr "" +" --no-seh\t\t\t Vedos ei käytä SE-käsittelijää. SE-käsittelijää ei\n" +"\t\t\t\t saa kutsua tässä vedoksessa\n" + +#: emultempl/pe.em:433 +#, c-format +msgid " --no-bind\t\t\t Do not bind this image\n" +msgstr " --no-bind\t\t\t Älä sido tätä vedosta\n" + +#: emultempl/pe.em:434 +#, c-format +msgid " --wdmdriver\t\t Driver uses the WDM model\n" +msgstr " --wdmdriver\t\t Ajuri käyttää WDM-mallia\n" + +#: emultempl/pe.em:435 +#, c-format +msgid " --tsaware \t\t Image is Terminal Server aware\n" +msgstr " --tsaware \t\t Vedos on tietoinen pääteikkunapalvelimesta\n" + +#: emultempl/pe.em:503 msgid "%P: warning: bad version number in -subsystem option\n" msgstr "%P: varoitus: virheellinen versionumero ”-subsystem”-valitsimessa\n" -#: emultempl/pe.em:462 +#: emultempl/pe.em:534 msgid "%P%F: invalid subsystem type %s\n" msgstr "%P%F: Virheellinen alijärjestelmätyyppi %s\n" -#: emultempl/pe.em:501 +#: emultempl/pe.em:573 msgid "%P%F: invalid hex number for PE parameter '%s'\n" msgstr "%P%F: virheellinen heksadesimaalinumero PE-parametrille ”%s”\n" -#: emultempl/pe.em:518 +#: emultempl/pe.em:590 msgid "%P%F: strange hex info for PE parameter '%s'\n" msgstr "%P%F: outo heksadesimaalinumerotieto PE-parameterílle ”%s”\n" -#: emultempl/pe.em:535 +#: emultempl/pe.em:607 #, c-format msgid "%s: Can't open base file %s\n" msgstr "%s: Ei voi avata kantatiedostoa %s\n" -#: emultempl/pe.em:752 +#: emultempl/pe.em:870 msgid "%P: warning, file alignment > section alignment.\n" msgstr "%P: varoitus, tiedostotasaus > lohkotasaus.\n" -#: emultempl/pe.em:839 emultempl/pe.em:866 +#: emultempl/pe.em:899 +msgid "%P: warning: --export-dynamic is not supported for PE targets, did you mean --export-all-symbols?\n" +msgstr "%P: varoitus: --export-dynamic ei tueta PE-kohteille, tarkoititko --export-all-symbols?\n" + +#: emultempl/pe.em:963 emultempl/pe.em:990 #, c-format msgid "Warning: resolving %s by linking to %s\n" msgstr "Varoitus: ratkaistaan %s linkittämällä kohteeseen %s\n" -#: emultempl/pe.em:844 emultempl/pe.em:871 +# enable -> disable ??? +#: emultempl/pe.em:968 emultempl/pe.em:995 msgid "Use --enable-stdcall-fixup to disable these warnings\n" -msgstr "Käytä --enable-stdcall-fixup disabloimaan nämä varoitukset\n" +msgstr "Käytä --enable-stdcall-fixup poistamaan nämä varoitukset käytöstä\n" -#: emultempl/pe.em:845 emultempl/pe.em:872 +#: emultempl/pe.em:969 emultempl/pe.em:996 msgid "Use --disable-stdcall-fixup to disable these fixups\n" -msgstr "Käytä --disable-stdcall-fixup-valitsinta näiden korjauksien disabloimiseksi\n" +msgstr "Käytä --disable-stdcall-fixup poistamaan nämä korjaukset käytöstä\n" -#: emultempl/pe.em:891 +#: emultempl/pe.em:1015 #, c-format msgid "%C: Cannot get section contents - auto-import exception\n" msgstr "%C: Lohkosisältöä ei saada - automaattituonnin poikkeus\n" -#: emultempl/pe.em:931 +#: emultempl/pe.em:1055 #, c-format msgid "Info: resolving %s by linking to %s (auto-import)\n" msgstr "Tieto: ratkaistaan %s linkittämällä kohteeseen %s (automaattituonti)\n" -#: emultempl/pe.em:938 +#: emultempl/pe.em:1062 msgid "" "%P: warning: auto-importing has been activated without --enable-auto-import specified on the command line.\n" -"This should work unless it involves constant data structures referencing symbols from auto-imported DLLs." +"This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.\n" msgstr "" "%P: varoitus: automaattinen tuonti on aktivoitu määrittelemättä ”--enable-auto-import”-argumenttia komentorivillä.\n" -"Tämän pitäisi toimia ellei se sisällä vakiodatarakenteita, jotka viittaavat automaattisesti tuotujen DLL:ien symboleihin." +"Tämän pitäisi toimia ellei se sisällä vakiodatarakenteita, jotka viittaavat automaattisesti tuotujen DLL:ien symboleihin.\n" -#: emultempl/pe.em:945 emultempl/pe.em:1113 emultempl/pe.em:1319 ldcref.c:488 -#: ldcref.c:586 ldmain.c:1105 ldmisc.c:285 pe-dll.c:622 pe-dll.c:1153 -#: pe-dll.c:1250 +#: emultempl/pe.em:1069 emultempl/pe.em:1268 emultempl/pe.em:1474 ldcref.c:488 +#: ldcref.c:586 ldmain.c:1107 ldmisc.c:285 pe-dll.c:683 pe-dll.c:1227 +#: pe-dll.c:1324 msgid "%B%F: could not read symbols: %E\n" msgstr "%B%F: ei voinut lukea symboleja: %E\n" -#: emultempl/pe.em:1018 +#: emultempl/pe.em:1149 msgid "%F%P: cannot perform PE operations on non PE output file '%B'.\n" msgstr "%F%P: ei voi suorittaa PE-toimintoja ei-PE-tulostetiedostossa ”%B”.\n" -#: emultempl/pe.em:1360 +#: emultempl/pe.em:1515 #, c-format msgid "Errors encountered processing file %s\n" msgstr "Tiedostoa %s käsitellessä syntyi virheitä\n" -#: emultempl/pe.em:1383 +#: emultempl/pe.em:1538 #, c-format -msgid "Errors encountered processing file %s for interworking" -msgstr "Virheitä syntyi käsiteltäessä tiedostoa %s yhteistoimivuutta varten" +msgid "Errors encountered processing file %s for interworking\n" +msgstr "Virheitä syntyi käsiteltäessä tiedostoa %s yhteistoimivuutta varten\n" -#: emultempl/pe.em:1444 ldexp.c:540 ldlang.c:3131 ldlang.c:6448 ldlang.c:6479 -#: ldmain.c:1050 +#: emultempl/pe.em:1599 ldexp.c:539 ldlang.c:3276 ldlang.c:6636 ldlang.c:6667 +#: ldmain.c:1052 msgid "%P%F: bfd_link_hash_lookup failed: %E\n" msgstr "%P%F: bfd_link_hash_lookup epäonnistui: %E\n" @@ -379,7 +470,7 @@ msgstr "Ei symboleja\n" msgid "%P: symbol `%T' missing from main hash table\n" msgstr "%P: puuttuu symboli ”%T” pää-hash-taulusta\n" -#: ldcref.c:648 ldcref.c:655 ldmain.c:1139 ldmain.c:1146 +#: ldcref.c:648 ldcref.c:655 ldmain.c:1141 ldmain.c:1148 msgid "%B%F: could not read relocs: %E\n" msgstr "%B%F: ei voitu lukea reloc-alkioita: %E\n" @@ -391,23 +482,23 @@ msgstr "%B%F: ei voitu lukea reloc-alkioita: %E\n" msgid "%X%C: prohibited cross reference from %s to `%T' in %s\n" msgstr "%X%C: kielletyt ristiviitteet lohkosta %s lohkoon ”%T” kohteessa %s\n" -#: ldctor.c:84 +#: ldctor.c:85 msgid "%P%X: Different relocs used in set %s\n" msgstr "%P%X: Erilaisia reloc-alkioita käytetty joukossa %s\n" -#: ldctor.c:102 +#: ldctor.c:103 msgid "%P%X: Different object file formats composing set %s\n" msgstr "%P%X: Erilaisia objektitiedostomuotoja koottaessa joukkoa %s\n" -#: ldctor.c:281 ldctor.c:295 +#: ldctor.c:279 ldctor.c:293 msgid "%P%X: %s does not support reloc %s for set %s\n" msgstr "%P%X: %s ei tue reloc-alkiota %s joukolle %s\n" -#: ldctor.c:316 +#: ldctor.c:314 msgid "%P%X: Unsupported size %d for set %s\n" msgstr "%P%X: Kokoa %d ei tueta joukolle %s\n" -#: ldctor.c:337 +#: ldctor.c:335 msgid "" "\n" "Set Symbol\n" @@ -417,88 +508,88 @@ msgstr "" "Joukko Symboli\n" "\n" -#: ldemul.c:235 +#: ldemul.c:239 #, c-format msgid "%S SYSLIB ignored\n" msgstr "%S SYSLIB:ä ei oteta huomioon\n" -#: ldemul.c:241 +#: ldemul.c:245 #, c-format msgid "%S HLL ignored\n" msgstr "%S HLL:ä ei oteta huomioon\n" -#: ldemul.c:261 +#: ldemul.c:265 msgid "%P: unrecognised emulation mode: %s\n" msgstr "%P: tunnistamaton emulointitila: %s\n" -#: ldemul.c:262 +#: ldemul.c:266 msgid "Supported emulations: " msgstr "Tuetut emuloinnit:" -#: ldemul.c:304 +#: ldemul.c:308 #, c-format msgid " no emulation specific options.\n" msgstr " ei emulointikohtaisia valitsimia.\n" -#: ldexp.c:350 +#: ldexp.c:352 #, c-format msgid "%F%S %% by zero\n" msgstr "%F%S %% nollalla\n" -#: ldexp.c:358 +#: ldexp.c:360 #, c-format msgid "%F%S / by zero\n" msgstr "%F%S / nollalla\n" -#: ldexp.c:554 +#: ldexp.c:553 #, c-format msgid "%X%S: unresolvable symbol `%s' referenced in expression\n" msgstr "%X%S: lausekkeessa viitattu ratkaisemattomaan symboliin ”%s”\n" -#: ldexp.c:565 +#: ldexp.c:564 #, c-format msgid "%F%S: undefined symbol `%s' referenced in expression\n" msgstr "%F%S: lausekkeessa viitattu ratkaisemattomaan symboliin ”%s”\n" -#: ldexp.c:586 ldexp.c:603 ldexp.c:630 +#: ldexp.c:585 ldexp.c:602 ldexp.c:629 #, c-format msgid "%F%S: undefined section `%s' referenced in expression\n" msgstr "%F%S: lausekkeessa viitattu määrittelemättömään lohkoon ”%s”\n" -#: ldexp.c:657 ldexp.c:670 +#: ldexp.c:656 ldexp.c:669 #, c-format msgid "%F%S: undefined MEMORY region `%s' referenced in expression\n" msgstr "%F%S: lausekkeessa viitattu määrittelemättömään MEMORY-alueeseen ”%s”\n" -#: ldexp.c:681 +#: ldexp.c:680 #, c-format msgid "%F%S: unknown constant `%s' referenced in expression\n" msgstr "%F%S: lausekkeessa viitattu tuntemattomaan vakioon ”%s”\n" -#: ldexp.c:742 +#: ldexp.c:741 #, c-format msgid "%F%S can not PROVIDE assignment to location counter\n" msgstr "%F%S ei voi ANTAA sijoitusta sijoituslaskuriin\n" -#: ldexp.c:756 +#: ldexp.c:755 #, c-format msgid "%F%S invalid assignment to location counter\n" msgstr "%F%S virheellinen sijoitus sijoituslaskuriin\n" -#: ldexp.c:759 +#: ldexp.c:758 #, c-format msgid "%F%S assignment to location counter invalid outside of SECTION\n" msgstr "%F%S sijoitus sijoituslaskuriin virheellinen SECTION-lohkon ulkopuolella\n" -#: ldexp.c:768 +#: ldexp.c:767 msgid "%F%S cannot move location counter backwards (from %V to %V)\n" msgstr "%F%S ei voi siirtää sijoituslaskuria taaksepäin (arvosta %V arvoon %V)\n" -#: ldexp.c:807 +#: ldexp.c:806 msgid "%P%F:%s: hash creation failed\n" msgstr "%P%F:%s: hash-luonti ei onnistunut\n" -#: ldexp.c:1066 ldexp.c:1091 ldexp.c:1150 +#: ldexp.c:1065 ldexp.c:1090 ldexp.c:1149 #, c-format msgid "%F%S: nonconstant expression for %s\n" msgstr "%F%S: ei-vakio lauseke kohteelle %s\n" @@ -552,31 +643,43 @@ msgstr "ei löydy skriptitiedostoa %s\n" msgid "opened script file %s\n" msgstr "avattiin skriptitiedosto %s\n" -#: ldfile.c:601 +#: ldfile.c:586 msgid "%P%F: cannot open linker script file %s: %E\n" msgstr "%P%F: ei voi avata linkkerin skriptitiedostoa %s: %E\n" -#: ldfile.c:648 +#: ldfile.c:651 msgid "%P%F: cannot represent machine `%s'\n" msgstr "%P%F: ei voi edustaa konetta ”%s”\n" -#: ldlang.c:1124 ldlang.c:1166 ldlang.c:2880 +#: ldlang.c:1142 ldlang.c:1184 ldlang.c:3006 msgid "%P%F: can not create hash table: %E\n" msgstr "%P%F: ei voida luoda hash-taulua: %E\n" -#: ldlang.c:1209 -msgid "%P:%S: warning: redeclaration of memory region '%s'\n" -msgstr "%P:%S: varoitus: muistialueen ”%s” uudelleenmäärittely\n" +#: ldlang.c:1235 +msgid "%P:%S: warning: redeclaration of memory region `%s'\n" +msgstr "%P:%S: varoitus: uudelleenesitelty muistialue ”%s”\n" + +#: ldlang.c:1241 +msgid "%P:%S: warning: memory region `%s' not declared\n" +msgstr "%P:%S: varoitus: muistialuetta ”%s” ei ole esitelty\n" + +#: ldlang.c:1275 +msgid "%F%P:%S: error: alias for default memory region\n" +msgstr "%F%P:%S: virhe: alias oletusmuistialueelle\n" + +#: ldlang.c:1286 +msgid "%F%P:%S: error: redefinition of memory region alias `%s'\n" +msgstr "%F%P:%S: virhe: uudelleenmäärittely muistialuealiakselle ”%s”\n" -#: ldlang.c:1215 -msgid "%P:%S: warning: memory region %s not declared\n" -msgstr "%P:%S: varoitus: muistialuetta %s ei ole määritelty\n" +#: ldlang.c:1293 +msgid "%F%P:%S: error: memory region `%s' for alias `%s' does not exist\n" +msgstr "%F%P:%S: virhe: muistialuetta ”%s” aliakselle ”%s” ei ole olemassa\n" -#: ldlang.c:1270 ldlang.c:1305 +#: ldlang.c:1345 ldlang.c:1384 msgid "%P%F: failed creating section `%s': %E\n" msgstr "%P%F: ei onnistuttu luomaan lohkoa ”%s”: %E\n" -#: ldlang.c:1799 +#: ldlang.c:1927 #, c-format msgid "" "\n" @@ -587,7 +690,7 @@ msgstr "" "Hylätyt syötelohkot\n" "\n" -#: ldlang.c:1807 +#: ldlang.c:1935 msgid "" "\n" "Memory Configuration\n" @@ -597,23 +700,23 @@ msgstr "" "Muistiasetukset\n" "\n" -#: ldlang.c:1809 +#: ldlang.c:1937 msgid "Name" msgstr "Nimi" -#: ldlang.c:1809 +#: ldlang.c:1937 msgid "Origin" msgstr "Alkupiste" -#: ldlang.c:1809 +#: ldlang.c:1937 msgid "Length" msgstr "Pituus" -#: ldlang.c:1809 +#: ldlang.c:1937 msgid "Attributes" msgstr "Attribuutit" -#: ldlang.c:1849 +#: ldlang.c:1977 #, c-format msgid "" "\n" @@ -624,171 +727,189 @@ msgstr "" "Linkitysskripti ja muistikartta\n" "\n" -#: ldlang.c:1915 +#: ldlang.c:2045 msgid "%P%F: Illegal use of `%s' section\n" msgstr "%P%F: ”%s”-lohkon virheellinen käyttö\n" -#: ldlang.c:1923 +#: ldlang.c:2054 msgid "%P%F: output format %s cannot represent section called %s\n" msgstr "%P%F: tulostemuoto %s ei voi edustaa lohkoa, jonka nimi on %s\n" -#: ldlang.c:2473 +#: ldlang.c:2602 msgid "%B: file not recognized: %E\n" msgstr "%B: tiedostoa ei ole tunnistettu: %E\n" -#: ldlang.c:2474 +#: ldlang.c:2603 msgid "%B: matching formats:" msgstr "%B: täsmäävät muodot:" -#: ldlang.c:2481 +#: ldlang.c:2610 msgid "%F%B: file not recognized: %E\n" msgstr "%F%B: tiedostoa ei ole tunnistettu: %E\n" -#: ldlang.c:2551 +#: ldlang.c:2677 msgid "%F%B: member %B in archive is not an object\n" msgstr "%F%B: arkiston jäsen %B ei ole objekti\n" -#: ldlang.c:2562 ldlang.c:2576 +#: ldlang.c:2688 ldlang.c:2702 msgid "%F%B: could not read symbols: %E\n" msgstr "%F%B: ei voitu lukea symboleja: %E\n" -#: ldlang.c:2850 +#: ldlang.c:2976 msgid "%P: warning: could not find any targets that match endianness requirement\n" msgstr "%P: varoitus: ei löytynyt yhtään kohdetta, joka olisi täsmännyt tavujärjestysvaatimuksen kanssa\n" # Binary File Descriptor -kohde -#: ldlang.c:2864 +#: ldlang.c:2990 msgid "%P%F: target %s not found\n" msgstr "%P%F: bfd-kohdetta %s ei löytynyt\n" -#: ldlang.c:2866 +#: ldlang.c:2992 msgid "%P%F: cannot open output file %s: %E\n" msgstr "%P%F: ei voi avata tulostetiedostoa %s: %E\n" -#: ldlang.c:2872 +#: ldlang.c:2998 msgid "%P%F:%s: can not make object file: %E\n" msgstr "%P%F:%s: ei voi tehdä objektitiedostoa: %E\n" -#: ldlang.c:2876 +#: ldlang.c:3002 msgid "%P%F:%s: can not set architecture: %E\n" msgstr "%P%F:%s: ei voi asettaa arkkitehtuuria: %E\n" -#: ldlang.c:3024 +#: ldlang.c:3143 +msgid "%P: warning: %s contains output sections; did you forget -T?\n" +msgstr "%P: varoitus: %s sisältää tulostelohkoja; unohditko valitsimen -T?\n" + +#: ldlang.c:3169 msgid "%P%F: bfd_hash_lookup failed creating symbol %s\n" msgstr "%P%F: bfd_hash_lookup ei onnistunut luomaan symbolia %s\n" -#: ldlang.c:3042 +#: ldlang.c:3187 msgid "%P%F: bfd_hash_allocate failed creating symbol %s\n" msgstr "%P%F: bfd_hash_allocate ei onnistunut luomaan symbolia %s\n" -#: ldlang.c:3418 +#: ldlang.c:3566 msgid "%F%P: %s not found for insert\n" msgstr "%F%P: kohdetta %s ei löydy sijoitusta varten\n" -#: ldlang.c:3633 +#: ldlang.c:3781 msgid " load address 0x%V" msgstr " latausosoite 0x%V" -#: ldlang.c:3873 +# Kun käskykohdemuuttuja on sen lukualueen ulkopuolella, joka sallitaan kullekin käskykentälle, +# assembler voi muuntaa koodin käyttämään toiminnallisesti samanlaista käskyä tai käskysekvenssiä. +# Tämä prosessi tunnetaan nimellä relaxation. Tätä tehdään tyypillisesti haarautumiskäskyissä, koska +# haarautumiskohteen etäisyyttä ei tunneta ennen linkitystä. Tavallaan tällä tavalla kumotaan lukualueen +# rajoitteet (constraints). Siksi olen suomentanut sen termillä avartaminen. +#: ldlang.c:4052 msgid "%W (size before relaxing)\n" -msgstr "%W (koko ennen relaxing)\n" +msgstr "%W (koko ennen avartamista)\n" -#: ldlang.c:3964 +#: ldlang.c:4143 #, c-format msgid "Address of section %s set to " msgstr "Lohkon %s osoitteeksi asetetaan " -#: ldlang.c:4117 +#: ldlang.c:4296 #, c-format msgid "Fail with %d\n" msgstr "Ei onnistuttu kohteella %d\n" -#: ldlang.c:4397 -msgid "%X%P: section %s [%V -> %V] overlaps section %s [%V -> %V]\n" -msgstr "%X%P: lohko %s [%V -> %V] menee päällekkäin lohkon %s [%V -> %V] kanssa\n" +#: ldlang.c:4579 +msgid "%X%P: section %s loaded at [%V,%V] overlaps section %s loaded at [%V,%V]\n" +msgstr "%X%P: lohko %s, joka on ladattu osoitteesta [%V,%V] menee päällekkäin lohkon %s, joka on ladattu osoitteesta [%V,%V]\n" -#: ldlang.c:4413 -msgid "%X%P: region %s overflowed by %ld bytes\n" -msgstr "%X%P: alueen %s ylitys on %ld tavua\n" +#: ldlang.c:4595 +msgid "%X%P: region `%s' overflowed by %ld bytes\n" +msgstr "%X%P: alueen ”%s” ylitys on %ld tavua\n" -#: ldlang.c:4436 -msgid "%X%P: address 0x%v of %B section %s is not within region %s\n" -msgstr "%X%P: osoite 0x%v kohteen %B lohkossa %s ei ole alueen %s sisällä\n" +#: ldlang.c:4618 +msgid "%X%P: address 0x%v of %B section `%s' is not within region `%s'\n" +msgstr "%X%P: osoite 0x%v kohteen %B lohkossa ”%s” ei ole alueen ”%s” sisällä\n" -#: ldlang.c:4447 -msgid "%X%P: %B section %s will not fit in region %s\n" -msgstr "%X%P: kohteen %B lohko %s ei ole alueen %s sisällä\n" +#: ldlang.c:4629 +msgid "%X%P: %B section `%s' will not fit in region `%s'\n" +msgstr "%X%P: kohteen %B lohko ”%s” ei mahdu alueen ”%s” sisälle\n" -#: ldlang.c:4487 +#: ldlang.c:4669 #, c-format msgid "%F%S: non constant or forward reference address expression for section %s\n" msgstr "%F%S: ei-vakio tai edelleenviiteosoitelauseke lohkolle %s\n" -#: ldlang.c:4512 +#: ldlang.c:4694 msgid "%P%X: Internal error on COFF shared library section %s\n" msgstr "%P%X: Sisäinen virhe COFF-tiedoston jaetussa kirjastolohkossa %s\n" -#: ldlang.c:4571 +#: ldlang.c:4753 msgid "%P%F: error: no memory region specified for loadable section `%s'\n" msgstr "%P%F: virhe: ladattavalle lohkolle ”%s” ei ole määritelty muistialuetta\n" -#: ldlang.c:4576 +#: ldlang.c:4758 msgid "%P: warning: no memory region specified for loadable section `%s'\n" msgstr "%P: varoitus: ladattavalle lohkolle ”%s” ei ole määritelty muistialuetta\n" -#: ldlang.c:4598 +#: ldlang.c:4780 msgid "%P: warning: changing start of section %s by %lu bytes\n" msgstr "%P: varoitus: vaihdetaan lohkon %s alkua %lu tavulla\n" -#: ldlang.c:4675 +#: ldlang.c:4862 msgid "%P: warning: dot moved backwards before `%s'\n" msgstr "%P: varoitus: pistettä siirretty taaksepäin ennen kohdetta ”%s”\n" -#: ldlang.c:4848 +# Kun käskykohdemuuttuja on sen lukualueen ulkopuolella, joka sallitaan kullekin käskykentälle, +# assembler voi muuntaa koodin käyttämään toiminnallisesti samanlaista käskyä tai käskysekvenssiä. +# Tämä prosessi tunnetaan nimellä relaxation. Tätä tehdään tyypillisesti haarautumiskäskyissä, koska +# haarautumiskohteen etäisyyttä ei tunneta ennen linkitystä. Tavallaan tällä tavalla kumotaan lukualueen +# rajoitteet (constraints). Siksi olen suomentanut sen termillä avartaminen. +#: ldlang.c:5035 msgid "%P%F: can't relax section: %E\n" -msgstr "%P%F: ei voi vapauttaa lohkoa: %E\n" +msgstr "%P%F: ei voi avartaa lohkoa: %E\n" -#: ldlang.c:5170 +#: ldlang.c:5357 msgid "%F%P: invalid data statement\n" msgstr "%F%P: virheellinen data-lause\n" -#: ldlang.c:5203 +#: ldlang.c:5390 msgid "%F%P: invalid reloc statement\n" msgstr "%F%P: virheellinen reloc-lause\n" -#: ldlang.c:5322 +#: ldlang.c:5509 msgid "%P%F: gc-sections requires either an entry or an undefined symbol\n" msgstr "%P%F: gc-lohkot vaativat joko alkion tai määrittelemättömän symbolin\n" -#: ldlang.c:5347 +#: ldlang.c:5534 msgid "%P%F:%s: can't set start address\n" msgstr "%P%F:%s: ei voi asettaa aloitusosoitetta\n" -#: ldlang.c:5360 ldlang.c:5379 +#: ldlang.c:5547 ldlang.c:5566 msgid "%P%F: can't set start address\n" msgstr "%P%F: ei voi asettaa aloitusosoitetta\n" -#: ldlang.c:5372 +#: ldlang.c:5559 msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n" msgstr "%P: varoitus: tulosymbolia %s ei löydy, asetaan oletukseksi %V\n" -#: ldlang.c:5384 +#: ldlang.c:5571 msgid "%P: warning: cannot find entry symbol %s; not setting start address\n" msgstr "%P: varoitus: tulosymbolia %s ei löydy, ei aseta aloitusosoitetta\n" -#: ldlang.c:5434 +#: ldlang.c:5621 msgid "%P%F: Relocatable linking with relocations from format %s (%B) to format %s (%B) is not supported\n" msgstr "%P%F: Uudelleensijoituslinkitystä uudelleensijoituksilla muodosta %s (%B) muotoon %s (%B) ei tueta\n" -#: ldlang.c:5444 +#: ldlang.c:5631 msgid "%P%X: %s architecture of input file `%B' is incompatible with %s output\n" msgstr "%P%X: %s syötetiedoston ”%B” arkkitehtuuri ei täsmää tulosteen %s kanssa\n" -#: ldlang.c:5466 +#: ldlang.c:5653 msgid "%P%X: failed to merge target specific data of file %B\n" msgstr "%P%X: ei onnistuttu yhdistää kohdekohtaista tiedostodataa %B\n" -#: ldlang.c:5567 +#: ldlang.c:5724 +msgid "%P%F: Could not define common symbol `%T': %E\n" +msgstr "%B%F: Ei voitu määritellä yhteissymbolia ”%T”: %E\n" + +#: ldlang.c:5736 msgid "" "\n" "Allocating common symbols\n" @@ -796,7 +917,7 @@ msgstr "" "\n" "Varataan muistia yhteissymboleille\n" -#: ldlang.c:5568 +#: ldlang.c:5737 msgid "" "Common symbol size file\n" "\n" @@ -804,55 +925,55 @@ msgstr "" "Yhteissymboli koko tiedosto\n" "\n" -#: ldlang.c:5701 +#: ldlang.c:5878 msgid "%P%F: invalid syntax in flags\n" msgstr "%P%F: virheellinen syntaksi lipussa\n" -#: ldlang.c:6069 +#: ldlang.c:6270 msgid "%P%F: Failed to create hash table\n" msgstr "%P%F: ei onnistuttu luomaan hash-taulua\n" -#: ldlang.c:6370 +#: ldlang.c:6549 msgid "%P%F: multiple STARTUP files\n" msgstr "%P%F: useita STARTUP-tiedostoja\n" -#: ldlang.c:6418 +#: ldlang.c:6597 msgid "%X%P:%S: section has both a load address and a load region\n" msgstr "%X%P:%S: lohkossa on sekä latausosoite että latausalue\n" -#: ldlang.c:6652 +#: ldlang.c:6844 msgid "%F%P: no sections assigned to phdrs\n" msgstr "%F%P: kohteeseen ”phdrs” ei ole liitetty lohkoja\n" -#: ldlang.c:6689 +#: ldlang.c:6881 msgid "%F%P: bfd_record_phdr failed: %E\n" msgstr "%F%P: bfd_record_phdr ei onnistunut: %E\n" -#: ldlang.c:6709 +#: ldlang.c:6901 msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n" msgstr "%X%P: lohko ”%s” liitetty phdr-kohteeseen ”%s”, joka ei ole olemassa\n" -#: ldlang.c:7100 +#: ldlang.c:7299 msgid "%X%P: unknown language `%s' in version information\n" msgstr "%X%P: tuntematon kieli ”%s” versiotiedoissa\n" -#: ldlang.c:7242 +#: ldlang.c:7441 msgid "%X%P: anonymous version tag cannot be combined with other version tags\n" msgstr "%X%P: nimetöntä versiotunnistetta ei voi yhdistää muihin versiotunnisteisiin\n" -#: ldlang.c:7251 +#: ldlang.c:7450 msgid "%X%P: duplicate version tag `%s'\n" msgstr "%X%P: kaksoiskappaleversiotunniste ”%s”\n" -#: ldlang.c:7271 ldlang.c:7280 ldlang.c:7297 ldlang.c:7307 +#: ldlang.c:7470 ldlang.c:7479 ldlang.c:7496 ldlang.c:7506 msgid "%X%P: duplicate expression `%s' in version information\n" msgstr "%X%P: kaksoiskappalelauseke ”%s” versiotiedoissa\n" -#: ldlang.c:7347 +#: ldlang.c:7546 msgid "%X%P: unable to find version dependency `%s'\n" msgstr "%X%P: ei voi löytää versioriippuvuutta ”%s”\n" -#: ldlang.c:7369 +#: ldlang.c:7568 msgid "%X%P: unable to read .exports section contents\n" msgstr "%X%P: ei voi lukea .exports-lohkon sisältöä\n" @@ -861,102 +982,98 @@ msgstr "%X%P: ei voi lukea .exports-lohkon sisältöä\n" msgid "%X%P: can't set BFD default target to `%s': %E\n" msgstr "%X%P: ei voi asettaa BFD-oletuskohteeksi arvoa ”%s”: %E\n" -#: ldmain.c:296 -msgid "%P%F: --relax and -r may not be used together\n" -msgstr "%P%F: argumentteja --relax ja -r ei saa käyttää yhdessä\n" - -#: ldmain.c:298 +#: ldmain.c:300 msgid "%P%F: -r and -shared may not be used together\n" msgstr "%P%F: argumentteja -r ja -shared ei saa käyttää yhdessä\n" -#: ldmain.c:341 +#: ldmain.c:343 msgid "%P%F: -F may not be used without -shared\n" msgstr "%P%F: argumenttia -F ei saa käyttää ilman argumenttia -shared\n" -#: ldmain.c:343 +#: ldmain.c:345 msgid "%P%F: -f may not be used without -shared\n" msgstr "%P%F: argumenttia -f ei saa käyttää ilman argumenttia -shared\n" -#: ldmain.c:391 +#: ldmain.c:393 msgid "using external linker script:" msgstr "käytetään ulkoista linkitysskriptiä:" -#: ldmain.c:393 +#: ldmain.c:395 msgid "using internal linker script:" msgstr "käytetään sisäistä linkitysskriptiä:" -#: ldmain.c:427 +#: ldmain.c:429 msgid "%P%F: no input files\n" msgstr "%P%F: ei syötetiedostoja\n" -#: ldmain.c:431 +#: ldmain.c:433 msgid "%P: mode %s\n" msgstr "%P: tila %s\n" -#: ldmain.c:447 +#: ldmain.c:449 msgid "%P%F: cannot open map file %s: %E\n" msgstr "%P%F: ei voi avata map-tiedostoa %s: %E\n" -#: ldmain.c:479 +#: ldmain.c:481 msgid "%P: link errors found, deleting executable `%s'\n" msgstr "%P: linkitysvirheitä löytyi, poistetaan suoritettava tiedosto ”%s”\n" -#: ldmain.c:488 +#: ldmain.c:490 msgid "%F%B: final close failed: %E\n" msgstr "%F%B: loppusulkeminen ei onnistunut: %E\n" -#: ldmain.c:514 +#: ldmain.c:516 msgid "%X%P: unable to open for source of copy `%s'\n" msgstr "%X%P: ei voitu avata kopion ”%s” lähdekoodia\n" -#: ldmain.c:517 +#: ldmain.c:519 msgid "%X%P: unable to open for destination of copy `%s'\n" msgstr "%X%P: ei voitu avata kopion ”%s” kohdetta\n" -#: ldmain.c:524 +#: ldmain.c:526 msgid "%P: Error writing file `%s'\n" msgstr "%P: Virhe kirjoitettaessa tiedostoa ”%s”\n" -#: ldmain.c:529 pe-dll.c:1613 +#: ldmain.c:531 pe-dll.c:1687 #, c-format msgid "%P: Error closing file `%s'\n" msgstr "%P: Virhe suljettaessa tiedostoa ”%s”\n" -#: ldmain.c:545 +#: ldmain.c:547 #, c-format msgid "%s: total time in link: %ld.%06ld\n" msgstr "%s: kokonaisaika linkityksessä: %ld.%06ld\n" -#: ldmain.c:548 +#: ldmain.c:550 #, c-format msgid "%s: data size %ld\n" msgstr "%s: data-koko %ld\n" -#: ldmain.c:631 +#: ldmain.c:633 msgid "%P%F: missing argument to -m\n" msgstr "%P%F: puuttuva argumentti kohteelle -m\n" -#: ldmain.c:678 ldmain.c:697 ldmain.c:728 +#: ldmain.c:680 ldmain.c:699 ldmain.c:730 msgid "%P%F: bfd_hash_table_init failed: %E\n" msgstr "%P%F: bfd_hash_table_init ei onnistunut: %E\n" -#: ldmain.c:682 ldmain.c:701 +#: ldmain.c:684 ldmain.c:703 msgid "%P%F: bfd_hash_lookup failed: %E\n" msgstr "%P%F: bfd_hash_lookup ei onnistunut: %E\n" -#: ldmain.c:715 +#: ldmain.c:717 msgid "%X%P: error: duplicate retain-symbols-file\n" msgstr "%X%P: virhe: retain-symbols-file-kaksoiskappale\n" -#: ldmain.c:758 +#: ldmain.c:760 msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n" msgstr "%P%F: bfd_hash_lookup-lisäys ei onnistunut: %E\n" -#: ldmain.c:763 +#: ldmain.c:765 msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n" msgstr "%P: ”-retain-symbols-file” korvaa argumentit ”-s” ja ”-S”\n" -#: ldmain.c:827 +#: ldmain.c:829 #, c-format msgid "" "Archive member included because of file (symbol)\n" @@ -965,134 +1082,139 @@ msgstr "" "Arkistojäsen sisällytetty tiedoston vuoksi (symboli)\n" "\n" -#: ldmain.c:897 +#: ldmain.c:899 msgid "%X%C: multiple definition of `%T'\n" msgstr "%X%C: useita ”%T”-määrittelyjä\n" -#: ldmain.c:900 +#: ldmain.c:902 msgid "%D: first defined here\n" msgstr "%D: ensimmäinen määritelty täällä\n" -#: ldmain.c:904 +# Kun käskykohdemuuttuja on sen lukualueen ulkopuolella, joka sallitaan kullekin käskykentälle, +# assembler voi muuntaa koodin käyttämään toiminnallisesti samanlaista käskyä tai käskysekvenssiä. +# Tämä prosessi tunnetaan nimellä relaxation. Tätä tehdään tyypillisesti haarautumiskäskyissä, koska +# haarautumiskohteen etäisyyttä ei tunneta ennen linkitystä. Tavallaan tällä tavalla kumotaan lukualueen +# rajoitteet (constraints). Siksi olen suomentanut sen termillä avartaminen. +#: ldmain.c:906 msgid "%P: Disabling relaxation: it will not work with multiple definitions\n" -msgstr "%P: Disabloidaan relaxation: se ei toimi useiden määrittelyjen kanssa\n" +msgstr "%P: Otetaan avartaminen pois käytöstä: se ei toimi kun määrittelyjä on useita\n" -#: ldmain.c:934 +#: ldmain.c:936 msgid "%B: warning: definition of `%T' overriding common\n" msgstr "%B: varoitus: ”%T”-määrittely korvaa yhteisen\n" -#: ldmain.c:937 +#: ldmain.c:939 msgid "%B: warning: common is here\n" msgstr "%B: varoitus: yhteinen on täällä\n" -#: ldmain.c:944 +#: ldmain.c:946 msgid "%B: warning: common of `%T' overridden by definition\n" msgstr "%B: varoitus: ”%T”-yhteinen korvattu määrittelyllä\n" -#: ldmain.c:947 +#: ldmain.c:949 msgid "%B: warning: defined here\n" msgstr "%B: varoitus: määritelty täällä\n" -#: ldmain.c:954 +#: ldmain.c:956 msgid "%B: warning: common of `%T' overridden by larger common\n" msgstr "%B: varoitus: ”%T”-yhteinen korvattu laajemmalla yhteisellä\n" -#: ldmain.c:957 +#: ldmain.c:959 msgid "%B: warning: larger common is here\n" msgstr "%B: varoitus: laajempi yhteinen on täällä\n" -#: ldmain.c:961 +#: ldmain.c:963 msgid "%B: warning: common of `%T' overriding smaller common\n" msgstr "%B: varoitus: ”%T”-yhteinen korvaa pienemmän yhteisen\n" -#: ldmain.c:964 +#: ldmain.c:966 msgid "%B: warning: smaller common is here\n" msgstr "%B: varoitus: pienempi yhteinen on täällä\n" -#: ldmain.c:968 +#: ldmain.c:970 msgid "%B: warning: multiple common of `%T'\n" msgstr "%B: varoitus: useita ”%T”-yhteisiä\n" -#: ldmain.c:970 +#: ldmain.c:972 msgid "%B: warning: previous common is here\n" msgstr "%B: varoitus: edellinen yhteinen on täällä\n" -#: ldmain.c:990 ldmain.c:1028 +#: ldmain.c:992 ldmain.c:1030 msgid "%P: warning: global constructor %s used\n" msgstr "%P: varoitus: yleiskonstruktoria %s käytetty\n" # Binary File Descriptor -#: ldmain.c:1038 +#: ldmain.c:1040 msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n" msgstr "%P%F: BFD-taustavirhe: kohdetta BFD_RELOC_CTOR ei ole tuettu\n" #. We found a reloc for the symbol we are looking for. -#: ldmain.c:1092 ldmain.c:1094 ldmain.c:1096 ldmain.c:1114 ldmain.c:1159 +#: ldmain.c:1094 ldmain.c:1096 ldmain.c:1098 ldmain.c:1116 ldmain.c:1161 msgid "warning: " msgstr "varoitus: " -#: ldmain.c:1194 +#: ldmain.c:1196 msgid "%F%P: bfd_hash_table_init failed: %E\n" msgstr "%F%P: bfd_hash_table_init ei onnistunut: %E\n" -#: ldmain.c:1201 +#: ldmain.c:1203 msgid "%F%P: bfd_hash_lookup failed: %E\n" msgstr "%F%P: bfd_hash_lookup ei onnistunut: %E\n" -#: ldmain.c:1222 +#: ldmain.c:1224 msgid "%X%C: undefined reference to `%T'\n" msgstr "%X%C: määrittelemätön viite kohteeseen ”%T”\n" -#: ldmain.c:1225 +#: ldmain.c:1227 msgid "%C: warning: undefined reference to `%T'\n" msgstr "%C: varoitus: määrittelemätön viite kohteeseen ”%T”\n" -#: ldmain.c:1231 +#: ldmain.c:1233 msgid "%X%D: more undefined references to `%T' follow\n" msgstr "%X%D: lisää määrittelemättömiä viitteitä kohteeseen ”%T” seuraa\n" -#: ldmain.c:1234 +#: ldmain.c:1236 msgid "%D: warning: more undefined references to `%T' follow\n" msgstr "%D: varoitus: lisää määrittelemättömiä viitteitä kohteeseen ”%T” seuraa\n" -#: ldmain.c:1245 +#: ldmain.c:1247 msgid "%X%B: undefined reference to `%T'\n" msgstr "%X%B: määrittelemätön viite kohteeseen ”%T”\n" -#: ldmain.c:1248 +#: ldmain.c:1250 msgid "%B: warning: undefined reference to `%T'\n" msgstr "%B: varoitus: määrittelemätön viite kohteeseen ”%T”\n" -#: ldmain.c:1254 +#: ldmain.c:1256 msgid "%X%B: more undefined references to `%T' follow\n" msgstr "%X%B: lisää määrittelemättömiä viitteitä kohteeseen ”%T” seuraa\n" -#: ldmain.c:1257 +#: ldmain.c:1259 msgid "%B: warning: more undefined references to `%T' follow\n" msgstr "%B: varoitus: lisää määrittelemättömiä viitteitä kohteeseen ”%T” seuraa\n" -#: ldmain.c:1296 +#: ldmain.c:1298 msgid " additional relocation overflows omitted from the output\n" msgstr " lisäuudelleensijoituskorvauksia ei lisätä tulosteeseen\n" -#: ldmain.c:1309 +#: ldmain.c:1311 msgid " relocation truncated to fit: %s against undefined symbol `%T'" msgstr " uudelleensijoituksia typistetty sopimaan: %s vastaan määrittelemätön symboli ”%T”" -#: ldmain.c:1314 +#: ldmain.c:1316 msgid " relocation truncated to fit: %s against symbol `%T' defined in %A section in %B" msgstr " uudelleensijoituksia typistetty sopimaan: %s vastaan symboli ”%T” määritelty %A-lohkossa %B:ssä" -#: ldmain.c:1326 +#: ldmain.c:1328 msgid " relocation truncated to fit: %s against `%T'" msgstr " uudelleensijoituksia typistetty sopimaan: %s vastaan ”%T”" -#: ldmain.c:1343 +#: ldmain.c:1345 #, c-format msgid "%X%C: dangerous relocation: %s\n" msgstr "%X%C: vaarallinen uudelleensijoitus: %s\n" -#: ldmain.c:1358 +#: ldmain.c:1360 msgid "%X%C: reloc refers to symbol `%T' which is not being output\n" msgstr "%X%C: reloc viitaa symboliin ”%T”, jota ei tulosteta\n" @@ -1124,7 +1246,7 @@ msgstr "%P: sisäinen virhe: hylätään %s rivillä %d\n" #: ldmisc.c:499 msgid "%P%F: please report this bug\n" -msgstr "%P%F: raportoi tästä virheestä\n" +msgstr "%P%F: ilmoita tästä virheestä\n" #. Output for noisy == 2 is intended to follow the GNU standards. #: ldver.c:38 @@ -1134,8 +1256,8 @@ msgstr "GNU ld-versio %s\n" #: ldver.c:42 #, c-format -msgid "Copyright 2007 Free Software Foundation, Inc.\n" -msgstr "Copyright 2007 Free Software Foundation, Inc.\n" +msgid "Copyright 2009 Free Software Foundation, Inc.\n" +msgstr "Copyright 2009 Free Software Foundation, Inc.\n" #: ldver.c:43 #, c-format @@ -1174,265 +1296,269 @@ msgstr "%8x jotain muuta\n" msgid "%F%P: final link failed: %E\n" msgstr "%F%P: loppulinkitys ei onnistunut: %E\n" -#: lexsup.c:206 lexsup.c:344 +#: lexsup.c:209 lexsup.c:349 msgid "KEYWORD" msgstr "AVAINSANA" -#: lexsup.c:206 +#: lexsup.c:209 msgid "Shared library control for HP/UX compatibility" msgstr "Jaettu kirjasto-ohjain HP/UX-yhteensopivuutta varten" -#: lexsup.c:209 +#: lexsup.c:212 msgid "ARCH" -msgstr "ARCH" +msgstr "ARKISTO" -#: lexsup.c:209 +#: lexsup.c:212 msgid "Set architecture" msgstr "Aseta arkkitehtuuri" -#: lexsup.c:211 lexsup.c:454 +#: lexsup.c:214 lexsup.c:459 msgid "TARGET" msgstr "KOHDE" -#: lexsup.c:211 +#: lexsup.c:214 msgid "Specify target for following input files" msgstr "Määrittele kohde seuraaville syötetiedostoille" -#: lexsup.c:214 lexsup.c:263 lexsup.c:275 lexsup.c:288 lexsup.c:290 -#: lexsup.c:408 lexsup.c:466 lexsup.c:526 lexsup.c:539 +#: lexsup.c:217 lexsup.c:268 lexsup.c:280 lexsup.c:293 lexsup.c:295 +#: lexsup.c:413 lexsup.c:471 lexsup.c:533 lexsup.c:546 msgid "FILE" msgstr "TIEDOSTO" -#: lexsup.c:214 +#: lexsup.c:217 msgid "Read MRI format linker script" msgstr "Lue MRI-muotoinen linkitysskripti" -#: lexsup.c:216 +#: lexsup.c:219 msgid "Force common symbols to be defined" msgstr "Pakota yhteissymbolit määriteltäviksi" -#: lexsup.c:220 lexsup.c:510 lexsup.c:512 lexsup.c:514 +#: lexsup.c:223 lexsup.c:515 lexsup.c:517 lexsup.c:519 lexsup.c:521 msgid "ADDRESS" msgstr "OSOITE" -#: lexsup.c:220 +#: lexsup.c:223 msgid "Set start address" msgstr "Aseta alkuosoite" -#: lexsup.c:222 +#: lexsup.c:225 msgid "Export all dynamic symbols" msgstr "Vie kaikki dynaamiset symbolit" -#: lexsup.c:224 +#: lexsup.c:227 +msgid "Undo the effect of --export-dynamic" +msgstr "Peru valitsimen --export-dynamic vaikutus" + +#: lexsup.c:229 msgid "Link big-endian objects" msgstr "Linkitä big-endian-objektit" -#: lexsup.c:226 +#: lexsup.c:231 msgid "Link little-endian objects" msgstr "Linkitä little-endian-objektit" -#: lexsup.c:228 lexsup.c:231 +#: lexsup.c:233 lexsup.c:236 msgid "SHLIB" msgstr "SHLIB" -#: lexsup.c:228 +#: lexsup.c:233 msgid "Auxiliary filter for shared object symbol table" msgstr "Lisäsuodatin jaetulle objektisymbolitaululle" -#: lexsup.c:231 +#: lexsup.c:236 msgid "Filter for shared object symbol table" msgstr "Suodatin jaetulle objektisymbolitaululle" -#: lexsup.c:234 +#: lexsup.c:239 msgid "Ignored" msgstr "Ei oteta huomioon" -#: lexsup.c:236 +#: lexsup.c:241 msgid "SIZE" msgstr "KOKO" -#: lexsup.c:236 +#: lexsup.c:241 msgid "Small data size (if no size, same as --shared)" msgstr "Pieni datakoko (jos kokoa ei ole, sama kuin --shared)" -#: lexsup.c:239 +#: lexsup.c:244 msgid "FILENAME" msgstr "TIEDOSTONIMI" -#: lexsup.c:239 +#: lexsup.c:244 msgid "Set internal name of shared library" msgstr "Aseta jaetun kirjaston sisäinen nimi" -#: lexsup.c:241 +#: lexsup.c:246 msgid "PROGRAM" msgstr "OHJELMA" -#: lexsup.c:241 +#: lexsup.c:246 msgid "Set PROGRAM as the dynamic linker to use" msgstr "Aseta OHJELMA dynaamisena linkkerinä käytettäväksi" -#: lexsup.c:244 +#: lexsup.c:249 msgid "LIBNAME" -msgstr "LIBNAME" +msgstr "KIRJASTONIMI" -#: lexsup.c:244 +#: lexsup.c:249 msgid "Search for library LIBNAME" -msgstr "Haku kirjastolle LIBNAME" +msgstr "Haku kirjastolle KIRJASTONIMI" -#: lexsup.c:246 +#: lexsup.c:251 msgid "DIRECTORY" msgstr "HAKEMISTO" -#: lexsup.c:246 +#: lexsup.c:251 msgid "Add DIRECTORY to library search path" msgstr "Lisää HAKEMISTO kirjaston hakupolkuun" -#: lexsup.c:249 +#: lexsup.c:254 msgid "Override the default sysroot location" msgstr "Korvaa oletus sysroot-sijainti" -#: lexsup.c:251 +#: lexsup.c:256 msgid "EMULATION" msgstr "EMULOINTI" -#: lexsup.c:251 +#: lexsup.c:256 msgid "Set emulation" msgstr "Aseta emulointi" -#: lexsup.c:253 +#: lexsup.c:258 msgid "Print map file on standard output" msgstr "Tulosta map-tiedosto vakiotulosteessa" -#: lexsup.c:255 +#: lexsup.c:260 msgid "Do not page align data" msgstr "Älä sivuta tasausdataa" -#: lexsup.c:257 +#: lexsup.c:262 msgid "Do not page align data, do not make text readonly" msgstr "Älä sivuta tasausdataa, älä tee tekstistä kirjoitussuojattua" -#: lexsup.c:260 +#: lexsup.c:265 msgid "Page align data, make text readonly" msgstr "Sivuta tasausdataa, tee tekstistä kirjoitussuojattua" -#: lexsup.c:263 +#: lexsup.c:268 msgid "Set output file name" msgstr "Aseta tulostetiedoston nimi" -#: lexsup.c:265 +#: lexsup.c:270 msgid "Optimize output file" msgstr "Optimoi tulostetiedosto" -#: lexsup.c:267 +#: lexsup.c:272 msgid "Ignored for SVR4 compatibility" msgstr "Ei oteta huomioon SVR4-yhteensopivuutta" -#: lexsup.c:271 +#: lexsup.c:276 msgid "Generate relocatable output" msgstr "Luo uudelleensijoitettava tuloste" -#: lexsup.c:275 +#: lexsup.c:280 msgid "Just link symbols (if directory, same as --rpath)" msgstr "Linkitä vain symbolit (jos hakemisto, sama kuin --rpath)" -#: lexsup.c:278 +#: lexsup.c:283 msgid "Strip all symbols" msgstr "Riisu kaikki symbolit" -#: lexsup.c:280 +#: lexsup.c:285 msgid "Strip debugging symbols" msgstr "Riisu debuggaussymbolit" -#: lexsup.c:282 +#: lexsup.c:287 msgid "Strip symbols in discarded sections" msgstr "Riisu symbolit hylätyissä lohkoissa" -#: lexsup.c:284 +#: lexsup.c:289 msgid "Do not strip symbols in discarded sections" msgstr "Älä riisu symboleja hylätyistä lohkoista" -#: lexsup.c:286 +#: lexsup.c:291 msgid "Trace file opens" msgstr "Jäljitä tiedoston avaukset" -#: lexsup.c:288 +#: lexsup.c:293 msgid "Read linker script" msgstr "Lue linkitysskripti" -#: lexsup.c:290 +#: lexsup.c:295 msgid "Read default linker script" msgstr "Lue oletus linkitysskripti" -#: lexsup.c:294 lexsup.c:312 lexsup.c:385 lexsup.c:406 lexsup.c:503 -#: lexsup.c:529 lexsup.c:565 +#: lexsup.c:299 lexsup.c:317 lexsup.c:390 lexsup.c:411 lexsup.c:508 +#: lexsup.c:536 lexsup.c:575 msgid "SYMBOL" msgstr "SYMBOLI" -#: lexsup.c:294 +#: lexsup.c:299 msgid "Start with undefined reference to SYMBOL" msgstr "Aloita määrittelemättömällä viitteellä kohteeseen SYMBOLI" -#: lexsup.c:297 +#: lexsup.c:302 msgid "[=SECTION]" msgstr "[=LOHKO]" -#: lexsup.c:298 +#: lexsup.c:303 msgid "Don't merge input [SECTION | orphan] sections" msgstr "Älä yhdistä syöte[LOHKO | orpo]lohkoja" -#: lexsup.c:300 +#: lexsup.c:305 msgid "Build global constructor/destructor tables" msgstr "Muodosta yleiset konstruktori/destruktoritaulut" -#: lexsup.c:302 +#: lexsup.c:307 msgid "Print version information" msgstr "Tulosta versiotiedot" -#: lexsup.c:304 +#: lexsup.c:309 msgid "Print version and emulation information" msgstr "Tulosta versio- ja emulointitiedot" -#: lexsup.c:306 +#: lexsup.c:311 msgid "Discard all local symbols" msgstr "Hylkää kaikki paikalliset symbolit" -#: lexsup.c:308 +#: lexsup.c:313 msgid "Discard temporary local symbols (default)" msgstr "Hylkää tilapäiset paikalliset symbolit (oletus)" -#: lexsup.c:310 +#: lexsup.c:315 msgid "Don't discard any local symbols" msgstr "Älä hylkää mitään paikallisia symboleja" -#: lexsup.c:312 +#: lexsup.c:317 msgid "Trace mentions of SYMBOL" msgstr "Jäljitä SYMBOLIn maininnat" -#: lexsup.c:314 lexsup.c:468 lexsup.c:470 +#: lexsup.c:319 lexsup.c:473 lexsup.c:475 msgid "PATH" msgstr "POLKU" -#: lexsup.c:314 +#: lexsup.c:319 msgid "Default search path for Solaris compatibility" msgstr "Oletushakupolku Solaris-yhteensopivuutta varten" -#: lexsup.c:317 +#: lexsup.c:322 msgid "Start a group" msgstr "Käynnistä ryhmä" -#: lexsup.c:319 +#: lexsup.c:324 msgid "End a group" msgstr "Lopeta ryhmä" -#: lexsup.c:323 +#: lexsup.c:328 msgid "Accept input files whose architecture cannot be determined" msgstr "Hyväksy syötetiedostot, joiden arkkitehtuuria ei voida määritellä" -#: lexsup.c:327 +#: lexsup.c:332 msgid "Reject input files whose architecture is unknown" msgstr "Hylkää syötetiedostot, joiden arkkitehtuuri on tuntematon" -#: lexsup.c:330 +#: lexsup.c:335 msgid "" "Set DT_NEEDED tags for DT_NEEDED entries in\n" " following dynamic libs" @@ -1440,7 +1566,7 @@ msgstr "" "Aseta DT_NEEDED-tunnisteet DT_NEEDED-alkioille\n" " seuraavissa dynaamisissa kirjastoissa" -#: lexsup.c:334 +#: lexsup.c:339 msgid "" "Do not set DT_NEEDED tags for DT_NEEDED entries\n" " in following dynamic libs" @@ -1448,171 +1574,171 @@ msgstr "" "Älä aseta DT_NEEDED-tunnisteita DT_NEEDED-alkioille\n" " seuraavissa dynaamisissa kirjastoissa" -#: lexsup.c:338 +#: lexsup.c:343 msgid "Only set DT_NEEDED for following dynamic libs if used" msgstr "Aseta DT_NEEDED vain seuraavissa dynaamisissa kirjastoissa, jos niitä käytetään" -#: lexsup.c:341 +#: lexsup.c:346 msgid "Always set DT_NEEDED for following dynamic libs" msgstr "Aseta DT_NEEDED aina seuraavissa dynaamisissa kirjastoissa" -#: lexsup.c:344 +#: lexsup.c:349 msgid "Ignored for SunOS compatibility" msgstr "Ei oteta huomioon SunOS-yhteensopivuutta" -#: lexsup.c:346 +#: lexsup.c:351 msgid "Link against shared libraries" msgstr "Linkitä käyttäen jaettuja kirjastoja" -#: lexsup.c:352 +#: lexsup.c:357 msgid "Do not link against shared libraries" msgstr "Älä linkitä käyttäen jaettuja kirjastoja" -#: lexsup.c:360 +#: lexsup.c:365 msgid "Bind global references locally" msgstr "Sido yleisviitteet paikallisesti" -#: lexsup.c:362 +#: lexsup.c:367 msgid "Bind global function references locally" msgstr "Sido yleisfunktioviitteet paikallisesti" -#: lexsup.c:364 +#: lexsup.c:369 msgid "Check section addresses for overlaps (default)" msgstr "Tarkista lohko-osoitteet päällekkäisyyksien varalta (oletus)" -#: lexsup.c:367 +#: lexsup.c:372 msgid "Do not check section addresses for overlaps" msgstr "Älä tarkista lohko-osoitteita päällekkäisyyksien varalta" -#: lexsup.c:370 +#: lexsup.c:375 msgid "Output cross reference table" msgstr "Tulosteristiviitetaulu" -#: lexsup.c:372 +#: lexsup.c:377 msgid "SYMBOL=EXPRESSION" msgstr "SYMBOLI=LAUSEKE" -#: lexsup.c:372 +#: lexsup.c:377 msgid "Define a symbol" msgstr "Määrittele symboli" -#: lexsup.c:374 +#: lexsup.c:379 msgid "[=STYLE]" msgstr "[=TYYLI]" -#: lexsup.c:374 +#: lexsup.c:379 msgid "Demangle symbol names [using STYLE]" msgstr "Eheytä symbolinnimet [käyttäen TYYLIä]" -#: lexsup.c:377 +#: lexsup.c:382 msgid "Generate embedded relocs" msgstr "luo upotettuja relocs-lohkoja" -#: lexsup.c:379 +#: lexsup.c:384 msgid "Treat warnings as errors" msgstr "Kohtele varoituksia virheinä" -#: lexsup.c:382 +#: lexsup.c:387 msgid "Do not treat warnings as errors (default)" msgstr "Älä kohtele varoituksia virheinä (oletus)" -#: lexsup.c:385 +#: lexsup.c:390 msgid "Call SYMBOL at unload-time" msgstr "Kutsu SYMBOLIa vapautushetkellä" -#: lexsup.c:387 +#: lexsup.c:392 msgid "Force generation of file with .exe suffix" msgstr "Pakota .exe-suffiksitiedoston luominen" -#: lexsup.c:389 +#: lexsup.c:394 msgid "Remove unused sections (on some targets)" msgstr "Poista käyttämättömät lohkot (joissakin kohteissa)" -#: lexsup.c:392 +#: lexsup.c:397 msgid "Don't remove unused sections (default)" msgstr "Älä poista käyttämättömiä lohkoja (oletus)" -#: lexsup.c:395 +#: lexsup.c:400 msgid "List removed unused sections on stderr" msgstr "Luettele poistetut käyttämättömät lohkot vakiovirheessä" -#: lexsup.c:398 +#: lexsup.c:403 msgid "Do not list removed unused sections" msgstr "Älä luettele poistettuja käyttämättömiä lohkoja" -#: lexsup.c:401 +#: lexsup.c:406 msgid "Set default hash table size close to " msgstr "Aseta oletus-hash-taulukoko lähelle " -#: lexsup.c:404 +#: lexsup.c:409 msgid "Print option help" msgstr "Tulosta valitsinopaste" -#: lexsup.c:406 +#: lexsup.c:411 msgid "Call SYMBOL at load-time" msgstr "Kutsu SYMBOLIa lataushetkellä" -#: lexsup.c:408 +#: lexsup.c:413 msgid "Write a map file" msgstr "Kirjoita map-tiedosto" -#: lexsup.c:410 +#: lexsup.c:415 msgid "Do not define Common storage" msgstr "Älä määrittele Yhteinen-varastoa" -#: lexsup.c:412 +#: lexsup.c:417 msgid "Do not demangle symbol names" msgstr "Älä eheytä symbolinimiä" -#: lexsup.c:414 +#: lexsup.c:419 msgid "Use less memory and more disk I/O" msgstr "Käytä vähemmän muistia ja enemmän levyn I/O-toimintoja" -#: lexsup.c:416 +#: lexsup.c:421 msgid "Do not allow unresolved references in object files" msgstr "Älä salli ratkaisemattomia viitteitä objektitiedostoissa" -#: lexsup.c:419 +#: lexsup.c:424 msgid "Allow unresolved references in shared libaries" -msgstr "Salli ratkaismattomia viitteitä jaetuissa kirjastoissa" +msgstr "Salli ratkaisemattomia viitteitä jaetuissa kirjastoissa" -#: lexsup.c:423 +#: lexsup.c:428 msgid "Do not allow unresolved references in shared libs" msgstr "Älä salli ratkaisemattomia viitteitä jaetuissa kirjastoissa" -#: lexsup.c:427 +#: lexsup.c:432 msgid "Allow multiple definitions" msgstr "Salli useita määrittelyjä" -#: lexsup.c:429 +#: lexsup.c:434 msgid "Disallow undefined version" msgstr "Älä salli määrittelemätöntä versiota" -#: lexsup.c:431 +#: lexsup.c:436 msgid "Create default symbol version" msgstr "Luo oletussymboliversio" -#: lexsup.c:434 +#: lexsup.c:439 msgid "Create default symbol version for imported symbols" msgstr "Luo oletussymboliversio tuontisymboleille" -#: lexsup.c:437 +#: lexsup.c:442 msgid "Don't warn about mismatched input files" msgstr "Älä varoita täsmäämättömistä syötetiedostoista" -#: lexsup.c:440 +#: lexsup.c:445 msgid "Don't warn on finding an incompatible library" msgstr "Älä varoita yhteensopimattoman kirjaston löytymisestä" -#: lexsup.c:443 +#: lexsup.c:448 msgid "Turn off --whole-archive" msgstr "Käännä pois --whole-archive" -#: lexsup.c:445 +#: lexsup.c:450 msgid "Create an output file even if errors occur" msgstr "Luo tulostetiedosto myös silloin kun syntyy virheitä" -#: lexsup.c:450 +#: lexsup.c:455 msgid "" "Only use library directories specified on\n" " the command line" @@ -1620,119 +1746,128 @@ msgstr "" "Käytä vain kirjastohakemistoja, jotka on määritelty\n" " komentorivillä" -#: lexsup.c:454 +#: lexsup.c:459 msgid "Specify target of output file" msgstr "Määrittele tulostetiedoston kohde" -#: lexsup.c:457 +#: lexsup.c:462 msgid "Ignored for Linux compatibility" msgstr "Ei oteta huomioon Linux-yhteensopivuutta" -#: lexsup.c:460 +#: lexsup.c:465 msgid "Reduce memory overheads, possibly taking much longer" msgstr "Pienennä muistiyleisrasite, mahdollisesti ottamalla paljon pitemmän" -#: lexsup.c:463 +# Kun käskykohdemuuttuja on sen lukualueen ulkopuolella, joka sallitaan kullekin käskykentälle, +# assembler voi muuntaa koodin käyttämään toiminnallisesti samanlaista käskyä tai käskysekvenssiä. +# Tämä prosessi tunnetaan nimellä relaxation. Tätä tehdään tyypillisesti haarautumiskäskyissä, koska +# haarautumiskohteen etäisyyttä ei tunneta ennen linkitystä. Tavallaan tällä tavalla kumotaan lukualueen +# rajoitteet (constraints). Siksi olen suomentanut sen termillä avartaminen. +#: lexsup.c:468 msgid "Relax branches on certain targets" -msgstr "Relax branches tietyissä kohteissa" +msgstr "Avarra haarautumiskäskyjä tietyissä kohteissa" -#: lexsup.c:466 +#: lexsup.c:471 msgid "Keep only symbols listed in FILE" msgstr "Pidä vain symbolit, jotka on lueteltu TIEDOSTOssa" -#: lexsup.c:468 +#: lexsup.c:473 msgid "Set runtime shared library search path" msgstr "Aseta ajoaikaisen jaetun kirjaston hakupolku" -#: lexsup.c:470 +#: lexsup.c:475 msgid "Set link time shared library search path" msgstr "Aseta linkkausaikaisen jaetun kirjaston hakupolku" -#: lexsup.c:473 +#: lexsup.c:478 msgid "Create a shared library" msgstr "Luo jaettu kirjasto" -#: lexsup.c:477 +#: lexsup.c:482 msgid "Create a position independent executable" msgstr "Luo paikkariippumaton suoritettava tiedosto" -#: lexsup.c:481 +#: lexsup.c:486 msgid "[=ascending|descending]" msgstr "[=nouseva|laskeva]" -#: lexsup.c:482 +#: lexsup.c:487 msgid "Sort common symbols by alignment [in specified order]" msgstr "Lajittele yhteissymbolit [määritellyn järjestyksen] mukaan" -#: lexsup.c:487 +#: lexsup.c:492 msgid "name|alignment" msgstr "nimi|tasaus" -#: lexsup.c:488 +#: lexsup.c:493 msgid "Sort sections by name or maximum alignment" msgstr "Lajittele lohkot nimen tai maksimitasauksen mukaan" -#: lexsup.c:490 +#: lexsup.c:495 msgid "COUNT" msgstr "LUKUMÄÄRÄ" -#: lexsup.c:490 +#: lexsup.c:495 msgid "How many tags to reserve in .dynamic section" msgstr "Kuinka monta tunnistetta ”.dynamic”-lohkon varaamiseen" -#: lexsup.c:493 +#: lexsup.c:498 msgid "[=SIZE]" msgstr "[=KOKO]" -#: lexsup.c:493 +#: lexsup.c:498 msgid "Split output sections every SIZE octets" msgstr "Halkaise tulostelohkot kaikkiin KOKO-oktetteihin" -#: lexsup.c:496 +#: lexsup.c:501 msgid "[=COUNT]" msgstr "[=LUKUMÄÄRÄ]" -#: lexsup.c:496 +#: lexsup.c:501 msgid "Split output sections every COUNT relocs" msgstr "Halkaise tulostelohkot kaikkiin COUNT-reloc-alkioihin" -#: lexsup.c:499 +#: lexsup.c:504 msgid "Print memory usage statistics" msgstr "Tulosta muistikäyttötilastot" -#: lexsup.c:501 +#: lexsup.c:506 msgid "Display target specific options" msgstr "Näytä kohdekohtaiset valitsimet" -#: lexsup.c:503 +#: lexsup.c:508 msgid "Do task level linking" msgstr "Tee tehtävätason linkitystä" -#: lexsup.c:505 +#: lexsup.c:510 msgid "Use same format as native linker" -msgstr "Käytä samaa muotoa kuin native-linkkeri" +msgstr "Käytä samaa muotoa kuin kotoperäinen linkkeri" -#: lexsup.c:507 +#: lexsup.c:512 msgid "SECTION=ADDRESS" msgstr "LOHKO=OSOITE" -#: lexsup.c:507 +#: lexsup.c:512 msgid "Set address of named section" msgstr "Aseta nimetyn lohkon osoite" -#: lexsup.c:510 +#: lexsup.c:515 msgid "Set address of .bss section" msgstr "Aseta ”.bss”-lohkon osoite" -#: lexsup.c:512 +#: lexsup.c:517 msgid "Set address of .data section" msgstr "Aseta ”.data”-lohkon osoite" -#: lexsup.c:514 +#: lexsup.c:519 msgid "Set address of .text section" msgstr "Aseta ”.text”-lohkon osoite" -#: lexsup.c:517 +#: lexsup.c:521 +msgid "Set address of text segment" +msgstr "Aseta text-lohkon osoite" + +#: lexsup.c:524 msgid "" "How to handle unresolved symbols. is:\n" " ignore-all, report-all, ignore-in-object-files,\n" @@ -1742,15 +1877,15 @@ msgstr "" " ei-oteta-huomioon-kaikissa, raportoi-kaikki, ei-oteta-huomioon-objektitiedostoista,\n" " ei-oteta-huomioon-jaetuissa-kirjastoissa" -#: lexsup.c:522 +#: lexsup.c:529 msgid "Output lots of information during link" msgstr "Tulosta paljon tietoja linkityksen aikana" -#: lexsup.c:526 +#: lexsup.c:533 msgid "Read version information script" msgstr "Lue versiotietoskripti" -#: lexsup.c:529 +#: lexsup.c:536 msgid "" "Take export symbols list from .exports, using\n" " SYMBOL as the version." @@ -1758,87 +1893,91 @@ msgstr "" "Ota vientisymbolit ”.exports”-luettelosta, käytä\n" " SYMBOLIa versiona." -#: lexsup.c:533 +#: lexsup.c:540 msgid "Add data symbols to dynamic list" msgstr "Lisää datasymboleja dynaamiseen luetteloon" -#: lexsup.c:535 +#: lexsup.c:542 msgid "Use C++ operator new/delete dynamic list" msgstr "Käytä C++-operaattoria ”new/delete” dynaamiseen luetteloon" -#: lexsup.c:537 +#: lexsup.c:544 msgid "Use C++ typeinfo dynamic list" -msgstr "Käytä C++ typeinfo dynaamiseen luetteloon" +msgstr "Käytä C++ typeinfo-luokkaa dynaamiseen luetteloon" -#: lexsup.c:539 +#: lexsup.c:546 msgid "Read dynamic list" msgstr "Lue dynaamista luetteloa" -#: lexsup.c:541 +#: lexsup.c:548 msgid "Warn about duplicate common symbols" msgstr "Varoita yhteissymbolien kaksoiskappaleista" -#: lexsup.c:543 +#: lexsup.c:550 msgid "Warn if global constructors/destructors are seen" msgstr "Varoita, jos nähdään yleisiä konstruktoreja/destruktoreja" -#: lexsup.c:546 +#: lexsup.c:553 msgid "Warn if the multiple GP values are used" msgstr "Varoita, jos käytetään useita GP-arvoja" -#: lexsup.c:548 +#: lexsup.c:555 msgid "Warn only once per undefined symbol" -msgstr "Varoita vain kerran per määrittämätön symboli" +msgstr "Varoita vain kerran määrittämättömästä symbolista" -#: lexsup.c:550 +#: lexsup.c:557 msgid "Warn if start of section changes due to alignment" msgstr "Varoita, jos lohkon alku muuttuu tasauksen vuoksi" -#: lexsup.c:553 +#: lexsup.c:560 msgid "Warn if shared object has DT_TEXTREL" msgstr "Varoita, jos jaetuilla objekteilla on DT_TEXTREL" -#: lexsup.c:557 +#: lexsup.c:563 +msgid "Warn if an object has alternate ELF machine code" +msgstr "Varoita, jos objektissa on vaihtoehtoisen ELF-koneen koodia" + +#: lexsup.c:567 msgid "Report unresolved symbols as warnings" msgstr "Raportoi ratkaisemattomat symbolit varoituksina" -#: lexsup.c:560 +#: lexsup.c:570 msgid "Report unresolved symbols as errors" msgstr "Raportoi ratkaisemattomat symbolit virheinä" -#: lexsup.c:562 +#: lexsup.c:572 msgid "Include all objects from following archives" msgstr "Sisällytä kaikki objektit seuraavista arkistoista" -#: lexsup.c:565 +#: lexsup.c:575 msgid "Use wrapper functions for SYMBOL" msgstr "Käytä wrapper-toimintoja SYMBOLille" -#: lexsup.c:712 +#: lexsup.c:722 msgid "%P: unrecognized option '%s'\n" msgstr "%P: tunnistamaton valitsin ”%s”\n" -#: lexsup.c:716 +#: lexsup.c:726 msgid "%P%F: use the --help option for usage information\n" msgstr "%P%F: käytä ”--help”-valitsinta käyttötietojen saamiseksi\n" -#: lexsup.c:734 +#: lexsup.c:744 msgid "%P%F: unrecognized -a option `%s'\n" msgstr "%P%F: tunnistamaton ”-a”-valitsin ”%s”\n" -#: lexsup.c:747 +#: lexsup.c:757 msgid "%P%F: unrecognized -assert option `%s'\n" msgstr "%P%F: tunnistamaton ”-assert”-valitsin ”%s”\n" -#: lexsup.c:790 +#: lexsup.c:800 msgid "%F%P: unknown demangling style `%s'" msgstr "%F%P: tuntematon eheytystyyli ”%s”" -#: lexsup.c:852 +#: lexsup.c:866 msgid "%P%F: invalid number `%s'\n" msgstr "%P%F: virheellinen numero ”%s”\n" -#: lexsup.c:950 +#: lexsup.c:964 msgid "%P%F: bad --unresolved-symbols option: %s\n" msgstr "%P%F: virheellinen ”--unresolved-symbols”-valitsin: %s\n" @@ -1850,180 +1989,203 @@ msgstr "%P%F: virheellinen ”--unresolved-symbols”-valitsin: %s\n" #. an error message here. We cannot just make this a warning, #. increment optind, and continue because getopt is too confused #. and will seg-fault the next time around. -#: lexsup.c:1024 +#: lexsup.c:1038 msgid "%P%F: bad -rpath option\n" msgstr "%P%F: virheellinen ”-rpath”-valitsin\n" -#: lexsup.c:1135 +#: lexsup.c:1149 msgid "%P%F: -shared not supported\n" msgstr "%P%F: ”-shared” ei ole tuettu\n" -#: lexsup.c:1144 +#: lexsup.c:1158 msgid "%P%F: -pie not supported\n" msgstr "%P%F: ”-pie” ei ole tuettu\n" -#: lexsup.c:1152 +#: lexsup.c:1166 msgid "descending" msgstr "laskeva" -#: lexsup.c:1154 +#: lexsup.c:1168 msgid "ascending" msgstr "nouseva" -#: lexsup.c:1157 +#: lexsup.c:1171 msgid "%P%F: invalid common section sorting option: %s\n" msgstr "%P%F: virheellinen yhteisen lohkon lajitteluvalitsin: %s\n" -#: lexsup.c:1161 +#: lexsup.c:1175 msgid "name" msgstr "nimi" -#: lexsup.c:1163 +#: lexsup.c:1177 msgid "alignment" msgstr "tasaus" -#: lexsup.c:1166 +#: lexsup.c:1180 msgid "%P%F: invalid section sorting option: %s\n" msgstr "%P%F: virheellinen lohkolajitteluvalitsin: %s\n" -#: lexsup.c:1200 +#: lexsup.c:1214 msgid "%P%F: invalid argument to option \"--section-start\"\n" msgstr "%P%F: virheellinen argumentti valitsimelle ”--section-start”\n" -#: lexsup.c:1207 +#: lexsup.c:1221 msgid "%P%F: missing argument(s) to option \"--section-start\"\n" msgstr "%P%F: argumentteja puuttuu valitsimelle ”--section-start”\n" -#: lexsup.c:1421 +#: lexsup.c:1441 msgid "%P%F: may not nest groups (--help for usage)\n" msgstr "%P%F: ryhmiä ei saa ketjuttaa (--help opasteeksi)\n" -#: lexsup.c:1428 +#: lexsup.c:1448 msgid "%P%F: group ended before it began (--help for usage)\n" msgstr "%P%F: ryhmä loppui ennen alkamista (--help opasteeksi)\n" -#: lexsup.c:1456 +#: lexsup.c:1476 msgid "%P%X: --hash-size needs a numeric argument\n" msgstr "%P%X: ”--hash-size” tarvitsee numeerisen argumentin\n" -#: lexsup.c:1507 lexsup.c:1520 +#: lexsup.c:1527 lexsup.c:1540 msgid "%P%F: invalid hex number `%s'\n" msgstr "%P%F: virheellinen heksadesimaalinumero ”%s”\n" -#: lexsup.c:1556 +#: lexsup.c:1576 #, c-format msgid "Usage: %s [options] file...\n" msgstr "Käyttö: %s [valitsimet] tiedosto...\n" -#: lexsup.c:1558 +#: lexsup.c:1578 #, c-format msgid "Options:\n" msgstr "Valitsimet:\n" -#: lexsup.c:1636 +#: lexsup.c:1656 #, c-format msgid " @FILE" msgstr " @TIEDOSTO" -#: lexsup.c:1639 +#: lexsup.c:1659 #, c-format msgid "Read options from FILE\n" msgstr "Lue valitsimet tiedostosta TIEDOSTO\n" #. Note: Various tools (such as libtool) depend upon the #. format of the listings below - do not change them. -#: lexsup.c:1644 +#: lexsup.c:1664 #, c-format msgid "%s: supported targets:" msgstr "%s: tuetut kohteet:" -#: lexsup.c:1652 +#: lexsup.c:1672 #, c-format msgid "%s: supported emulations: " msgstr "%s: tuetut emuloinnit: " -#: lexsup.c:1657 +#: lexsup.c:1677 #, c-format msgid "%s: emulation specific options:\n" msgstr "%s: emulointikohtaiset valitsimet:\n" -#: lexsup.c:1662 +#: lexsup.c:1682 #, c-format msgid "Report bugs to %s\n" -msgstr "Raportoi virheet osoitteeseen %s\n" +msgstr "Ilmoita virheet osoitteeseen %s\n" #: mri.c:291 msgid "%P%F: unknown format type %s\n" msgstr "%P%F: tuntematon muototyyppi %s\n" -#: pe-dll.c:381 +#: pe-dll.c:415 #, c-format msgid "%XUnsupported PEI architecture: %s\n" msgstr "%XEi-tuettu PEI-arkkitehtuuri: %s\n" -#: pe-dll.c:692 +#: pe-dll.c:766 #, c-format msgid "%XCannot export %s: invalid export name\n" msgstr "%XEi voi viedä %s: virheellinen vientinimi\n" -#: pe-dll.c:748 +#: pe-dll.c:822 #, c-format msgid "%XError, duplicate EXPORT with ordinals: %s (%d vs %d)\n" msgstr "%XVirhe, EXPORT-kaksoiskappale järjestysnumeroilla: %s (%d vs %d)\n" -#: pe-dll.c:755 +#: pe-dll.c:829 #, c-format msgid "Warning, duplicate EXPORT: %s\n" msgstr "Varoitus, EXPORT-kaksoiskappale: %s\n" -#: pe-dll.c:842 +#: pe-dll.c:916 #, c-format msgid "%XCannot export %s: symbol not defined\n" msgstr "%XEi voi viedä symbolia %s: symbolia ei ole määritelty\n" -#: pe-dll.c:848 +#: pe-dll.c:922 #, c-format msgid "%XCannot export %s: symbol wrong type (%d vs %d)\n" -msgstr "%XEi voi viedä symbolia %s: symbolia väärän tyyppinen (%d vs %d)\n" +msgstr "%XEi voi viedä symbolia %s: symboli on väärän tyyppinen (%d vs %d)\n" -#: pe-dll.c:855 +#: pe-dll.c:929 #, c-format msgid "%XCannot export %s: symbol not found\n" msgstr "%XEi voi viedä symbolia %s: symbolia ei löydy\n" -#: pe-dll.c:969 +#: pe-dll.c:1043 #, c-format msgid "%XError, ordinal used twice: %d (%s vs %s)\n" msgstr "%XVirhe, järjestyslukua käytetty kahdesti: %d (%s vs %s)\n" -#: pe-dll.c:1336 +#: pe-dll.c:1410 #, c-format msgid "%XError: %d-bit reloc in dll\n" msgstr "%XVirhe: %d-bittinen reloc dll:ssä\n" -#: pe-dll.c:1464 +#: pe-dll.c:1538 #, c-format msgid "%s: Can't open output def file %s\n" msgstr "%s: Ei voi avata def-tulostetiedostoa %s\n" -#: pe-dll.c:1609 +#: pe-dll.c:1683 #, c-format msgid "; no contents available\n" msgstr "; sisältö ei ole saatavilla\n" -#: pe-dll.c:2407 +#: pe-dll.c:2600 msgid "%C: variable '%T' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.\n" msgstr "%C: muuttujaa ”%T” ei voi tuoda automaattisesti. Lue yksityiskohtaiset dokumentit ld-ohjelman --enable-auto-import-valitsimesta.\n" -#: pe-dll.c:2437 +#: pe-dll.c:2630 #, c-format msgid "%XCan't open .lib file: %s\n" msgstr "%XEi voi avata .lib-tiedostoa: %s\n" -#: pe-dll.c:2442 +#: pe-dll.c:2635 #, c-format msgid "Creating library file: %s\n" msgstr "Luodaan kirjastotiedosto: %s\n" +#: pe-dll.c:2664 +#, c-format +msgid "%Xbfd_openr %s: %E\n" +msgstr "%Xbfd_openr %s: %E\n" + +#: pe-dll.c:2676 +#, c-format +msgid "%X%s(%s): can't find member in non-archive file" +msgstr "%X%s(%s): ei voi löytää jäsentä ei-arkistotiedostossa" + +#: pe-dll.c:2688 +#, c-format +msgid "%X%s(%s): can't find member in archive" +msgstr "%X%s(%s): ei voi löytää jäsentä arkistossa" + +#: pe-dll.c:3078 +#, c-format +msgid "%XError: can't use long section names on this arch\n" +msgstr "%XError: ei voi käyttää pitkiä lohkonimiä tähän arkistoon\n" + +#~ msgid "%P%F: --relax and -r may not be used together\n" +#~ msgstr "%P%F: argumentteja --relax ja -r ei saa käyttää yhdessä\n" + #~ msgid " --support-old-code Support interworking with old code\n" #~ msgstr " --support-old-code Tukee yhteistoimivuutta vanhan koodin kanssa\n" diff --git a/ld/po/ld.pot b/ld/po/ld.pot index 1198c0a3aca..3802df2d3c7 100644 --- a/ld/po/ld.pot +++ b/ld/po/ld.pot @@ -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 \n" "Language-Team: LANGUAGE \n" diff --git a/libiberty/regex.c b/libiberty/regex.c index fa1df197ce9..56410ff81d4 100644 --- a/libiberty/regex.c +++ b/libiberty/regex.c @@ -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; - - DEBUG_PRINT1 ("backtracking.\n"); + { + /* 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); + + /* 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. */ diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 14079aa87d5..a7faf35d056 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,22 @@ +2009-09-11 Nick Clifton + + * po/opcodes.pot: Updated by the Translation project. + +2009-09-11 Martin Thuresson + + 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 * s390-dis.c (print_insn_s390): Avoid 'long long'. diff --git a/opcodes/po/opcodes.pot b/opcodes/po/opcodes.pot index cfc821d9ca1..278ea13c53a 100644 --- a/opcodes/po/opcodes.pot +++ b/opcodes/po/opcodes.pot @@ -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 \n" "Language-Team: LANGUAGE \n" -- 2.30.2