X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gas%2Fconfig%2Fobj-som.c;h=1d51283a21c73d80705b25df96b154bbeb53437f;hb=20203fb9399bed63f555d79dcd8ad95a5bb0aed6;hp=b7e3f0fc1fab98d85b81876d927cfd4072ec744d;hpb=f7e42eb4af140e0068476b586464eaed5569548d;p=binutils-gdb.git diff --git a/gas/config/obj-som.c b/gas/config/obj-som.c index b7e3f0fc1fa..1d51283a21c 100644 --- a/gas/config/obj-som.c +++ b/gas/config/obj-som.c @@ -1,11 +1,12 @@ /* SOM object file format. - Copyright 1993, 1994, 1998, 2000 Free Software Foundation, Inc. + Copyright 1993, 1994, 1998, 2000, 2002, 2003, 2004, 2005, 2006, + 2007, 2008 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. GAS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2, + published by the Free Software Foundation; either version 3, or (at your option) any later version. GAS is distributed in the hope that it will be useful, but @@ -15,8 +16,8 @@ You should have received a copy of the GNU General Public License along with GAS; see the file COPYING. If not, write to the Free - Software Foundation, 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. + Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA + 02110-1301, USA. Written by the Center for Software Science at the University of Utah and by Cygnus Support. */ @@ -26,14 +27,6 @@ #include "aout/stab_gnu.h" #include "obstack.h" -static void obj_som_weak PARAMS ((int)); - -const pseudo_typeS obj_pseudo_table[] = -{ - {"weak", obj_som_weak, 0}, - {NULL, NULL, 0} -}; - static int version_seen = 0; static int copyright_seen = 0; static int compiler_seen = 0; @@ -41,7 +34,7 @@ static int compiler_seen = 0; /* Unused by SOM. */ void -obj_read_begin_hook () +obj_read_begin_hook (void) { } @@ -51,8 +44,7 @@ obj_read_begin_hook () string is "sourcefile language version" and is delimited by blanks. */ void -obj_som_compiler (unused) - int unused; +obj_som_compiler (int unused ATTRIBUTE_UNUSED) { char *buf; char c; @@ -63,7 +55,7 @@ obj_som_compiler (unused) if (compiler_seen) { - as_bad ("Only one .compiler pseudo-op per file!"); + as_bad (_("Only one .compiler pseudo-op per file!")); ignore_rest_of_line (); return; } @@ -80,7 +72,7 @@ obj_som_compiler (unused) } else { - as_bad ("Expected quoted string"); + as_bad (_("Expected quoted string")); ignore_rest_of_line (); return; } @@ -93,7 +85,7 @@ obj_som_compiler (unused) p++; if (*p == '\000') { - as_bad (".compiler directive missing language and version"); + as_bad (_(".compiler directive missing language and version")); return; } *p = '\000'; @@ -103,7 +95,7 @@ obj_som_compiler (unused) p++; if (*p == '\000') { - as_bad (".compiler directive missing version"); + as_bad (_(".compiler directive missing version")); return; } *p = '\000'; @@ -119,7 +111,7 @@ obj_som_compiler (unused) "GNU Tools", version_id)) { bfd_perror (stdoutput->filename); - as_fatal ("FATAL: Attaching compiler header %s", stdoutput->filename); + as_fatal (_("FATAL: Attaching compiler header %s"), stdoutput->filename); } *input_line_pointer = c; demand_empty_rest_of_line (); @@ -128,8 +120,7 @@ obj_som_compiler (unused) /* Handle a .version directive. */ void -obj_som_version (unused) - int unused; +obj_som_version (int unused ATTRIBUTE_UNUSED) { char *version, c; @@ -158,13 +149,10 @@ obj_som_version (unused) } version_seen = 1; - if (bfd_som_attach_aux_hdr (stdoutput, VERSION_AUX_ID, version) == false) - { - bfd_perror (stdoutput->filename); - as_perror (_("FATAL: Attaching version header %s"), - stdoutput->filename); - exit (EXIT_FAILURE); - } + if (!bfd_som_attach_aux_hdr (stdoutput, VERSION_AUX_ID, version)) + as_fatal (_("attaching version header %s: %s"), + stdoutput->filename, bfd_errmsg (bfd_get_error ())); + *input_line_pointer = c; demand_empty_rest_of_line (); } @@ -174,8 +162,7 @@ obj_som_version (unused) If you care about copyright strings that much, you fix it. */ void -obj_som_copyright (unused) - int unused; +obj_som_copyright (int unused ATTRIBUTE_UNUSED) { char *copyright, c; @@ -204,13 +191,10 @@ obj_som_copyright (unused) } copyright_seen = 1; - if (bfd_som_attach_aux_hdr (stdoutput, COPYRIGHT_AUX_ID, copyright) == false) - { - bfd_perror (stdoutput->filename); - as_perror (_("FATAL: Attaching copyright header %s"), - stdoutput->filename); - exit (EXIT_FAILURE); - } + if (!bfd_som_attach_aux_hdr (stdoutput, COPYRIGHT_AUX_ID, copyright)) + as_fatal (_("attaching copyright header %s: %s"), + stdoutput->filename, bfd_errmsg (bfd_get_error ())); + *input_line_pointer = c; demand_empty_rest_of_line (); } @@ -223,8 +207,7 @@ obj_som_copyright (unused) which BFD does not understand. */ void -obj_som_init_stab_section (seg) - segT seg; +obj_som_init_stab_section (segT seg) { segT saved_seg = now_seg; segT space; @@ -248,7 +231,7 @@ obj_som_init_stab_section (seg) (just created above). Also set some attributes which BFD does not understand. In particular, access bits, sort keys, and load quadrant. */ - obj_set_subsection_attributes (seg, space, 0x1f, 73, 0); + obj_set_subsection_attributes (seg, space, 0x1f, 73, 0, 0, 0, 0); bfd_set_section_alignment (stdoutput, seg, 2); /* Make some space for the first special stab entry and zero the memory. @@ -271,7 +254,7 @@ obj_som_init_stab_section (seg) not understand. In particular, access bits, sort keys, and load quadrant. */ seg = bfd_get_section_by_name (stdoutput, "$GDB_STRINGS$"); - obj_set_subsection_attributes (seg, space, 0x1f, 72, 0); + obj_set_subsection_attributes (seg, space, 0x1f, 72, 0, 0, 0, 0); bfd_set_section_alignment (stdoutput, seg, 2); subseg_set (saved_seg, saved_subseg); @@ -280,10 +263,7 @@ obj_som_init_stab_section (seg) /* Fill in the counts in the first entry in a .stabs section. */ static void -adjust_stab_sections (abfd, sec, xxx) - bfd *abfd; - asection *sec; - PTR xxx; +adjust_stab_sections (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED) { asection *strsec; char *p; @@ -300,24 +280,23 @@ adjust_stab_sections (abfd, sec, xxx) nsyms = bfd_section_size (abfd, sec) / 12 - 1; p = seg_info (sec)->stabu.p; - assert (p != 0); + gas_assert (p != 0); bfd_h_put_16 (abfd, (bfd_vma) nsyms, (bfd_byte *) p + 6); bfd_h_put_32 (abfd, (bfd_vma) strsz, (bfd_byte *) p + 8); } -/* Called late in the asssembly phase to adjust the special +/* Called late in the assembly phase to adjust the special stab entry and to set the starting address for each code subspace. */ void -som_frob_file () +som_frob_file (void) { - bfd_map_over_sections (stdoutput, adjust_stab_sections, (PTR) 0); + bfd_map_over_sections (stdoutput, adjust_stab_sections, (void *) 0); } static void -obj_som_weak (ignore) - int ignore ATTRIBUTE_UNUSED; +obj_som_weak (int ignore ATTRIBUTE_UNUSED) { char *name; int c; @@ -331,9 +310,6 @@ obj_som_weak (ignore) *input_line_pointer = c; SKIP_WHITESPACE (); S_SET_WEAK (symbolP); -#if 0 - symbol_get_obj (symbolP)->local = 1; -#endif if (c == ',') { input_line_pointer++; @@ -345,3 +321,9 @@ obj_som_weak (ignore) while (c == ','); demand_empty_rest_of_line (); } + +const pseudo_typeS obj_pseudo_table[] = +{ + {"weak", obj_som_weak, 0}, + {NULL, NULL, 0} +};