From: Nick Clifton Date: Mon, 19 Jun 2000 01:22:44 +0000 (+0000) Subject: Applied Stephane Carrez patches to add support X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=60bcf0fa8c115b4e71d7b1372aca3efccffc9607;p=binutils-gdb.git Applied Stephane Carrez patches to add support for m68hc11 and m68hc12 processors. --- diff --git a/.cvsignore b/.cvsignore index dab6c3245ba..bde48527b00 100644 --- a/.cvsignore +++ b/.cvsignore @@ -28,3 +28,5 @@ configure.vrs dir.info Makefile lost+found +update.out + diff --git a/bfd/ChangeLog b/bfd/ChangeLog index df53b6a13ec..3bf5a1744d3 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,23 @@ +2000-06-18 Stephane Carrez + + * Makefile.in, bfd-in2.h, libbfd.h, configure: Rebuild. + * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES, BFD32_BACKENDS, + BFD32_BACKENDS_CFILES): Add 68hc12, 68hc11 files. + * configure.in (bfd_elf32_m68hc12_vec): Recognize. + (bfd_elf32_m68hc11_vec): Likewise. + * config.bfd (targ_cpu): Recognize 68hc12 and 68hc11. + Supports 68hc11 & 68hc12 at the same time. + * targets.c (bfd_elf32_m68hc12_vec): Declare and put in + bfd_target_vector. + (bfd_elf32_m68hc11_vec): Likewise. + * elf.c (prep_headers): Recognize bfd_arch_m68hc12 and 68hc11. + * archures.c (bfd_m68hc12_arch): Define and register in global list + (bfd_m68hc11_arch): Likewise. + * reloc.c (BFD_RELOC_M68HC11_HI8, BFD_RELOC_M68HC11_LO8, + BFD_RELOC_M68HC11_3B): Define. + * cpu-m68hc12.c, elf32-m68hc12.c: New files for 68hc12 support. + * cpu-m68hc11.c, elf32-m68hc11.c: New files for 68hc11 support. + 2000-06-18 Ulf Carlsson * elf_bfd.h (struct elf_backend_data): Add info argument to diff --git a/bfd/Makefile.am b/bfd/Makefile.am index 1b6a0a77c72..39c745533d0 100644 --- a/bfd/Makefile.am +++ b/bfd/Makefile.am @@ -57,6 +57,8 @@ ALL_MACHINES = \ cpu-i860.lo \ cpu-i960.lo \ cpu-m32r.lo \ + cpu-m68hc11.lo \ + cpu-m68hc12.lo \ cpu-m68k.lo \ cpu-m88k.lo \ cpu-m10200.lo \ @@ -96,6 +98,8 @@ ALL_MACHINES_CFILES = \ cpu-i860.c \ cpu-i960.c \ cpu-m32r.c \ + cpu-m68hc11.c \ + cpu-m68hc12.c \ cpu-m68k.c \ cpu-m88k.c \ cpu-m10200.c \ @@ -179,6 +183,8 @@ BFD32_BACKENDS = \ elf32-i860.lo \ elf32-i960.lo \ elf32-m32r.lo \ + elf32-m68hc11.lo \ + elf32-m68hc12.lo \ elf32-m68k.lo \ elf32-m88k.lo \ elf-m10200.lo \ @@ -313,6 +319,8 @@ BFD32_BACKENDS_CFILES = \ elf32-i960.c \ elf32-m32r.c \ elf32-m68k.c \ + elf32-m68hc11.c \ + elf32-m68hc12.c \ elf32-m88k.c \ elf-m10200.c \ elf-m10300.c \ @@ -721,6 +729,8 @@ cpu-i860.lo: cpu-i860.c $(INCDIR)/filenames.h cpu-i960.lo: cpu-i960.c $(INCDIR)/filenames.h cpu-m32r.lo: cpu-m32r.c $(INCDIR)/filenames.h cpu-m68k.lo: cpu-m68k.c $(INCDIR)/filenames.h +cpu-m68hc11.lo: cpu-m68hc11.c $(INCDIR)/filenames.h +cpu-m68hc12.lo: cpu-m68hc12.c $(INCDIR)/filenames.h cpu-m88k.lo: cpu-m88k.c $(INCDIR)/filenames.h cpu-m10200.lo: cpu-m10200.c $(INCDIR)/filenames.h cpu-m10300.lo: cpu-m10300.c $(INCDIR)/filenames.h @@ -913,6 +923,10 @@ elf32-fr30.lo: elf32-fr30.c $(INCDIR)/filenames.h elf-bfd.h \ elf32-gen.lo: elf32-gen.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h elf32-target.h +elf32-m68hc11.lo: elf32-m68hc11.c $(INCDIR)/bfdlink.h elf-bfd.h \ + $(INCDIR)/elf/m68hc11.h elf32-target.h +elf32-m68hc12.lo: elf32-m68hc12.c $(INCDIR)/bfdlink.h elf-bfd.h \ + $(INCDIR)/elf/m68hc11.h elf32-target.h elf32-hppa.lo: elf32-hppa.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/hppa.h $(INCDIR)/elf/reloc-macros.h \ diff --git a/bfd/Makefile.in b/bfd/Makefile.in index f23960a6b7a..a894da47106 100644 --- a/bfd/Makefile.in +++ b/bfd/Makefile.in @@ -172,6 +172,8 @@ ALL_MACHINES = \ cpu-i860.lo \ cpu-i960.lo \ cpu-m32r.lo \ + cpu-m68hc11.lo \ + cpu-m68hc12.lo \ cpu-m68k.lo \ cpu-m88k.lo \ cpu-m10200.lo \ @@ -212,6 +214,8 @@ ALL_MACHINES_CFILES = \ cpu-i860.c \ cpu-i960.c \ cpu-m32r.c \ + cpu-m68hc11.c \ + cpu-m68hc12.c \ cpu-m68k.c \ cpu-m88k.c \ cpu-m10200.c \ @@ -296,6 +300,8 @@ BFD32_BACKENDS = \ elf32-i860.lo \ elf32-i960.lo \ elf32-m32r.lo \ + elf32-m68hc11.lo \ + elf32-m68hc12.lo \ elf32-m68k.lo \ elf32-m88k.lo \ elf-m10200.lo \ @@ -431,6 +437,8 @@ BFD32_BACKENDS_CFILES = \ elf32-i960.c \ elf32-m32r.c \ elf32-m68k.c \ + elf32-m68hc11.c \ + elf32-m68hc12.c \ elf32-m88k.c \ elf-m10200.c \ elf-m10300.c \ @@ -663,7 +671,7 @@ configure.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = tar +TAR = gtar GZIP_ENV = --best SOURCES = $(libbfd_a_SOURCES) $(libbfd_la_SOURCES) OBJECTS = $(libbfd_a_OBJECTS) $(libbfd_la_OBJECTS) @@ -1249,6 +1257,8 @@ cpu-i860.lo: cpu-i860.c $(INCDIR)/filenames.h cpu-i960.lo: cpu-i960.c $(INCDIR)/filenames.h cpu-m32r.lo: cpu-m32r.c $(INCDIR)/filenames.h cpu-m68k.lo: cpu-m68k.c $(INCDIR)/filenames.h +cpu-m68hc11.lo: cpu-m68hc11.c $(INCDIR)/filenames.h +cpu-m68hc12.lo: cpu-m68hc12.c $(INCDIR)/filenames.h cpu-m88k.lo: cpu-m88k.c $(INCDIR)/filenames.h cpu-m10200.lo: cpu-m10200.c $(INCDIR)/filenames.h cpu-m10300.lo: cpu-m10300.c $(INCDIR)/filenames.h @@ -1441,6 +1451,10 @@ elf32-fr30.lo: elf32-fr30.c $(INCDIR)/filenames.h elf-bfd.h \ elf32-gen.lo: elf32-gen.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h elf32-target.h +elf32-m68hc11.lo: elf32-m68hc11.c $(INCDIR)/bfdlink.h elf-bfd.h \ + $(INCDIR)/elf/m68hc11.h elf32-target.h +elf32-m68hc12.lo: elf32-m68hc12.c $(INCDIR)/bfdlink.h elf-bfd.h \ + $(INCDIR)/elf/m68hc11.h elf32-target.h elf32-hppa.lo: elf32-hppa.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/hppa.h $(INCDIR)/elf/reloc-macros.h \ diff --git a/bfd/archures.c b/bfd/archures.c index 69e42bfa8a5..ffc79377e88 100644 --- a/bfd/archures.c +++ b/bfd/archures.c @@ -174,6 +174,8 @@ DESCRIPTION .#define bfd_mach_d10v_ts2 2 .#define bfd_mach_d10v_ts3 3 . bfd_arch_d30v, {* Mitsubishi D30V *} +. bfd_arch_m68hc11, {* Motorola 68HC11 *} +. bfd_arch_m68hc12, {* Motorola 68HC12 *} . bfd_arch_z8k, {* Zilog Z8000 *} .#define bfd_mach_z8001 1 .#define bfd_mach_z8002 2 @@ -279,6 +281,8 @@ extern const bfd_arch_info_type bfd_i386_arch; extern const bfd_arch_info_type bfd_i860_arch; extern const bfd_arch_info_type bfd_i960_arch; extern const bfd_arch_info_type bfd_m32r_arch; +extern const bfd_arch_info_type bfd_m68hc11_arch; +extern const bfd_arch_info_type bfd_m68hc12_arch; extern const bfd_arch_info_type bfd_m68k_arch; extern const bfd_arch_info_type bfd_m88k_arch; extern const bfd_arch_info_type bfd_mips_arch; @@ -322,6 +326,8 @@ static const bfd_arch_info_type * const bfd_archures_list[] = &bfd_i860_arch, &bfd_i960_arch, &bfd_m32r_arch, + &bfd_m68hc11_arch, + &bfd_m68hc12_arch, &bfd_m68k_arch, &bfd_m88k_arch, &bfd_mips_arch, diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h index 26a90800d7a..f0a1d84ebde 100644 --- a/bfd/bfd-in.h +++ b/bfd/bfd-in.h @@ -23,7 +23,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* bfd.h -- The only header file required by users of the bfd library +/* bfd.h -- The only header file required by users of the bfd library The bfd.h file is generated from bfd-in.h and various .c files; if you change it, your changes will probably be lost. @@ -109,7 +109,7 @@ typedef enum bfd_boolean {bfd_fffalse, bfd_tttrue} boolean; /* FIXME: This should be using off_t from . For now, try to avoid breaking stuff by not including here. This will break on systems with 64-bit file offsets (e.g. 4.4BSD). - Probably the best long-term answer is to avoid using file_ptr AND off_t + Probably the best long-term answer is to avoid using file_ptr AND off_t in this header file, and to handle this in the BFD implementation rather than in its interface. */ /* typedef off_t file_ptr; */ @@ -284,11 +284,11 @@ typedef struct carsym { file_ptr file_offset; /* look here to find the file */ } carsym; /* to make these you call a carsymogen */ - + /* Used in generating armaps (archive tables of contents). Perhaps just a forward definition would do? */ struct orl { /* output ranlib */ - char **name; /* symbol name */ + char **name; /* symbol name */ file_ptr pos; /* bfd* or file position */ int namidx; /* index into string table */ }; @@ -296,7 +296,7 @@ struct orl { /* output ranlib */ /* Linenumber stuff */ typedef struct lineno_cache_entry { - unsigned int line_number; /* Linenumber from start of function*/ + unsigned int line_number; /* Linenumber from start of function*/ union { struct symbol_cache_entry *sym; /* Function name */ unsigned long offset; /* Offset into section */ @@ -327,15 +327,15 @@ typedef struct sec *sec_ptr; #define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),true) #define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),true) -typedef struct stat stat_type; +typedef struct stat stat_type; typedef enum bfd_print_symbol -{ +{ bfd_print_symbol_name, bfd_print_symbol_more, bfd_print_symbol_all } bfd_print_symbol_type; - + /* Information about a symbol that nm needs. */ typedef struct _symbol_info diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 92501f003c7..b0832b90ce0 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -23,7 +23,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* bfd.h -- The only header file required by users of the bfd library +/* bfd.h -- The only header file required by users of the bfd library The bfd.h file is generated from bfd-in.h and various .c files; if you change it, your changes will probably be lost. @@ -109,7 +109,7 @@ typedef enum bfd_boolean {bfd_fffalse, bfd_tttrue} boolean; /* FIXME: This should be using off_t from . For now, try to avoid breaking stuff by not including here. This will break on systems with 64-bit file offsets (e.g. 4.4BSD). - Probably the best long-term answer is to avoid using file_ptr AND off_t + Probably the best long-term answer is to avoid using file_ptr AND off_t in this header file, and to handle this in the BFD implementation rather than in its interface. */ /* typedef off_t file_ptr; */ @@ -284,11 +284,11 @@ typedef struct carsym { file_ptr file_offset; /* look here to find the file */ } carsym; /* to make these you call a carsymogen */ - + /* Used in generating armaps (archive tables of contents). Perhaps just a forward definition would do? */ struct orl { /* output ranlib */ - char **name; /* symbol name */ + char **name; /* symbol name */ file_ptr pos; /* bfd* or file position */ int namidx; /* index into string table */ }; @@ -296,7 +296,7 @@ struct orl { /* output ranlib */ /* Linenumber stuff */ typedef struct lineno_cache_entry { - unsigned int line_number; /* Linenumber from start of function*/ + unsigned int line_number; /* Linenumber from start of function*/ union { struct symbol_cache_entry *sym; /* Function name */ unsigned long offset; /* Offset into section */ @@ -327,15 +327,15 @@ typedef struct sec *sec_ptr; #define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),true) #define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),true) -typedef struct stat stat_type; +typedef struct stat stat_type; typedef enum bfd_print_symbol -{ +{ bfd_print_symbol_name, bfd_print_symbol_more, bfd_print_symbol_all } bfd_print_symbol_type; - + /* Information about a symbol that nm needs. */ typedef struct _symbol_info @@ -1413,6 +1413,8 @@ enum bfd_architecture #define bfd_mach_d10v_ts2 2 #define bfd_mach_d10v_ts3 3 bfd_arch_d30v, /* Mitsubishi D30V */ + bfd_arch_m68hc11, /* Motorola 68HC11 */ + bfd_arch_m68hc12, /* Motorola 68HC12 */ bfd_arch_z8k, /* Zilog Z8000 */ #define bfd_mach_z8001 1 #define bfd_mach_z8002 2 @@ -2545,6 +2547,18 @@ this offset in the reloc's section offset. */ BFD_RELOC_IA64_LTOFF_TP22, BFD_RELOC_IA64_LTOFF22X, BFD_RELOC_IA64_LDXMOV, + +/* Motorola 68HC11 reloc. +This is the 8 bits high part of an absolute address. */ + BFD_RELOC_M68HC11_HI8, + +/* Motorola 68HC11 reloc. +This is the 8 bits low part of an absolute address. */ + BFD_RELOC_M68HC11_LO8, + +/* Motorola 68HC11 reloc. +This is the 3 bits of a value. */ + BFD_RELOC_M68HC11_3B, BFD_RELOC_UNUSED }; typedef enum bfd_reloc_code_real bfd_reloc_code_real_type; reloc_howto_type * diff --git a/bfd/coff-i386.c b/bfd/coff-i386.c index c7aa659c0e0..0f233254f13 100644 --- a/bfd/coff-i386.c +++ b/bfd/coff-i386.c @@ -176,19 +176,17 @@ coff_i386_reloc (abfd, reloc_entry, symbol, data, input_section, output_bfd, } #ifdef COFF_WITH_PE - /* Return true if this relocation should appear in the output .reloc section. */ static boolean in_reloc_p PARAMS ((bfd *, reloc_howto_type *)); static boolean in_reloc_p (abfd, howto) - bfd *abfd ATTRIBUTE_UNUSED; + bfd * abfd ATTRIBUTE_UNUSED; reloc_howto_type *howto; { return ! howto->pc_relative && howto->type != R_IMAGEBASE; } - #endif /* COFF_WITH_PE */ #ifndef PCRELOFFSET diff --git a/bfd/coff-mcore.c b/bfd/coff-mcore.c index 19cbea1dc80..f20c2ca815f 100644 --- a/bfd/coff-mcore.c +++ b/bfd/coff-mcore.c @@ -582,5 +582,9 @@ coff_mcore_relocate_section (output_bfd, info, input_bfd, input_section, extern const bfd_target TARGET_LITTLE_SYM; /* The transfer vectors that lead the outside world to all of the above. */ -CREATE_BIG_COFF_TARGET_VEC (TARGET_BIG_SYM, TARGET_BIG_NAME, D_PAGED, (SEC_LINK_ONCE | SEC_LINK_DUPLICATES), 0, & TARGET_LITTLE_SYM) -CREATE_LITTLE_COFF_TARGET_VEC (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, D_PAGED, (SEC_LINK_ONCE | SEC_LINK_DUPLICATES), 0, & TARGET_BIG_SYM) +CREATE_BIG_COFF_TARGET_VEC (TARGET_BIG_SYM, TARGET_BIG_NAME, D_PAGED, + (SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_READONLY | SEC_LINK_ONCE | SEC_LINK_DUPLICATES), + 0, & TARGET_LITTLE_SYM) +CREATE_LITTLE_COFF_TARGET_VEC (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, D_PAGED, + (SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_READONLY | SEC_LINK_ONCE | SEC_LINK_DUPLICATES), + 0, & TARGET_BIG_SYM) diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 93444988678..f4e27fad25c 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -1466,8 +1466,8 @@ static const unsigned int coff_section_alignment_table_size = static boolean coff_new_section_hook (abfd, section) - bfd *abfd; - asection *section; + bfd * abfd; + asection * section; { combined_entry_type *native; @@ -3342,7 +3342,7 @@ coff_write_object_contents (abfd) && ! is_reloc_section) hasdebug = true; -#ifdef RS6000COFF_C +#ifdef RS6000COFF_C #ifndef XCOFF64 /* Indicate the use of an XCOFF overflow section header. */ if (current->reloc_count >= 0xffff || current->lineno_count >= 0xffff) @@ -3395,7 +3395,7 @@ coff_write_object_contents (abfd) SCNHDR buff; if (coff_swap_scnhdr_out (abfd, §ion, &buff) == 0 || bfd_write ((PTR) (&buff), 1, bfd_coff_scnhsz (abfd), abfd) - != bfd_coff_scnhsz (abfd)) + != bfd_coff_scnhsz (abfd)) return false; } @@ -3517,7 +3517,7 @@ coff_write_object_contents (abfd) scnhdr.s_flags = STYP_OVRFLO; if (coff_swap_scnhdr_out (abfd, &scnhdr, &buff) == 0 || bfd_write ((PTR) &buff, 1, bfd_coff_scnhsz (abfd), abfd) - != bfd_coff_scnhsz (abfd)) + != bfd_coff_scnhsz (abfd)) return false; } } @@ -4438,7 +4438,7 @@ coff_slurp_symbol_table (abfd) #endif case C_BLOCK: /* ".bb" or ".eb" */ - case C_FCN: /* ".bf" or ".ef" (or PE ".lf") */ + case C_FCN: /* ".bf" or ".ef" (or PE ".lf") */ case C_EFCN: /* physical end of function */ #if defined COFF_WITH_PE /* PE sets the symbol to a value relative to the start diff --git a/bfd/cofflink.c b/bfd/cofflink.c index b648fa19eea..01fa2e7b917 100644 --- a/bfd/cofflink.c +++ b/bfd/cofflink.c @@ -2201,7 +2201,7 @@ _bfd_coff_link_input_bfd (finfo, input_bfd) is.n_numaux, auxptr); } - skipping = false; + skipping = false; } iline.l_addr.l_symndx = indx; diff --git a/bfd/config.bfd b/bfd/config.bfd index 324a168efca..f85a6def7d0 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -37,6 +37,8 @@ c54x*) targ_archs=bfd_tic54x_arch ;; hppa*) targ_archs=bfd_hppa_arch ;; i[3456]86) targ_archs=bfd_i386_arch ;; i370) targ_archs=bfd_i370_arch ;; +m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch" ;; +m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch" ;; m68*) targ_archs=bfd_m68k_arch ;; m88*) targ_archs=bfd_m88k_arch ;; mips*) targ_archs=bfd_mips_arch ;; @@ -118,7 +120,7 @@ case "${targ}" in targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec" targ_underscore=yes ;; - arm-*-aout | armel-*-aout) + arm-*-aout | armel-*-aout) targ_defvec=aout_arm_little_vec targ_selvecs=aout_arm_big_vec ;; @@ -231,7 +233,7 @@ case "${targ}" in hppa*-*-*elf* | hppa*-*-linux-gnu* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-rtems*) targ_defvec=bfd_elf32_hppa_vec ;; -#ifdef BFD64 +#ifdef BFD64 hppa*64*-*-hpux11*) targ_defvec=bfd_elf64_hppa_vec targ_cflags=-DHPUX_LARGE_AR_IDS @@ -404,6 +406,15 @@ case "${targ}" in targ_defvec=bfd_elf32_m32r_vec ;; + m68hc11-*-* | m6811-*-*) + targ_defvec=bfd_elf32_m68hc11_vec + targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec" + ;; + m68hc12-*-* | m6812-*-*) + targ_defvec=bfd_elf32_m68hc12_vec + targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec" + ;; + m68*-apollo-*) targ_defvec=apollocoff_vec ;; @@ -740,7 +751,7 @@ case "${targ}" in sparc64-*-elf*) targ_defvec=bfd_elf64_sparc_vec targ_selvecs=bfd_elf32_sparc_vec - ;; + ;; #endif /* BFD64 */ sparc*-*-coff*) targ_defvec=sparccoff_vec diff --git a/bfd/configure b/bfd/configure index ba644d2f052..092c2283d79 100755 --- a/bfd/configure +++ b/bfd/configure @@ -5144,6 +5144,8 @@ do bfd_elf64_littlemips_vec) tb="$tb elf64-mips.lo elf64.lo elf32-mips.lo elf32.lo $elf ecofflink.lo" target64=true ;; bfd_elf32_m32r_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; + bfd_elf32_m68hc11_vec) tb="$tb elf32-m68hc11.lo elf32.lo $elf" ;; + bfd_elf32_m68hc12_vec) tb="$tb elf32-m68hc12.lo elf32.lo $elf" ;; bfd_elf32_m68k_vec) tb="$tb elf32-m68k.lo elf32.lo $elf" ;; bfd_elf32_m88k_vec) tb="$tb elf32-m88k.lo elf32.lo $elf" ;; bfd_elf32_mcore_big_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;; @@ -5236,8 +5238,8 @@ do shlcoff_vec) tb="$tb coff-sh.lo cofflink.lo" ;; shcoff_small_vec) tb="$tb coff-sh.lo cofflink.lo" ;; shlcoff_small_vec) tb="$tb coff-sh.lo cofflink.lo" ;; - shlpe_vec) tb="$tb pe-sh.lo coff-sh.lo cofflink.lo" ;; - shlpei_vec) tb="$tb pei-sh.lo coff-sh.lo cofflink.lo" ;; + shlpe_vec) tb="$tb pe-sh.lo coff-sh.lo peigen.lo cofflink.lo" ;; + shlpei_vec) tb="$tb pei-sh.lo coff-sh.lo peigen.lo cofflink.lo" ;; som_vec) tb="$tb som.lo" ;; sparcle_aout_vec) tb="$tb aout-sparcle.lo aout32.lo" ;; sparclinux_vec) tb="$tb sparclinux.lo aout32.lo" ;; @@ -5346,17 +5348,17 @@ for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5350: checking for $ac_hdr" >&5 +echo "configure:5352: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5360: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5362: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5385,12 +5387,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5389: checking for $ac_func" >&5 +echo "configure:5391: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5419: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5438,7 +5440,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:5442: checking for working mmap" >&5 +echo "configure:5444: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5446,7 +5448,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -5611,12 +5613,12 @@ fi for ac_func in madvise mprotect do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5615: checking for $ac_func" >&5 +echo "configure:5617: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5645: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else diff --git a/bfd/configure.in b/bfd/configure.in index 08daaa87997..4b1c723e5f3 100644 --- a/bfd/configure.in +++ b/bfd/configure.in @@ -501,6 +501,8 @@ do bfd_elf64_littlemips_vec) tb="$tb elf64-mips.lo elf64.lo elf32-mips.lo elf32.lo $elf ecofflink.lo" target64=true ;; bfd_elf32_m32r_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; + bfd_elf32_m68hc11_vec) tb="$tb elf32-m68hc11.lo elf32.lo $elf" ;; + bfd_elf32_m68hc12_vec) tb="$tb elf32-m68hc12.lo elf32.lo $elf" ;; bfd_elf32_m68k_vec) tb="$tb elf32-m68k.lo elf32.lo $elf" ;; bfd_elf32_m88k_vec) tb="$tb elf32-m88k.lo elf32.lo $elf" ;; bfd_elf32_mcore_big_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;; @@ -593,8 +595,8 @@ do shlcoff_vec) tb="$tb coff-sh.lo cofflink.lo" ;; shcoff_small_vec) tb="$tb coff-sh.lo cofflink.lo" ;; shlcoff_small_vec) tb="$tb coff-sh.lo cofflink.lo" ;; - shlpe_vec) tb="$tb pe-sh.lo coff-sh.lo cofflink.lo" ;; - shlpei_vec) tb="$tb pei-sh.lo coff-sh.lo cofflink.lo" ;; + shlpe_vec) tb="$tb pe-sh.lo coff-sh.lo peigen.lo cofflink.lo" ;; + shlpei_vec) tb="$tb pei-sh.lo coff-sh.lo peigen.lo cofflink.lo" ;; som_vec) tb="$tb som.lo" ;; sparcle_aout_vec) tb="$tb aout-sparcle.lo aout32.lo" ;; sparclinux_vec) tb="$tb sparclinux.lo aout32.lo" ;; diff --git a/bfd/cpu-m68hc11.c b/bfd/cpu-m68hc11.c new file mode 100644 index 00000000000..0df14c8d30b --- /dev/null +++ b/bfd/cpu-m68hc11.c @@ -0,0 +1,39 @@ +/* BFD support for the Motorola 68HC11 processor + Copyright 1999, 2000 Free Software Foundation, Inc. + +This file is part of BFD, the Binary File Descriptor library. + +This program 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 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "bfd.h" +#include "sysdep.h" +#include "libbfd.h" + +const bfd_arch_info_type bfd_m68hc11_arch = +{ + 16, /* 16 bits in a word */ + 16, /* 16 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_m68hc11, + 0, + "m68hc11", + "m68hc11", + 4, /* section alignment power */ + true, + bfd_default_compatible, + bfd_default_scan, + 0, +}; + diff --git a/bfd/cpu-m68hc12.c b/bfd/cpu-m68hc12.c new file mode 100644 index 00000000000..830ddb51ae5 --- /dev/null +++ b/bfd/cpu-m68hc12.c @@ -0,0 +1,38 @@ +/* BFD support for the Motorola 68HC12 processor + Copyright 1999, 2000 Free Software Foundation, Inc. + +This file is part of BFD, the Binary File Descriptor library. + +This program 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 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "bfd.h" +#include "sysdep.h" +#include "libbfd.h" + +const bfd_arch_info_type bfd_m68hc12_arch = +{ + 16, /* 16 bits in a word */ + 16, /* 16 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_m68hc12, + 0, + "m68hc12", + "m68hc12", + 4, /* section alignment power */ + true, + bfd_default_compatible, + bfd_default_scan, + 0, +}; diff --git a/bfd/doc/Makefile.in b/bfd/doc/Makefile.in index e45ab482cad..80be82a2b5e 100644 --- a/bfd/doc/Makefile.in +++ b/bfd/doc/Makefile.in @@ -188,7 +188,7 @@ DIST_COMMON = ChangeLog Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = tar +TAR = gtar GZIP_ENV = --best all: all-redirect .SUFFIXES: diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index b17f7c6cda0..8489a32de35 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -373,8 +373,8 @@ struct elf_backend_data /* A function to set the type of the info field. Processor-specific types should be handled here. */ - int (*elf_backend_get_symbol_type) PARAMS (( Elf_Internal_Sym *, int)); - + int (*elf_backend_get_symbol_type) PARAMS (( Elf_Internal_Sym *, int)); + /* A function to do additional processing on the ELF section header just before writing it out. This is used to set the flags and type fields for some sections, or to actually write out data for @@ -638,7 +638,7 @@ struct elf_backend_data both REL and RELA relocations, and this flag is set for those backends.) */ unsigned may_use_rel_p : 1; - + /* Whether the backend may use RELA relocations. (Some backends use both REL and RELA relocations, and this flag is set for those backends.) */ @@ -647,8 +647,8 @@ struct elf_backend_data /* Whether the default relocation type is RELA. If a backend with this flag set wants REL relocations for a particular section, it must note that explicitly. Similarly, if this flag is clear, - and the backend wants RELA relocations for a particular - section. */ + and the backend wants RELA relocations for a particular + section. */ unsigned default_use_rela_p : 1; /* True if addresses "naturally" sign extend. This is used when @@ -1013,7 +1013,7 @@ extern boolean _bfd_elf_find_nearest_line PARAMS ((bfd *, asection *, #define _bfd_elf_minisymbol_to_symbol _bfd_generic_minisymbol_to_symbol extern int _bfd_elf_sizeof_headers PARAMS ((bfd *, boolean)); extern boolean _bfd_elf_new_section_hook PARAMS ((bfd *, asection *)); -extern boolean _bfd_elf_init_reloc_shdr +extern boolean _bfd_elf_init_reloc_shdr PARAMS ((bfd *, Elf_Internal_Shdr *, asection *, boolean)); /* If the target doesn't have reloc handling written yet: */ @@ -1282,11 +1282,11 @@ extern boolean _bfd_mips_elf_finish_dynamic_symbol Elf_Internal_Sym *)); extern boolean _bfd_mips_elf_finish_dynamic_sections PARAMS ((bfd *, struct bfd_link_info *)); -extern asection * _bfd_mips_elf_gc_mark_hook +extern asection * _bfd_mips_elf_gc_mark_hook PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Rela *, struct elf_link_hash_entry *, Elf_Internal_Sym *)); -extern boolean _bfd_mips_elf_gc_sweep_hook - PARAMS ((bfd *, struct bfd_link_info *, asection *, +extern boolean _bfd_mips_elf_gc_sweep_hook + PARAMS ((bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *)); extern boolean _bfd_mips_elf_always_size_sections PARAMS ((bfd *, struct bfd_link_info *)); @@ -1297,7 +1297,7 @@ extern boolean _bfd_mips_elf_check_relocs const Elf_Internal_Rela *)); extern struct bfd_link_hash_table *_bfd_mips_elf_link_hash_table_create PARAMS ((bfd *)); -extern boolean _bfd_mips_elf_print_private_bfd_data +extern boolean _bfd_mips_elf_print_private_bfd_data PARAMS ((bfd *, PTR)); extern boolean _bfd_mips_elf_link_output_symbol_hook PARAMS ((bfd *, struct bfd_link_info *, const char *, Elf_Internal_Sym *, diff --git a/bfd/elf.c b/bfd/elf.c index a52d7933cd9..f88ebbd6ee4 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -1333,8 +1333,10 @@ bfd_section_from_shdr (abfd, shindex) /* If this reloc section does not use the main symbol table we don't treat it as a reloc section. BFD can't adequately represent such a section, so at least for now, we don't - try. We just present it as a normal section. */ - if (hdr->sh_link != elf_onesymtab (abfd)) + try. We just present it as a normal section. We also + can't use it as a reloc section if it points to the null + section. */ + if (hdr->sh_link != elf_onesymtab (abfd) || hdr->sh_info == SHN_UNDEF) return _bfd_elf_make_section_from_shdr (abfd, hdr, name); if (! bfd_section_from_shdr (abfd, hdr->sh_info)) @@ -3265,6 +3267,12 @@ prep_headers (abfd) case bfd_arch_ia64: i_ehdrp->e_machine = EM_IA_64; break; + case bfd_arch_m68hc11: + i_ehdrp->e_machine = EM_68HC11; + break; + case bfd_arch_m68hc12: + i_ehdrp->e_machine = EM_68HC12; + break; case bfd_arch_m68k: i_ehdrp->e_machine = EM_68K; break; diff --git a/bfd/elf32-m68hc11.c b/bfd/elf32-m68hc11.c new file mode 100644 index 00000000000..594d114ea9e --- /dev/null +++ b/bfd/elf32-m68hc11.c @@ -0,0 +1,281 @@ +/* Motorola 68HC11-specific support for 32-bit ELF + Copyright (C) 1999, 2000 Free Software Foundation, Inc. + Contributed by Stephane Carrez (stcarrez@worldnet.fr) + (Heavily copied from the D10V port by Martin Hunt (hunt@cygnus.com)) + +This file is part of BFD, the Binary File Descriptor library. + +This program 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 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "bfd.h" +#include "sysdep.h" +#include "libbfd.h" +#include "elf-bfd.h" +#include "elf/m68hc11.h" + +static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup +PARAMS ((bfd * abfd, bfd_reloc_code_real_type code)); +static void m68hc11_info_to_howto_rel +PARAMS ((bfd *, arelent *, Elf32_Internal_Rel *)); + + +/* Use REL instead of RELA to save space */ +#define USE_REL + +/* The Motorola 68HC11 microcontroler only addresses 64Kb. + We must handle 8 and 16-bit relocations. The 32-bit relocation + is defined but not used except by gas when -gstabs is used (which + is wrong). + The 3-bit and 16-bit PC rel relocation is only used by 68HC12. */ +static reloc_howto_type elf_m68hc11_howto_table[] = { + /* This reloc does nothing. */ + HOWTO (R_M68HC11_NONE, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_NONE", /* name */ + false, /* partial_inplace */ + 0, /* src_mask */ + 0, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 8 bit absolute relocation */ + HOWTO (R_M68HC11_8, /* type */ + 0, /* rightshift */ + 0, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_8", /* name */ + false, /* partial_inplace */ + 0x00ff, /* src_mask */ + 0x00ff, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 8 bit absolute relocation (upper address) */ + HOWTO (R_M68HC11_HI8, /* type */ + 8, /* rightshift */ + 0, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_HI8", /* name */ + false, /* partial_inplace */ + 0x00ff, /* src_mask */ + 0x00ff, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 8 bit absolute relocation (upper address) */ + HOWTO (R_M68HC11_LO8, /* type */ + 0, /* rightshift */ + 0, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_LO8", /* name */ + false, /* partial_inplace */ + 0x00ff, /* src_mask */ + 0x00ff, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 8 bit PC-rel relocation */ + HOWTO (R_M68HC11_PCREL_8, /* type */ + 0, /* rightshift */ + 0, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* bitsize */ + true, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_PCREL_8", /* name */ + false, /* partial_inplace */ + 0x0, /* src_mask */ + 0x00ff, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 16 bit absolute relocation */ + HOWTO (R_M68HC11_16, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont /*bitfield */ , /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_16", /* name */ + false, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 32 bit absolute relocation. This one is never used for the + code relocation. It's used by gas for -gstabs generation. */ + HOWTO (R_M68HC11_32, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_32", /* name */ + false, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 3 bit absolute relocation */ + HOWTO (R_M68HC11_3B, /* type */ + 0, /* rightshift */ + 0, /* size (0 = byte, 1 = short, 2 = long) */ + 3, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_4B", /* name */ + false, /* partial_inplace */ + 0x003, /* src_mask */ + 0x003, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 16 bit PC-rel relocation */ + HOWTO (R_M68HC11_PCREL_16, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + true, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_PCREL_16", /* name */ + false, /* partial_inplace */ + 0x0, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* GNU extension to record C++ vtable hierarchy */ + HOWTO (R_M68HC11_GNU_VTINHERIT, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + NULL, /* special_function */ + "R_M68HC11_GNU_VTINHERIT", /* name */ + false, /* partial_inplace */ + 0, /* src_mask */ + 0, /* dst_mask */ + false), /* pcrel_offset */ + + /* GNU extension to record C++ vtable member usage */ + HOWTO (R_M68HC11_GNU_VTENTRY, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + _bfd_elf_rel_vtable_reloc_fn, /* special_function */ + "R_M68HC11_GNU_VTENTRY", /* name */ + false, /* partial_inplace */ + 0, /* src_mask */ + 0, /* dst_mask */ + false), /* pcrel_offset */ +}; + +/* Map BFD reloc types to M68HC11 ELF reloc types. */ + +struct m68hc11_reloc_map +{ + bfd_reloc_code_real_type bfd_reloc_val; + unsigned char elf_reloc_val; +}; + +static const struct m68hc11_reloc_map m68hc11_reloc_map[] = { + {BFD_RELOC_NONE, R_M68HC11_NONE,}, + {BFD_RELOC_8, R_M68HC11_8}, + {BFD_RELOC_M68HC11_HI8, R_M68HC11_HI8}, + {BFD_RELOC_M68HC11_LO8, R_M68HC11_LO8}, + {BFD_RELOC_8_PCREL, R_M68HC11_PCREL_8}, + {BFD_RELOC_16_PCREL, R_M68HC11_PCREL_16}, + {BFD_RELOC_16, R_M68HC11_16}, + {BFD_RELOC_32, R_M68HC11_32}, + {BFD_RELOC_M68HC11_3B, R_M68HC11_3B}, + + /* The following relocs are defined but they probably don't work yet. */ + {BFD_RELOC_VTABLE_INHERIT, R_M68HC11_GNU_VTINHERIT}, + {BFD_RELOC_VTABLE_ENTRY, R_M68HC11_GNU_VTENTRY}, +}; + +static reloc_howto_type * +bfd_elf32_bfd_reloc_type_lookup (abfd, code) + bfd *abfd ATTRIBUTE_UNUSED; + bfd_reloc_code_real_type code; +{ + unsigned int i; + + for (i = 0; + i < sizeof (m68hc11_reloc_map) / sizeof (struct m68hc11_reloc_map); + i++) + { + if (m68hc11_reloc_map[i].bfd_reloc_val == code) + return &elf_m68hc11_howto_table[m68hc11_reloc_map[i].elf_reloc_val]; + } + + return NULL; +} + +/* Set the howto pointer for an M68HC11 ELF reloc. */ + +static void +m68hc11_info_to_howto_rel (abfd, cache_ptr, dst) + bfd *abfd ATTRIBUTE_UNUSED; + arelent *cache_ptr; + Elf32_Internal_Rel *dst; +{ + unsigned int r_type; + + r_type = ELF32_R_TYPE (dst->r_info); + BFD_ASSERT (r_type < (unsigned int) R_M68HC11_max); + cache_ptr->howto = &elf_m68hc11_howto_table[r_type]; +} + +/* Below is the only difference between elf32-m68hc12.c and elf32-m68hc11.c. + The Motorola spec says to use a different Elf machine code. */ +#define ELF_ARCH bfd_arch_m68hc11 +#define ELF_MACHINE_CODE EM_68HC11 +#define ELF_MAXPAGESIZE 0x1000 + +#define TARGET_BIG_SYM bfd_elf32_m68hc11_vec +#define TARGET_BIG_NAME "elf32-m68hc11" + +#define elf_info_to_howto 0 +#define elf_info_to_howto_rel m68hc11_info_to_howto_rel +#define elf_backend_object_p 0 +#define elf_backend_final_write_processing 0 + +#include "elf32-target.h" diff --git a/bfd/elf32-m68hc12.c b/bfd/elf32-m68hc12.c new file mode 100644 index 00000000000..b4db9bc58e1 --- /dev/null +++ b/bfd/elf32-m68hc12.c @@ -0,0 +1,281 @@ +/* Motorola 68HC12-specific support for 32-bit ELF + Copyright (C) 1999, 2000 Free Software Foundation, Inc. + Contributed by Stephane Carrez (stcarrez@worldnet.fr) + (Heavily copied from the D10V port by Martin Hunt (hunt@cygnus.com)) + +This file is part of BFD, the Binary File Descriptor library. + +This program 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 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "bfd.h" +#include "sysdep.h" +#include "libbfd.h" +#include "elf-bfd.h" +#include "elf/m68hc11.h" + +static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup +PARAMS ((bfd * abfd, bfd_reloc_code_real_type code)); +static void m68hc11_info_to_howto_rel +PARAMS ((bfd *, arelent *, Elf32_Internal_Rel *)); + + +/* Use REL instead of RELA to save space */ +#define USE_REL + +/* The Motorola 68HC11 microcontroler only addresses 64Kb. + We must handle 8 and 16-bit relocations. The 32-bit relocation + is defined but not used except by gas when -gstabs is used (which + is wrong). + The 3-bit and 16-bit PC rel relocation is only used by 68HC12. */ +static reloc_howto_type elf_m68hc11_howto_table[] = { + /* This reloc does nothing. */ + HOWTO (R_M68HC11_NONE, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_NONE", /* name */ + false, /* partial_inplace */ + 0, /* src_mask */ + 0, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 8 bit absolute relocation */ + HOWTO (R_M68HC11_8, /* type */ + 0, /* rightshift */ + 0, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_8", /* name */ + false, /* partial_inplace */ + 0x00ff, /* src_mask */ + 0x00ff, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 8 bit absolute relocation (upper address) */ + HOWTO (R_M68HC11_HI8, /* type */ + 8, /* rightshift */ + 0, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_HI8", /* name */ + false, /* partial_inplace */ + 0x00ff, /* src_mask */ + 0x00ff, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 8 bit absolute relocation (upper address) */ + HOWTO (R_M68HC11_LO8, /* type */ + 0, /* rightshift */ + 0, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_LO8", /* name */ + false, /* partial_inplace */ + 0x00ff, /* src_mask */ + 0x00ff, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 8 bit PC-rel relocation */ + HOWTO (R_M68HC11_PCREL_8, /* type */ + 0, /* rightshift */ + 0, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* bitsize */ + true, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_PCREL_8", /* name */ + false, /* partial_inplace */ + 0x0, /* src_mask */ + 0x00ff, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 16 bit absolute relocation */ + HOWTO (R_M68HC11_16, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont /*bitfield */ , /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_16", /* name */ + false, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 32 bit absolute relocation. This one is never used for the + code relocation. It's used by gas for -gstabs generation. */ + HOWTO (R_M68HC11_32, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_32", /* name */ + false, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 3 bit absolute relocation */ + HOWTO (R_M68HC11_3B, /* type */ + 0, /* rightshift */ + 0, /* size (0 = byte, 1 = short, 2 = long) */ + 3, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_4B", /* name */ + false, /* partial_inplace */ + 0x003, /* src_mask */ + 0x003, /* dst_mask */ + false), /* pcrel_offset */ + + /* A 16 bit PC-rel relocation */ + HOWTO (R_M68HC11_PCREL_16, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + true, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_M68HC11_PCREL_16", /* name */ + false, /* partial_inplace */ + 0x0, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* GNU extension to record C++ vtable hierarchy */ + HOWTO (R_M68HC11_GNU_VTINHERIT, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + NULL, /* special_function */ + "R_M68HC11_GNU_VTINHERIT", /* name */ + false, /* partial_inplace */ + 0, /* src_mask */ + 0, /* dst_mask */ + false), /* pcrel_offset */ + + /* GNU extension to record C++ vtable member usage */ + HOWTO (R_M68HC11_GNU_VTENTRY, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + _bfd_elf_rel_vtable_reloc_fn, /* special_function */ + "R_M68HC11_GNU_VTENTRY", /* name */ + false, /* partial_inplace */ + 0, /* src_mask */ + 0, /* dst_mask */ + false), /* pcrel_offset */ +}; + +/* Map BFD reloc types to M68HC11 ELF reloc types. */ + +struct m68hc11_reloc_map +{ + bfd_reloc_code_real_type bfd_reloc_val; + unsigned char elf_reloc_val; +}; + +static const struct m68hc11_reloc_map m68hc11_reloc_map[] = { + {BFD_RELOC_NONE, R_M68HC11_NONE,}, + {BFD_RELOC_8, R_M68HC11_8}, + {BFD_RELOC_M68HC11_HI8, R_M68HC11_HI8}, + {BFD_RELOC_M68HC11_LO8, R_M68HC11_LO8}, + {BFD_RELOC_8_PCREL, R_M68HC11_PCREL_8}, + {BFD_RELOC_16_PCREL, R_M68HC11_PCREL_16}, + {BFD_RELOC_16, R_M68HC11_16}, + {BFD_RELOC_32, R_M68HC11_32}, + {BFD_RELOC_M68HC11_3B, R_M68HC11_3B}, + + /* The following relocs are defined but they probably don't work yet. */ + {BFD_RELOC_VTABLE_INHERIT, R_M68HC11_GNU_VTINHERIT}, + {BFD_RELOC_VTABLE_ENTRY, R_M68HC11_GNU_VTENTRY}, +}; + +static reloc_howto_type * +bfd_elf32_bfd_reloc_type_lookup (abfd, code) + bfd *abfd ATTRIBUTE_UNUSED; + bfd_reloc_code_real_type code; +{ + unsigned int i; + + for (i = 0; + i < sizeof (m68hc11_reloc_map) / sizeof (struct m68hc11_reloc_map); + i++) + { + if (m68hc11_reloc_map[i].bfd_reloc_val == code) + return &elf_m68hc11_howto_table[m68hc11_reloc_map[i].elf_reloc_val]; + } + + return NULL; +} + +/* Set the howto pointer for an M68HC11 ELF reloc. */ + +static void +m68hc11_info_to_howto_rel (abfd, cache_ptr, dst) + bfd *abfd ATTRIBUTE_UNUSED; + arelent *cache_ptr; + Elf32_Internal_Rel *dst; +{ + unsigned int r_type; + + r_type = ELF32_R_TYPE (dst->r_info); + BFD_ASSERT (r_type < (unsigned int) R_M68HC11_max); + cache_ptr->howto = &elf_m68hc11_howto_table[r_type]; +} + +/* Below is the only difference between elf32-m68hc12.c and elf32-m68hc11.c. + The Motorola spec says to use a different Elf machine code. */ +#define ELF_ARCH bfd_arch_m68hc12 +#define ELF_MACHINE_CODE EM_68HC12 +#define ELF_MAXPAGESIZE 0x1000 + +#define TARGET_BIG_SYM bfd_elf32_m68hc12_vec +#define TARGET_BIG_NAME "elf32-m68hc12" + +#define elf_info_to_howto 0 +#define elf_info_to_howto_rel m68hc11_info_to_howto_rel +#define elf_backend_object_p 0 +#define elf_backend_final_write_processing 0 + +#include "elf32-target.h" diff --git a/bfd/elfcode.h b/bfd/elfcode.h index b1ce9d820fd..cd8e9a6a35a 100644 --- a/bfd/elfcode.h +++ b/bfd/elfcode.h @@ -167,7 +167,7 @@ static void elf_swap_shdr_out #define section_from_elf_index bfd_section_from_elf_index -static boolean elf_slurp_reloc_table_from_section +static boolean elf_slurp_reloc_table_from_section PARAMS ((bfd *, asection *, Elf_Internal_Shdr *, bfd_size_type, arelent *, asymbol **, boolean)); @@ -1224,7 +1224,7 @@ error_return: return -1; } -/* Read relocations for ASECT from REL_HDR. There are RELOC_COUNT of +/* Read relocations for ASECT from REL_HDR. There are RELOC_COUNT of them. */ static boolean @@ -1349,7 +1349,7 @@ elf_slurp_reloc_table (abfd, asect, symbols, dynamic) rel_hdr = &d->rel_hdr; reloc_count = rel_hdr->sh_size / rel_hdr->sh_entsize; rel_hdr2 = d->rel_hdr2; - reloc_count2 = (rel_hdr2 + reloc_count2 = (rel_hdr2 ? (rel_hdr2->sh_size / rel_hdr2->sh_entsize) : 0); @@ -1373,8 +1373,8 @@ elf_slurp_reloc_table (abfd, asect, symbols, dynamic) reloc_count2 = 0; } - relents = ((arelent *) - bfd_alloc (abfd, + relents = ((arelent *) + bfd_alloc (abfd, (reloc_count + reloc_count2) * sizeof (arelent))); if (relents == NULL) return false; @@ -1384,15 +1384,15 @@ elf_slurp_reloc_table (abfd, asect, symbols, dynamic) relents, symbols, dynamic)) return false; - - if (rel_hdr2 + + if (rel_hdr2 && !elf_slurp_reloc_table_from_section (abfd, asect, rel_hdr2, reloc_count2, relents + reloc_count, symbols, dynamic)) return false; - + asect->relocation = relents; return true; } diff --git a/bfd/elfcore.h b/bfd/elfcore.h index ec03ec3f637..11bfeac734f 100644 --- a/bfd/elfcore.h +++ b/bfd/elfcore.h @@ -99,9 +99,7 @@ elf_core_file_p (abfd) /* Check the magic number. */ if (elf_file_p (&x_ehdr) == false) - { - goto wrong; - } + goto wrong; /* FIXME: Check EI_VERSION here ! */ diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h index b1f4867e569..3b9b434fcf3 100644 --- a/bfd/elfxx-target.h +++ b/bfd/elfxx-target.h @@ -313,7 +313,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define elf_backend_hide_symbol _bfd_elf_link_hash_hide_symbol #endif - /* Previously, backends could only use SHT_REL or SHT_RELA relocation sections, but not both. They defined USE_REL to indicate SHT_REL sections, and left it undefined to indicated SHT_RELA sections. diff --git a/bfd/libbfd.h b/bfd/libbfd.h index effb0e819b0..d7e77308e1e 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -965,6 +965,9 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_IA64_LTOFF_TP22", "BFD_RELOC_IA64_LTOFF22X", "BFD_RELOC_IA64_LDXMOV", + "BFD_RELOC_M68HC11_HI8", + "BFD_RELOC_M68HC11_LO8", + "BFD_RELOC_M68HC11_3B", "@@overflow: BFD_RELOC_UNUSED@@", }; #endif diff --git a/bfd/peicode.h b/bfd/peicode.h index 56bc1c31d3c..8f64453a3f4 100644 --- a/bfd/peicode.h +++ b/bfd/peicode.h @@ -69,7 +69,6 @@ static boolean (*pe_saved_coff_bfd_print_private_bfd_data) static boolean pe_print_private_bfd_data PARAMS ((bfd *, PTR)); #define coff_bfd_print_private_bfd_data pe_print_private_bfd_data - static boolean (*pe_saved_coff_bfd_copy_private_bfd_data) PARAMS ((bfd *, bfd *)) = #ifndef coff_bfd_copy_private_bfd_data @@ -243,7 +242,6 @@ coff_swap_filehdr_in (abfd, src, dst) #define coff_swap_filehdr_out _bfd_pe_only_swap_filehdr_out #endif - static void coff_swap_scnhdr_in (abfd, ext, in) bfd *abfd; diff --git a/bfd/po/POTFILES.in b/bfd/po/POTFILES.in index 94b82823eed..aecb88ec78f 100644 --- a/bfd/po/POTFILES.in +++ b/bfd/po/POTFILES.in @@ -1,14 +1,14 @@ aix386-core.c +aout0.c +aout32.c +aout64.c aout-adobe.c aout-arm.c +aoutf1.h aout-ns32k.c aout-sparcle.c aout-target.h aout-tic30.c -aout0.c -aout32.c -aout64.c -aoutf1.h aoutx.h archive.c archures.c @@ -21,17 +21,21 @@ cf-i386lynx.c cf-m68klynx.c cf-sparclynx.c cisco-core.c +coff64-rs6000.c coff-a29k.c coff-alpha.c coff-apollo.c coff-arm.c coff-aux.c +coffcode.h +coffgen.c coff-go32.c coff-h8300.c coff-h8500.c coff-i386.c coff-i860.c coff-i960.c +cofflink.c coff-m68k.c coff-m88k.c coff-mips.c @@ -41,21 +45,20 @@ coff-sh.c coff-sparc.c coff-stgo32.c coff-svm68k.c +coffswap.h coff-tic30.c +coff-tic54x.c coff-tic80.c coff-u68k.c coff-w65.c coff-we32k.c coff-z8k.c -coffcode.h -coffgen.c -cofflink.c -coffswap.h corefile.c cpu-a29k.c cpu-alpha.c cpu-arc.c cpu-arm.c +cpu-avr.c cpu-d10v.c cpu-d30v.c cpu-fr30.c @@ -66,9 +69,12 @@ cpu-i370.c cpu-i386.c cpu-i860.c cpu-i960.c +cpu-ia64.c cpu-m10200.c cpu-m10300.c cpu-m32r.c +cpu-m68hc11.c +cpu-m68hc12.c cpu-m68k.c cpu-m88k.c cpu-mcore.c @@ -80,6 +86,7 @@ cpu-rs6000.c cpu-sh.c cpu-sparc.c cpu-tic30.c +cpu-tic54x.c cpu-tic80.c cpu-v850.c cpu-vax.c @@ -92,21 +99,25 @@ dwarf2.c ecoff.c ecofflink.c ecoffswap.h -elf-bfd.h -elf-m10200.c -elf-m10300.c -elf.c +efi-app-ia32.c +efi-app-ia64.c elf32-arc.c elf32-arm.h +elf32-avr.c +elf32.c elf32-d10v.c elf32-d30v.c elf32-fr30.c elf32-gen.c +elf32-hppa.c +elf32-hppa.h elf32-i370.c elf32-i386.c elf32-i860.c elf32-i960.c elf32-m32r.c +elf32-m68hc11.c +elf32-m68hc12.c elf32-m68k.c elf32-m88k.c elf32-mcore.c @@ -116,20 +127,25 @@ elf32-ppc.c elf32-sh.c elf32-sparc.c elf32-v850.c -elf32.c elf64-alpha.c +elf64.c elf64-gen.c elf64-hppa.c elf64-hppa.h +elf64-ia64.c elf64-mips.c elf64-sparc.c -elf64.c elfarm-nabi.c elfarm-oabi.c +elf-bfd.h +elf.c elfcode.h elfcore.h +elf-hppa.h elflink.c elflink.h +elf-m10200.c +elf-m10300.c epoc-pe-arm.c epoc-pei-arm.c format.c @@ -139,6 +155,7 @@ go32stub.h hash.c hp300bsd.c hp300hpux.c +hppa_stubs.h hpux-core.c i386aout.c i386bsd.c @@ -174,16 +191,16 @@ m88kmach3.c mipsbsd.c netbsd.h newsos3.c -nlm-target.h -nlm.c nlm32-alpha.c +nlm32.c nlm32-i386.c nlm32-ppc.c nlm32-sparc.c -nlm32.c nlm64.c +nlm.c nlmcode.h nlmswap.h +nlm-target.h ns32k.h ns32knetbsd.c oasys.c @@ -192,17 +209,21 @@ osf-core.c pc532-mach.c pe-arm.c pe-i386.c -pe-mcore.c -pe-ppc.c pei-arm.c +peicode.h +peigen.c pei-i386.c pei-mcore.c +pei-mips.c pei-ppc.c -peicode.h -peigen.c +pei-sh.c +pe-mcore.c +pe-mips.c +pe-ppc.c +pe-sh.c ppcboot.c -reloc.c reloc16.c +reloc.c riscix.c sco5-core.c section.c @@ -212,8 +233,8 @@ sparclinux.c sparclynx.c sparcnetbsd.c srec.c -stab-syms.c stabs.c +stab-syms.c sunos.c syms.c targets.c @@ -221,10 +242,11 @@ tekhex.c trad-core.c vaxnetbsd.c versados.c +vms.c vms-gsd.c +vms.h vms-hdr.c vms-misc.c vms-tir.c -vms.c -vms.h xcofflink.c +xcoff-target.h diff --git a/bfd/po/bfd.pot b/bfd/po/bfd.pot index 10ce3220b9f..3275437c3ad 100644 --- a/bfd/po/bfd.pot +++ b/bfd/po/bfd.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2000-04-04 23:18+0930\n" +"POT-Creation-Date: 2000-06-18 17:36-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -39,16 +39,16 @@ msgstr "" msgid "%s: relocateable link from %s to %s not supported" msgstr "" -#: archive.c:1724 +#: archive.c:1808 msgid "Warning: writing archive was slow: rewriting timestamp\n" msgstr "" -#: archive.c:1990 +#: archive.c:2074 msgid "Reading archive file mod timestamp" msgstr "" #. FIXME: bfd can't call perror. -#: archive.c:2014 +#: archive.c:2098 msgid "Writing updated armap timestamp" msgstr "" @@ -176,7 +176,7 @@ msgstr "" msgid "GP relative relocation used when GP not defined" msgstr "" -#: coff-alpha.c:1486 elf64-alpha.c:3990 +#: coff-alpha.c:1486 elf64-alpha.c:3993 msgid "using multiple gp values" msgstr "" @@ -213,7 +213,7 @@ msgstr "" msgid " consider relinking with --support-old-code enabled" msgstr "" -#: coff-arm.c:1722 coff-tic80.c:682 cofflink.c:2980 +#: coff-arm.c:1722 coff-tic80.c:682 cofflink.c:2979 #, c-format msgid "%s: bad reloc address 0x%lx in section `%s'" msgstr "" @@ -271,19 +271,19 @@ msgstr "" msgid "private flags = %x:" msgstr "" -#: coff-arm.c:2293 elf32-arm.h:2089 +#: coff-arm.c:2293 elf32-arm.h:2142 msgid " [floats passed in float registers]" msgstr "" -#: coff-arm.c:2295 elf32-arm.h:2091 +#: coff-arm.c:2295 msgid " [floats passed in integer registers]" msgstr "" -#: coff-arm.c:2298 elf32-arm.h:2094 +#: coff-arm.c:2298 elf32-arm.h:2145 msgid " [position independent]" msgstr "" -#: coff-arm.c:2300 elf32-arm.h:2096 +#: coff-arm.c:2300 msgid " [absolute position]" msgstr "" @@ -311,144 +311,154 @@ msgstr "" msgid "Warning: Clearing the interworking flag of %s due to outside request" msgstr "" -#: coff-i960.c:136 coff-i960.c:485 -msgid "uncertain calling convention for non-COFF symbol" -msgstr "" - -#: coff-mips.c:875 elf32-mips.c:1406 -msgid "GP relative relocation when _gp not defined" -msgstr "" - -#: coff-mips.c:2433 -msgid "unsupported reloc type" -msgstr "" - -#. No other sections should appear in -membedded-pic -#. code. -#: coff-mips.c:2470 -msgid "reloc against unsupported section" -msgstr "" - -#: coff-mips.c:2478 -msgid "reloc not properly aligned" -msgstr "" - -#: coff-tic80.c:445 +#: coffcode.h:2101 #, c-format -msgid "Unrecognized reloc type 0x%x" +msgid "Unrecognized TI COFF target id '0x%x'" msgstr "" -#: coff-w65.c:383 -#, c-format -msgid "ignoring reloc %s\n" -msgstr "" - -#: coffcode.h:3965 +#: coffcode.h:4121 #, c-format msgid "%s: warning: illegal symbol index %ld in line numbers" msgstr "" -#: coffcode.h:3979 +#: coffcode.h:4135 #, c-format msgid "%s: warning: duplicate line number information for `%s'" msgstr "" -#: coffcode.h:4334 +#: coffcode.h:4495 #, c-format msgid "%s: Unrecognized storage class %d for %s symbol `%s'" msgstr "" -#: coffcode.h:4465 +#: coffcode.h:4626 #, c-format msgid "warning: %s: local symbol `%s' has no section" msgstr "" -#: coffcode.h:4578 +#: coff-tic54x.c:377 coffcode.h:4739 #, c-format msgid "%s: warning: illegal symbol index %ld in relocs" msgstr "" -#: coffcode.h:4616 +#: coffcode.h:4777 #, c-format msgid "%s: illegal relocation type %d at address 0x%lx" msgstr "" -#: coffgen.c:1613 +#: coffgen.c:1635 #, c-format msgid "%s: bad string table size %lu" msgstr "" -#: coffgen.c:2076 +#: coffgen.c:2098 #, c-format msgid "AUX tagndx %ld ttlsiz 0x%lx lnnos %ld next %ld" msgstr "" -#: cofflink.c:518 elflink.h:1568 +#: coff-i960.c:136 coff-i960.c:485 +msgid "uncertain calling convention for non-COFF symbol" +msgstr "" + +#: cofflink.c:518 elflink.h:1567 #, c-format msgid "Warning: type of symbol `%s' changed from %d to %d in %s" msgstr "" -#: cofflink.c:2285 +#: cofflink.c:2284 #, c-format msgid "%s: relocs in section `%s', but it has no contents" msgstr "" -#: cofflink.c:2619 coffswap.h:904 +#: cofflink.c:2618 coffswap.h:897 #, c-format msgid "%s: %s: reloc overflow: 0x%lx > 0xffff" msgstr "" -#: cofflink.c:2628 coffswap.h:891 +#: cofflink.c:2627 coffswap.h:883 #, c-format msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff" msgstr "" -#: dwarf2.c:429 +#: coff-mips.c:875 elf32-mips.c:1406 +msgid "GP relative relocation when _gp not defined" +msgstr "" + +#: coff-mips.c:2433 +msgid "unsupported reloc type" +msgstr "" + +#. No other sections should appear in -membedded-pic +#. code. +#: coff-mips.c:2470 +msgid "reloc against unsupported section" +msgstr "" + +#: coff-mips.c:2478 +msgid "reloc not properly aligned" +msgstr "" + +#: coff-tic54x.c:264 coff-tic80.c:445 +#, c-format +msgid "Unrecognized reloc type 0x%x" +msgstr "" + +#: coff-w65.c:383 +#, c-format +msgid "ignoring reloc %s\n" +msgstr "" + +#: dwarf2.c:432 msgid "Dwarf Error: Can't find .debug_abbrev section." msgstr "" -#: dwarf2.c:447 +#: dwarf2.c:450 #, c-format msgid "Dwarf Error: Abbrev offset (%u) bigger than abbrev size (%u)." msgstr "" -#: dwarf2.c:627 +#: dwarf2.c:630 #, c-format msgid "Dwarf Error: Invalid or unhandled FORM value: %d." msgstr "" -#: dwarf2.c:700 +#: dwarf2.c:704 msgid "Dwarf Error: mangled line number section (bad file number)." msgstr "" -#: dwarf2.c:791 +#: dwarf2.c:793 msgid "Dwarf Error: Can't find .debug_line section." msgstr "" -#: dwarf2.c:963 +#: dwarf2.c:817 +#, c-format +msgid "Dwarf Error: Line offset (%u) bigger than line size (%u)." +msgstr "" + +#: dwarf2.c:976 msgid "Dwarf Error: mangled line number section." msgstr "" -#: dwarf2.c:1151 dwarf2.c:1307 +#: dwarf2.c:1164 dwarf2.c:1320 #, c-format msgid "Dwarf Error: Could not find abbrev number %d." msgstr "" -#: dwarf2.c:1268 +#: dwarf2.c:1281 #, c-format msgid "" "Dwarf Error: found dwarf version '%hu', this reader only handles version 2 " "information." msgstr "" -#: dwarf2.c:1275 +#: dwarf2.c:1288 #, c-format msgid "" "Dwarf Error: found address size '%u', this reader can not handle sizes " "greater than '%u'." msgstr "" -#: dwarf2.c:1298 +#: dwarf2.c:1311 #, c-format msgid "Dwarf Error: Bad abbrev number: %d." msgstr "" @@ -514,230 +524,185 @@ msgid "" " Type: %s" msgstr "" -#: elf-m10200.c:455 elf-m10300.c:670 elf32-arm.h:1853 elf32-d10v.c:493 -#: elf32-fr30.c:651 elf32-m32r.c:1265 elf32-v850.c:1677 -msgid "internal error: out of range error" -msgstr "" - -#: elf-m10200.c:459 elf-m10300.c:674 elf32-arm.h:1857 elf32-d10v.c:497 -#: elf32-fr30.c:655 elf32-m32r.c:1269 elf32-v850.c:1681 -msgid "internal error: unsupported relocation error" -msgstr "" - -#: elf-m10200.c:463 elf-m10300.c:678 elf32-arm.h:1861 elf32-d10v.c:501 -#: elf32-m32r.c:1273 -msgid "internal error: dangerous error" -msgstr "" - -#: elf-m10200.c:467 elf-m10300.c:682 elf32-arm.h:1865 elf32-d10v.c:505 -#: elf32-fr30.c:663 elf32-m32r.c:1277 elf32-v850.c:1701 -msgid "internal error: unknown error" -msgstr "" - -#: elf.c:323 -#, c-format -msgid "%s: invalid string offset %u >= %lu for section `%s'" -msgstr "" - -#: elf.c:546 -msgid "" -"\n" -"Program Header:\n" -msgstr "" - -#: elf.c:594 -msgid "" -"\n" -"Dynamic Section:\n" -msgstr "" - -#: elf.c:696 -msgid "" -"\n" -"Version definitions:\n" -msgstr "" - -#: elf.c:719 -msgid "" -"\n" -"Version References:\n" -msgstr "" - -#: elf.c:724 +#: elf32-arm.h:1188 #, c-format -msgid " required from %s:\n" +msgid "%s: Warning: Arm BLX instruction targets Arm function '%s'." msgstr "" -#: elf.c:1286 +#: elf32-arm.h:1377 #, c-format -msgid "%s: invalid link %lu for reloc section %s (index %u)" +msgid "%s: Warning: Thumb BLX instruction targets thumb function '%s'." msgstr "" -#: elf.c:2045 +#: elf-hppa.h:1329 elf-hppa.h:1362 elf32-arm.h:1825 elf32-i386.c:1418 +#: elf32-ppc.c:3082 #, c-format msgid "" -"creating section symbol, name = %s, value = 0x%.8lx, index = %d, section = " -"0x%.8lx\n" -msgstr "" - -#: elf.c:2648 -#, c-format -msgid "%s: Not enough room for program headers (allocated %u, need %u)" -msgstr "" - -#: elf.c:2747 -#, c-format -msgid "%s: Not enough room for program headers, try linking with -N" -msgstr "" - -#: elf.c:2873 -#, c-format -msgid "Error: First section in segment (%s) starts at 0x%x" -msgstr "" - -#: elf.c:2876 -#, c-format -msgid " whereas segment starts at 0x%x" -msgstr "" - -#: elf.c:3146 -#, c-format -msgid "%s: warning: allocated section `%s' not in segment" -msgstr "" - -#: elf.c:3528 -#, c-format -msgid "%s: symbol `%s' required but not present" +"%s: warning: unresolvable relocation against symbol `%s' from %s section" msgstr "" -#: elf.c:3537 -#, c-format -msgid "" -"elf_symbol_from_bfd_symbol 0x%.8lx, name = %s, sym num = %d, flags = " -"0x%.8lx%s\n" +#: elf-m10200.c:455 elf-m10300.c:670 elf32-arm.h:1894 elf32-avr.c:844 +#: elf32-d10v.c:479 elf32-fr30.c:651 elf32-m32r.c:1265 elf32-v850.c:1677 +msgid "internal error: out of range error" msgstr "" -#: elf.c:3679 -#, c-format -msgid "%s: warning: Empty loadable segment detected\n" +#: elf-m10200.c:459 elf-m10300.c:674 elf32-arm.h:1898 elf32-avr.c:848 +#: elf32-d10v.c:483 elf32-fr30.c:655 elf32-m32r.c:1269 elf32-v850.c:1681 +msgid "internal error: unsupported relocation error" msgstr "" -#: elf.c:4956 -#, c-format -msgid "%s: unsupported relocation type %s" +#: elf-m10200.c:463 elf-m10300.c:678 elf32-arm.h:1902 elf32-d10v.c:487 +#: elf32-m32r.c:1273 +msgid "internal error: dangerous error" msgstr "" -#: elf32-arm.h:1787 elf32-i386.c:1304 elf32-ppc.c:3092 -#, c-format -msgid "" -"%s: warning: unresolvable relocation against symbol `%s' from %s section" +#: elf-m10200.c:467 elf-m10300.c:682 elf32-arm.h:1906 elf32-avr.c:856 +#: elf32-d10v.c:491 elf32-fr30.c:663 elf32-m32r.c:1277 elf32-v850.c:1701 +msgid "internal error: unknown error" msgstr "" -#: elf32-arm.h:1891 +#: elf32-arm.h:1934 #, c-format msgid "" "Warning: Not setting interwork flag of %s since it has already been " "specified as non-interworking" msgstr "" -#: elf32-arm.h:1895 +#: elf32-arm.h:1938 #, c-format msgid "Warning: Clearing the interwork flag of %s due to outside request" msgstr "" -#: elf32-arm.h:1943 +#: elf32-arm.h:1989 #, c-format msgid "" "Warning: Clearing the interwork flag in %s because non-interworking code in " "%s has been linked with it" msgstr "" -#: elf32-arm.h:1977 +#: elf32-arm.h:2058 #, c-format -msgid "%s: compiled for a %s endian system and target is %s endian" +msgid "" +"Error: %s compiled for EABI version %d, whereas %s is compiled for version %d" msgstr "" -#: elf32-arm.h:2023 +#: elf32-arm.h:2070 #, c-format msgid "Error: %s compiled for APCS-%d, whereas %s is compiled for APCS-%d" msgstr "" -#: elf32-arm.h:2031 +#: elf32-arm.h:2078 #, c-format msgid "" "Error: %s passes floats in %s registers, whereas %s passes them in %s " "registers" msgstr "" -#: elf32-arm.h:2034 elf32-arm.h:2036 +#: elf32-arm.h:2081 elf32-arm.h:2083 msgid "float" msgstr "" -#: elf32-arm.h:2034 elf32-arm.h:2036 +#: elf32-arm.h:2081 elf32-arm.h:2083 msgid "integer" msgstr "" -#: elf32-arm.h:2039 +#: elf32-arm.h:2086 #, c-format msgid "Error: %s is compiled as position %s code, whereas %s is not" msgstr "" -#: elf32-arm.h:2042 +#: elf32-arm.h:2089 msgid "independent" msgstr "" -#: elf32-arm.h:2042 +#: elf32-arm.h:2089 msgid "dependent" msgstr "" -#: elf32-arm.h:2048 +#: elf32-arm.h:2095 #, c-format msgid "Warning: %s %s interworking, whereas %s %s" msgstr "" -#: elf32-arm.h:2051 +#: elf32-arm.h:2098 msgid "supports" msgstr "" -#: elf32-arm.h:2051 +#: elf32-arm.h:2098 msgid "does not support" msgstr "" -#: elf32-arm.h:2053 +#: elf32-arm.h:2100 msgid "does not" msgstr "" -#: elf32-arm.h:2053 +#: elf32-arm.h:2100 msgid "does" msgstr "" #. Ignore init flag - it may not be set, despite the flags field containing valid data. -#: elf32-arm.h:2076 elf32-m68k.c:430 elf32-mips.c:2634 +#: elf32-arm.h:2125 elf32-m68k.c:430 elf32-mips.c:2621 #, c-format msgid "private flags = %lx:" msgstr "" -#: elf32-arm.h:2079 +#: elf32-arm.h:2134 msgid " [interworking enabled]" msgstr "" -#: elf32-arm.h:2081 -msgid " [interworking not enabled]" -msgstr "" - -#: elf32-arm.h:2084 +#: elf32-arm.h:2137 msgid " [APCS-26]" msgstr "" -#: elf32-arm.h:2086 +#: elf32-arm.h:2139 msgid " [APCS-32]" msgstr "" -#: elf32-fr30.c:659 elf32-v850.c:1685 +#: elf32-arm.h:2148 +msgid " [new ABI]" +msgstr "" + +#: elf32-arm.h:2151 +msgid " [old ABI]" +msgstr "" + +#: elf32-arm.h:2154 +msgid " [software FP]" +msgstr "" + +#: elf32-arm.h:2161 +msgid " [Version1 EABI]" +msgstr "" + +#: elf32-arm.h:2164 +msgid " [sorted symbol table]" +msgstr "" + +#: elf32-arm.h:2166 +msgid " [unsorted symbol table]" +msgstr "" + +#: elf32-arm.h:2172 +msgid " " +msgstr "" + +#: elf32-arm.h:2179 +msgid " [relocatable executable]" +msgstr "" + +#: elf32-arm.h:2182 +msgid " [has entry point]" +msgstr "" + +#: elf32-arm.h:2187 +msgid "" +msgstr "" + +#: elf32-avr.c:852 elf32-fr30.c:659 elf32-v850.c:1685 msgid "internal error: dangerous relocation" msgstr "" -#: elf32-i386.c:239 +#: elf32-i386.c:274 #, c-format msgid "%s: invalid relocation type %d" msgstr "" @@ -746,7 +711,7 @@ msgstr "" msgid "SDA relocation when _SDA_BASE_ not defined" msgstr "" -#: elf32-m32r.c:1000 elf32-ppc.c:2963 +#: elf32-m32r.c:1000 elf32-ppc.c:2950 elf64-ia64.c:3185 #, c-format msgid "%s: unknown relocation type %d" msgstr "" @@ -778,17 +743,12 @@ msgstr "" msgid " [cpu32]" msgstr "" -#: elf32-mcore.c:329 -#, c-format -msgid "%s: compiled for a %s endian system and target is %s endian.\n" -msgstr "" - -#: elf32-mcore.c:377 elf32-mcore.c:504 +#: elf32-mcore.c:367 elf32-mcore.c:494 #, c-format msgid "%s: Relocation %s (%d) is not currently supported.\n" msgstr "" -#: elf32-mcore.c:463 +#: elf32-mcore.c:453 #, c-format msgid "%s: Unknown relocation type %d\n" msgstr "" @@ -802,228 +762,218 @@ msgstr "" msgid "Linking mips16 objects into %s format is not supported" msgstr "" -#: elf32-mips.c:2469 elf32-ppc.c:1408 -#, c-format -msgid "%s: compiled for a big endian system and target is little endian" -msgstr "" - -#: elf32-mips.c:2471 elf32-ppc.c:1410 -#, c-format -msgid "%s: compiled for a little endian system and target is big endian" -msgstr "" - -#: elf32-mips.c:2520 +#: elf32-mips.c:2507 #, c-format msgid "%s: linking PIC files with non-PIC files" msgstr "" -#: elf32-mips.c:2530 +#: elf32-mips.c:2517 #, c-format msgid "%s: linking abicalls files with non-abicalls files" msgstr "" -#: elf32-mips.c:2560 +#: elf32-mips.c:2547 #, c-format msgid "%s: ISA mismatch (-mips%d) with previous modules (-mips%d)" msgstr "" -#: elf32-mips.c:2569 +#: elf32-mips.c:2556 #, c-format msgid "%s: ISA mismatch (%d) with previous modules (%d)" msgstr "" -#: elf32-mips.c:2592 +#: elf32-mips.c:2579 #, c-format msgid "%s: ABI mismatch: linking %s module with previous %s modules" msgstr "" -#: elf32-mips.c:2606 elf32-ppc.c:1477 elf64-sparc.c:2844 +#: elf32-mips.c:2593 elf32-ppc.c:1464 elf64-sparc.c:2957 #, c-format msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)" msgstr "" -#: elf32-mips.c:2637 +#: elf32-mips.c:2624 msgid " [abi=O32]" msgstr "" -#: elf32-mips.c:2639 +#: elf32-mips.c:2626 msgid " [abi=O64]" msgstr "" -#: elf32-mips.c:2641 +#: elf32-mips.c:2628 msgid " [abi=EABI32]" msgstr "" -#: elf32-mips.c:2643 +#: elf32-mips.c:2630 msgid " [abi=EABI64]" msgstr "" -#: elf32-mips.c:2645 +#: elf32-mips.c:2632 msgid " [abi unknown]" msgstr "" -#: elf32-mips.c:2647 +#: elf32-mips.c:2634 msgid " [abi=N32]" msgstr "" -#: elf32-mips.c:2649 +#: elf32-mips.c:2636 msgid " [abi=64]" msgstr "" -#: elf32-mips.c:2651 +#: elf32-mips.c:2638 msgid " [no abi set]" msgstr "" -#: elf32-mips.c:2654 +#: elf32-mips.c:2641 msgid " [mips1]" msgstr "" -#: elf32-mips.c:2656 +#: elf32-mips.c:2643 msgid " [mips2]" msgstr "" -#: elf32-mips.c:2658 +#: elf32-mips.c:2645 msgid " [mips3]" msgstr "" -#: elf32-mips.c:2660 +#: elf32-mips.c:2647 msgid " [mips4]" msgstr "" -#: elf32-mips.c:2662 +#: elf32-mips.c:2649 msgid " [unknown ISA]" msgstr "" -#: elf32-mips.c:2665 +#: elf32-mips.c:2652 msgid " [32bitmode]" msgstr "" -#: elf32-mips.c:2667 +#: elf32-mips.c:2654 msgid " [not 32bitmode]" msgstr "" -#: elf32-mips.c:4270 +#: elf32-mips.c:4257 msgid "static procedure (no name)" msgstr "" -#: elf32-mips.c:4887 elf64-alpha.c:4364 +#: elf32-mips.c:4874 elf64-alpha.c:4367 #, c-format msgid "%s: illegal section name `%s'" msgstr "" -#: elf32-mips.c:5414 +#: elf32-mips.c:5401 msgid "not enough GOT space for local GOT entries" msgstr "" -#: elf32-mips.c:6493 +#: elf32-mips.c:6495 #, c-format msgid "%s: %s+0x%lx: jump to stub routine which is not jal" msgstr "" -#: elf32-mips.c:7521 +#: elf32-mips.c:7523 #, c-format msgid "%s: CALL16 reloc at 0x%lx not against global symbol" msgstr "" -#: elf32-ppc.c:1443 +#: elf32-ppc.c:1430 #, c-format msgid "" "%s: compiled with -mrelocatable and linked with modules compiled normally" msgstr "" -#: elf32-ppc.c:1451 +#: elf32-ppc.c:1438 #, c-format msgid "" "%s: compiled normally and linked with modules compiled with -mrelocatable" msgstr "" -#: elf32-ppc.c:1578 +#: elf32-ppc.c:1565 #, c-format msgid "%s: Unknown special linker type %d" msgstr "" -#: elf32-ppc.c:2251 elf32-ppc.c:2285 elf32-ppc.c:2320 +#: elf32-ppc.c:2238 elf32-ppc.c:2272 elf32-ppc.c:2307 #, c-format msgid "%s: relocation %s cannot be used when making a shared object" msgstr "" -#: elf32-ppc.c:3123 +#: elf32-ppc.c:3116 #, c-format msgid "%s: unknown relocation type %d for symbol %s" msgstr "" -#: elf32-ppc.c:3491 elf32-ppc.c:3513 elf32-ppc.c:3562 +#: elf32-ppc.c:3484 elf32-ppc.c:3506 elf32-ppc.c:3555 #, c-format msgid "" "%s: The target (%s) of a %s relocation is in the wrong output section (%s)" msgstr "" -#: elf32-ppc.c:3628 +#: elf32-ppc.c:3621 #, c-format msgid "%s: Relocation %s is not yet supported for symbol %s." msgstr "" -#: elf32-sh.c:681 +#: elf32-sh.c:819 #, c-format msgid "%s: 0x%lx: warning: bad R_SH_USES offset" msgstr "" -#: elf32-sh.c:693 +#: elf32-sh.c:831 #, c-format msgid "%s: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x" msgstr "" -#: elf32-sh.c:710 +#: elf32-sh.c:848 #, c-format msgid "%s: 0x%lx: warning: bad R_SH_USES load offset" msgstr "" -#: elf32-sh.c:725 +#: elf32-sh.c:863 #, c-format msgid "%s: 0x%lx: warning: could not find expected reloc" msgstr "" -#: elf32-sh.c:762 +#: elf32-sh.c:900 #, c-format msgid "%s: 0x%lx: warning: symbol in unexpected section" msgstr "" -#: elf32-sh.c:884 +#: elf32-sh.c:1022 #, c-format msgid "%s: 0x%lx: warning: could not find expected COUNT reloc" msgstr "" -#: elf32-sh.c:893 +#: elf32-sh.c:1031 #, c-format msgid "%s: 0x%lx: warning: bad count" msgstr "" -#: elf32-sh.c:1279 elf32-sh.c:1666 +#: elf32-sh.c:1424 elf32-sh.c:1811 #, c-format msgid "%s: 0x%lx: fatal: reloc overflow while relaxing" msgstr "" -#: elf32-sparc.c:1486 elf64-sparc.c:2242 +#: elf32-sparc.c:1509 elf64-sparc.c:2262 #, c-format msgid "%s: probably compiled without -fPIC?" msgstr "" -#: elf32-sparc.c:1856 +#: elf32-sparc.c:1970 #, c-format msgid "%s: compiled for a v8plus system and target is v8" msgstr "" -#: elf32-sparc.c:1865 +#: elf32-sparc.c:1979 #, c-format msgid "%s: compiled for a v8plusa system and target is v8plus" msgstr "" -#: elf32-sparc.c:1873 +#: elf32-sparc.c:1987 #, c-format msgid "%s: compiled for a 64 bit system and target is 32 bit" msgstr "" -#: elf32-sparc.c:1888 +#: elf32-sparc.c:2002 #, c-format msgid "%s: linking little endian files with big endian files" msgstr "" @@ -1104,77 +1054,227 @@ msgstr "" msgid "%s: .got subsegment exceeds 64K (size %d)" msgstr "" -#: elf64-sparc.c:1249 +#: elf64-ia64.c:1826 +msgid "@pltoff reloc against local symbol" +msgstr "" + +#: elf64-ia64.c:1873 +msgid "non-zero addend in @fptr reloc" +msgstr "" + +#: elf64-ia64.c:3060 +#, c-format +msgid "%s: short data segment overflowed (0x%lx >= 0x400000)" +msgstr "" + +#: elf64-ia64.c:3071 +#, c-format +msgid "%s: __gp does not cover short data segment" +msgstr "" + +#: elf64-ia64.c:3335 +#, c-format +msgid "%s: linking non-pic code in a shared library" +msgstr "" + +#: elf64-ia64.c:3365 +#, c-format +msgid "%s: @gprel relocation against dynamic symbol %s" +msgstr "" + +#: elf64-ia64.c:3500 +#, c-format +msgid "%s: dynamic relocation against speculation fixup" +msgstr "" + +#: elf64-ia64.c:3508 +#, c-format +msgid "%s: speculation fixup against undefined weak symbol" +msgstr "" + +#: elf64-ia64.c:3665 +msgid "unsupported reloc" +msgstr "" + +#: elf64-ia64.c:3979 +#, c-format +msgid "%s: linking trap-on-NULL-dereference with non-trapping files" +msgstr "" + +#: elf64-ia64.c:3988 +#, c-format +msgid "%s: linking big-endian files with little-endian files" +msgstr "" + +#: elf64-ia64.c:3997 +#, c-format +msgid "%s: linking 64-bit files with 32-bit files" +msgstr "" + +#: elf64-sparc.c:1250 #, c-format msgid "%s: check_relocs: unhandled reloc type %d" msgstr "" -#: elf64-sparc.c:1286 +#: elf64-sparc.c:1287 msgid "%s: Only registers %%g[2367] can be declared using STT_REGISTER" msgstr "" -#: elf64-sparc.c:1306 +#: elf64-sparc.c:1307 msgid "" "Register %%g%d used incompatibly: previously declared in %s to %s, in %s " "redefined to %s" msgstr "" -#: elf64-sparc.c:1329 +#: elf64-sparc.c:1330 #, c-format msgid "Symbol `%s' has differing types: previously %s, REGISTER in %s" msgstr "" -#: elf64-sparc.c:1375 +#: elf64-sparc.c:1376 #, c-format msgid "Symbol `%s' has differing types: REGISTER in %s, %s in %s" msgstr "" -#: elf64-sparc.c:2825 +#: elf64-sparc.c:2938 #, c-format msgid "%s: linking UltraSPARC specific with HAL specific code" msgstr "" -#: elfcode.h:1061 +#: elf.c:327 +#, c-format +msgid "%s: invalid string offset %u >= %lu for section `%s'" +msgstr "" + +#: elf.c:550 +msgid "" +"\n" +"Program Header:\n" +msgstr "" + +#: elf.c:598 +msgid "" +"\n" +"Dynamic Section:\n" +msgstr "" + +#: elf.c:700 +msgid "" +"\n" +"Version definitions:\n" +msgstr "" + +#: elf.c:723 +msgid "" +"\n" +"Version References:\n" +msgstr "" + +#: elf.c:728 +#, c-format +msgid " required from %s:\n" +msgstr "" + +#: elf.c:1292 +#, c-format +msgid "%s: invalid link %lu for reloc section %s (index %u)" +msgstr "" + +#: elf.c:2069 +#, c-format +msgid "" +"creating section symbol, name = %s, value = 0x%.8lx, index = %d, section = " +"0x%.8lx\n" +msgstr "" + +#: elf.c:2672 +#, c-format +msgid "%s: Not enough room for program headers (allocated %u, need %u)" +msgstr "" + +#: elf.c:2771 +#, c-format +msgid "%s: Not enough room for program headers, try linking with -N" +msgstr "" + +#: elf.c:2897 +#, c-format +msgid "Error: First section in segment (%s) starts at 0x%x" +msgstr "" + +#: elf.c:2900 +#, c-format +msgid " whereas segment starts at 0x%x" +msgstr "" + +#: elf.c:3173 +#, c-format +msgid "%s: warning: allocated section `%s' not in segment" +msgstr "" + +#: elf.c:3564 +#, c-format +msgid "%s: symbol `%s' required but not present" +msgstr "" + +#: elf.c:3573 +#, c-format +msgid "" +"elf_symbol_from_bfd_symbol 0x%.8lx, name = %s, sym num = %d, flags = " +"0x%.8lx%s\n" +msgstr "" + +#: elf.c:3715 +#, c-format +msgid "%s: warning: Empty loadable segment detected\n" +msgstr "" + +#: elf.c:5030 +#, c-format +msgid "%s: unsupported relocation type %s" +msgstr "" + +#: elfcode.h:1059 #, c-format msgid "%s: version count (%ld) does not match symbol count (%ld)" msgstr "" -#: elflink.c:423 +#: elflink.c:416 #, c-format msgid "%s: Section %s is already to large to put hole of %ld bytes in" msgstr "" -#: elflink.h:1388 +#: elflink.h:1387 #, c-format msgid "%s: %s: invalid version %u (max %d)" msgstr "" -#: elflink.h:1429 +#: elflink.h:1428 #, c-format msgid "%s: %s: invalid needed version %d" msgstr "" -#: elflink.h:1546 +#: elflink.h:1545 #, c-format msgid "Warning: size of symbol `%s' changed from %lu to %lu in %s" msgstr "" -#: elflink.h:1790 +#: elflink.h:1789 #, c-format msgid "%s: warning: unexpected redefinition of `%s'" msgstr "" -#: elflink.h:3480 +#: elflink.h:3496 #, c-format msgid "warning: type and size of dynamic symbol `%s' are not defined" msgstr "" -#: elflink.h:3752 +#: elflink.h:3768 #, c-format msgid "%s: undefined versioned symbol name %s" msgstr "" -#: elflink.h:4983 +#: elflink.h:5012 #, c-format msgid "%s: could not find output section %s for input section %s" msgstr "" @@ -1283,6 +1383,16 @@ msgstr "" msgid "not mapping: env var not set\n" msgstr "" +#: libbfd.c:1315 +#, c-format +msgid "%s: compiled for a big endian system and target is little endian" +msgstr "" + +#: libbfd.c:1317 +#, c-format +msgid "%s: compiled for a little endian system and target is big endian" +msgstr "" + #: linker.c:2679 #, c-format msgid "Attempt to do relocateable link with %s input and %s output" @@ -1299,330 +1409,328 @@ msgid "Unhandled OSF/1 core file section type %d\n" msgstr "" #. XXX code yet to be written. -#: peicode.h:806 +#: peicode.h:804 #, c-format msgid "%s: Unhandled import type; %x" msgstr "" -#: peicode.h:811 +#: peicode.h:809 #, c-format msgid "%s: Unrecognised import type; %x" msgstr "" -#: peicode.h:825 +#: peicode.h:823 #, c-format msgid "%s: Unrecognised import name type; %x" msgstr "" -#: peicode.h:1182 +#: peicode.h:1180 #, c-format msgid "%s: Unrecognised machine type (0x%x) in Import Library Format archive" msgstr "" -#: peicode.h:1194 +#: peicode.h:1192 #, c-format msgid "" "%s: Recognised but unhandled machine type (0x%x) in Import Library Format " "archive" msgstr "" -#: peicode.h:1211 +#: peicode.h:1209 #, c-format msgid "%s: size field is zero in Import Library Format header" msgstr "" -#: peicode.h:1239 +#: peicode.h:1237 #, c-format msgid "%s: string not null terminated in ILF object file." msgstr "" -#: peigen.c:938 +#: peigen.c:968 #, c-format msgid "%s: line number overflow: 0x%lx > 0xffff" msgstr "" -#: peigen.c:950 +#: peigen.c:980 #, c-format msgid "%s: reloc overflow: 0x%lx > 0xffff" msgstr "" -#: peigen.c:963 +#: peigen.c:993 msgid "Export Directory [.edata (or where ever we found it)]" msgstr "" -#: peigen.c:964 +#: peigen.c:994 msgid "Import Directory [parts of .idata]" msgstr "" -#: peigen.c:965 +#: peigen.c:995 msgid "Resource Directory [.rsrc]" msgstr "" -#: peigen.c:966 +#: peigen.c:996 msgid "Exception Directory [.pdata]" msgstr "" -#: peigen.c:967 +#: peigen.c:997 msgid "Security Directory" msgstr "" -#: peigen.c:968 +#: peigen.c:998 msgid "Base Relocation Directory [.reloc]" msgstr "" -#: peigen.c:969 +#: peigen.c:999 msgid "Debug Directory" msgstr "" -#: peigen.c:970 +#: peigen.c:1000 msgid "Description Directory" msgstr "" -#: peigen.c:971 +#: peigen.c:1001 msgid "Special Directory" msgstr "" -#: peigen.c:972 +#: peigen.c:1002 msgid "Thread Storage Directory [.tls]" msgstr "" -#: peigen.c:973 +#: peigen.c:1003 msgid "Load Configuration Directory" msgstr "" -#: peigen.c:974 +#: peigen.c:1004 msgid "Bound Import Directory" msgstr "" -#: peigen.c:975 +#: peigen.c:1005 msgid "Import Address Table Directory" msgstr "" -#: peigen.c:976 peigen.c:977 peigen.c:978 -msgid "Reserved" +#: peigen.c:1006 +msgid "Delay Import Directory" msgstr "" -#: peigen.c:1022 -msgid "" -"\n" -"The import table is the .idata section\n" +#: peigen.c:1007 peigen.c:1008 +msgid "Reserved" msgstr "" -#: peigen.c:1044 +#: peigen.c:1072 msgid "" "\n" "There is an import table, but the section containing it could not be found\n" msgstr "" -#: peigen.c:1048 +#: peigen.c:1077 #, c-format msgid "" "\n" "There is an import table in %s at 0x%lx\n" msgstr "" -#: peigen.c:1089 +#: peigen.c:1116 #, c-format msgid "" "\n" "Function descriptor located at the start address: %04lx\n" msgstr "" -#: peigen.c:1092 +#: peigen.c:1119 #, c-format msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n" msgstr "" -#: peigen.c:1098 +#: peigen.c:1125 msgid "" "\n" "No reldata section! Function descriptor not decoded.\n" msgstr "" -#: peigen.c:1103 +#: peigen.c:1130 +#, c-format msgid "" "\n" -"The Import Tables (interpreted .idata section contents)\n" +"The Import Tables (interpreted %s section contents)\n" msgstr "" -#: peigen.c:1105 +#: peigen.c:1133 msgid " vma: Hint Time Forward DLL First\n" msgstr "" -#: peigen.c:1107 +#: peigen.c:1135 msgid " Table Stamp Chain Name Thunk\n" msgstr "" -#: peigen.c:1157 +#: peigen.c:1185 #, c-format msgid "" "\n" "\tDLL Name: %s\n" msgstr "" -#: peigen.c:1161 peigen.c:1224 +#: peigen.c:1189 peigen.c:1252 msgid "\tvma: Hint/Ord Member-Name\n" msgstr "" -#: peigen.c:1223 +#: peigen.c:1251 msgid "\tThe Import Address Table (difference found)\n" msgstr "" -#: peigen.c:1230 +#: peigen.c:1258 msgid "\t>>> Ran out of IAT members!\n" msgstr "" -#: peigen.c:1248 +#: peigen.c:1277 msgid "\tThe Import Address Table is identical\n" msgstr "" -#: peigen.c:1297 -msgid "" -"\n" -"The export table is the .edata section\n" -msgstr "" - -#: peigen.c:1319 +#: peigen.c:1351 msgid "" "\n" "There is an export table, but the section containing it could not be found\n" msgstr "" -#: peigen.c:1323 +#: peigen.c:1356 #, c-format msgid "" "\n" "There is an export table in %s at 0x%lx\n" msgstr "" -#: peigen.c:1355 +#: peigen.c:1387 +#, c-format msgid "" "\n" -"The Export Tables (interpreted .edata section contents)\n" +"The Export Tables (interpreted %s section contents)\n" "\n" msgstr "" -#: peigen.c:1358 +#: peigen.c:1391 #, c-format msgid "Export Flags \t\t\t%lx\n" msgstr "" -#: peigen.c:1361 +#: peigen.c:1394 #, c-format msgid "Time/Date stamp \t\t%lx\n" msgstr "" -#: peigen.c:1364 +#: peigen.c:1397 #, c-format msgid "Major/Minor \t\t\t%d/%d\n" msgstr "" -#: peigen.c:1367 +#: peigen.c:1400 msgid "Name \t\t\t\t" msgstr "" -#: peigen.c:1373 +#: peigen.c:1406 #, c-format msgid "Ordinal Base \t\t\t%ld\n" msgstr "" -#: peigen.c:1376 +#: peigen.c:1409 msgid "Number in:\n" msgstr "" -#: peigen.c:1379 +#: peigen.c:1412 #, c-format -msgid "\tExport Address Table \t\t%lx\n" +msgid "\tExport Address Table \t\t%08lx\n" msgstr "" -#: peigen.c:1383 +#: peigen.c:1416 #, c-format -msgid "\t[Name Pointer/Ordinal] Table\t%lu\n" +msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n" msgstr "" -#: peigen.c:1386 +#: peigen.c:1419 msgid "Table Addresses\n" msgstr "" -#: peigen.c:1389 +#: peigen.c:1422 msgid "\tExport Address Table \t\t" msgstr "" -#: peigen.c:1394 +#: peigen.c:1427 msgid "\tName Pointer Table \t\t" msgstr "" -#: peigen.c:1399 +#: peigen.c:1432 msgid "\tOrdinal Table \t\t\t" msgstr "" -#: peigen.c:1415 +#: peigen.c:1448 #, c-format msgid "" "\n" "Export Address Table -- Ordinal Base %ld\n" msgstr "" -#: peigen.c:1436 +#: peigen.c:1467 msgid "Forwarder RVA" msgstr "" -#: peigen.c:1444 +#: peigen.c:1478 msgid "Export RVA" msgstr "" -#: peigen.c:1451 +#: peigen.c:1485 msgid "" "\n" "[Ordinal/Name Pointer] Table\n" msgstr "" -#: peigen.c:1496 +#: peigen.c:1539 #, c-format msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n" msgstr "" -#: peigen.c:1500 +#: peigen.c:1543 msgid "" "\n" "The Function Table (interpreted .pdata section contents)\n" msgstr "" -#: peigen.c:1502 +#: peigen.c:1546 +msgid " vma:\t\t\tBegin Address End Address Unwind Info\n" +msgstr "" + +#: peigen.c:1549 msgid " vma:\t\tBegin End EH EH PrologEnd Exception\n" msgstr "" -#: peigen.c:1504 +#: peigen.c:1551 msgid " \t\tAddress Address Handler Data Address Mask\n" msgstr "" -#: peigen.c:1576 +#: peigen.c:1624 msgid " Register save millicode" msgstr "" -#: peigen.c:1579 +#: peigen.c:1627 msgid " Register restore millicode" msgstr "" -#: peigen.c:1582 +#: peigen.c:1630 msgid " Glue code sequence" msgstr "" -#: peigen.c:1628 +#: peigen.c:1682 msgid "" "\n" "\n" "PE File Base Relocations (interpreted .reloc section contents)\n" msgstr "" -#: peigen.c:1663 +#: peigen.c:1717 #, c-format msgid "" "\n" "Virtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld\n" msgstr "" -#: peigen.c:1676 +#: peigen.c:1730 #, c-format msgid "\treloc %4d offset %4x [%4lx] %s" msgstr "" @@ -1630,57 +1738,72 @@ msgstr "" #. The MS dumpbin program reportedly ands with 0xff0f before #. printing the characteristics field. Not sure why. No reason to #. emulate it here. -#: peigen.c:1714 +#: peigen.c:1769 #, c-format msgid "" "\n" "Characteristics 0x%x\n" msgstr "" -#: ppcboot.c:418 +#: pe-mips.c:657 +#, c-format +msgid "%s: `ld -r' not supported with PE MIPS objects\n" +msgstr "" + +#: pe-mips.c:820 +#, c-format +msgid "%s: jump too far away\n" +msgstr "" + +#: pe-mips.c:847 +#, c-format +msgid "%s: bad pair/reflo after refhi\n" +msgstr "" + +#: ppcboot.c:422 msgid "" "\n" "ppcboot header:\n" msgstr "" -#: ppcboot.c:419 +#: ppcboot.c:423 #, c-format msgid "Entry offset = 0x%.8lx (%ld)\n" msgstr "" -#: ppcboot.c:420 +#: ppcboot.c:424 #, c-format msgid "Length = 0x%.8lx (%ld)\n" msgstr "" -#: ppcboot.c:423 +#: ppcboot.c:427 #, c-format msgid "Flag field = 0x%.2x\n" msgstr "" -#: ppcboot.c:429 +#: ppcboot.c:433 #, c-format msgid "Partition name = \"%s\"\n" msgstr "" -#: ppcboot.c:448 +#: ppcboot.c:452 #, c-format msgid "" "\n" "Partition[%d] start = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n" msgstr "" -#: ppcboot.c:454 +#: ppcboot.c:458 #, c-format msgid "Partition[%d] end = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n" msgstr "" -#: ppcboot.c:460 +#: ppcboot.c:464 #, c-format msgid "Partition[%d] sector = 0x%.8lx (%ld)\n" msgstr "" -#: ppcboot.c:461 +#: ppcboot.c:465 #, c-format msgid "Partition[%d] length = 0x%.8lx (%ld)\n" msgstr "" @@ -1722,29 +1845,29 @@ msgstr "" msgid "Object module NOT error-free !\n" msgstr "" -#: vms-misc.c:541 +#: vms-misc.c:544 #, c-format msgid "Stack overflow (%d) in _bfd_vms_push" msgstr "" -#: vms-misc.c:560 +#: vms-misc.c:563 msgid "Stack underflow in _bfd_vms_pop" msgstr "" -#: vms-misc.c:931 +#: vms-misc.c:934 msgid "_bfd_vms_output_counted called with zero bytes" msgstr "" -#: vms-misc.c:936 +#: vms-misc.c:939 msgid "_bfd_vms_output_counted called with too many bytes" msgstr "" -#: vms-misc.c:1069 +#: vms-misc.c:1072 #, c-format msgid "Symbol %s replaced by %s\n" msgstr "" -#: vms-misc.c:1133 +#: vms-misc.c:1136 #, c-format msgid "failed to enter %s" msgstr "" @@ -1940,97 +2063,97 @@ msgstr "" msgid "Unhandled relocation %s" msgstr "" -#: xcofflink.c:1661 +#: xcofflink.c:1653 #, c-format msgid "%s: `%s' has line numbers but no enclosing section" msgstr "" -#: xcofflink.c:1713 +#: xcofflink.c:1705 #, c-format msgid "%s: class %d symbol `%s' has no aux entries" msgstr "" -#: xcofflink.c:1736 +#: xcofflink.c:1728 #, c-format msgid "%s: symbol `%s' has unrecognized csect type %d" msgstr "" -#: xcofflink.c:1748 +#: xcofflink.c:1740 #, c-format msgid "%s: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d" msgstr "" -#: xcofflink.c:1787 +#: xcofflink.c:1779 #, c-format msgid "%s: XMC_TC0 symbol `%s' is class %d scnlen %d" msgstr "" -#: xcofflink.c:1911 +#: xcofflink.c:1903 #, c-format msgid "%s: symbol `%s' has unrecognized smclas %d" msgstr "" -#: xcofflink.c:1930 +#: xcofflink.c:1922 #, c-format msgid "%s: csect `%s' not in enclosing section" msgstr "" -#: xcofflink.c:2034 +#: xcofflink.c:2026 #, c-format msgid "%s: misplaced XTY_LD `%s'" msgstr "" -#: xcofflink.c:2345 +#: xcofflink.c:2337 #, c-format msgid "%s: reloc %s:%d not in csect" msgstr "" -#: xcofflink.c:2480 +#: xcofflink.c:2472 #, c-format msgid "%s: XCOFF shared object when not producing XCOFF output" msgstr "" -#: xcofflink.c:2501 +#: xcofflink.c:2493 #, c-format msgid "%s: dynamic object with no .loader section" msgstr "" -#: xcofflink.c:3141 +#: xcofflink.c:3133 #, c-format msgid "%s: no such symbol" msgstr "" -#: xcofflink.c:3733 +#: xcofflink.c:3725 #, c-format msgid "warning: attempt to export undefined symbol `%s'" msgstr "" -#: xcofflink.c:4709 +#: xcofflink.c:4701 #, c-format msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling" msgstr "" -#: xcofflink.c:5534 xcofflink.c:5890 xcofflink.c:5927 xcofflink.c:6244 +#: xcofflink.c:5526 xcofflink.c:5882 xcofflink.c:5919 xcofflink.c:6236 #, c-format msgid "%s: loader reloc in unrecognized section `%s'" msgstr "" -#: xcofflink.c:5556 xcofflink.c:6255 +#: xcofflink.c:5548 xcofflink.c:6247 #, c-format msgid "%s: `%s' in loader reloc but not loader sym" msgstr "" -#: xcofflink.c:5571 +#: xcofflink.c:5563 #, c-format msgid "%s: loader reloc in read-only section %s" msgstr "" -#: xcofflink.c:6451 +#: xcofflink.c:6443 #, c-format msgid "%s: unsupported relocation type 0x%02x" msgstr "" -#: xcofflink.c:6497 +#: xcofflink.c:6489 #, c-format msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry" msgstr "" diff --git a/bfd/reloc.c b/bfd/reloc.c index a14d552d502..119aea9bdf0 100644 --- a/bfd/reloc.c +++ b/bfd/reloc.c @@ -2881,6 +2881,23 @@ ENUMX BFD_RELOC_IA64_LDXMOV ENUMDOC Intel IA64 Relocations. + +ENUM + BFD_RELOC_M68HC11_HI8 +ENUMDOC + Motorola 68HC11 reloc. + This is the 8 bits high part of an absolute address. +ENUM + BFD_RELOC_M68HC11_LO8 +ENUMDOC + Motorola 68HC11 reloc. + This is the 8 bits low part of an absolute address. +ENUM + BFD_RELOC_M68HC11_3B +ENUMDOC + Motorola 68HC11 reloc. + This is the 3 bits of a value. + ENDSENUM BFD_RELOC_UNUSED CODE_FRAGMENT diff --git a/bfd/section.c b/bfd/section.c index ff977fd78a9..be881d84264 100644 --- a/bfd/section.c +++ b/bfd/section.c @@ -552,25 +552,25 @@ static const asymbol global_syms[] = const asymbol * const SYM = (asymbol *) &global_syms[IDX]; \ const asection SEC = \ /* name, index, next, flags, set_vma, reloc_done, linker_mark, gc_mark */ \ - { NAME, 0, 0, FLAGS, 0, 0, 0, 0, \ + { NAME, 0, NULL, FLAGS, 0, 0, 0, 0, \ \ /* vma, lma, _cooked_size, _raw_size, output_offset, output_section, */ \ 0, 0, 0, 0, 0, (struct sec *) &SEC, \ \ /* alig..., reloc..., orel..., reloc_count, filepos, rel_..., line_... */ \ - 0, 0, 0, 0, 0, 0, 0, \ + 0, NULL, NULL, 0, 0, 0, 0, \ \ /* userdata, contents, lineno, lineno_count */ \ - 0, 0, 0, 0, \ + NULL, NULL, NULL, 0, \ \ /* comdat_info, moving_line_filepos, target_index, used_by_bfd, */ \ - NULL, 0, 0, 0, \ + NULL, 0, 0, NULL, \ \ /* cons..., owner, symbol */ \ - 0, 0, (struct symbol_cache_entry *) &global_syms[IDX], \ + NULL, NULL, (struct symbol_cache_entry *) &global_syms[IDX], \ \ /* symbol_ptr_ptr, link_order_head, ..._tail */ \ - (struct symbol_cache_entry **) &SYM, 0, 0 \ + (struct symbol_cache_entry **) &SYM, NULL, NULL \ } STD_SECTION (bfd_com_section, SEC_IS_COMMON, bfd_com_symbol, diff --git a/bfd/targets.c b/bfd/targets.c index 980f95c5498..c9f7f959b54 100644 --- a/bfd/targets.c +++ b/bfd/targets.c @@ -533,6 +533,8 @@ extern const bfd_target bfd_elf32_little_generic_vec; extern const bfd_target bfd_elf32_littlemips_vec; extern const bfd_target bfd_elf64_littlemips_vec; extern const bfd_target bfd_elf32_m32r_vec; +extern const bfd_target bfd_elf32_m68hc11_vec; +extern const bfd_target bfd_elf32_m68hc12_vec; extern const bfd_target bfd_elf32_m68k_vec; extern const bfd_target bfd_elf32_m88k_vec; extern const bfd_target bfd_elf32_mn10200_vec; @@ -738,6 +740,8 @@ const bfd_target * const bfd_target_vector[] = { &bfd_elf32_m32r_vec, &bfd_elf32_mn10200_vec, &bfd_elf32_mn10300_vec, + &bfd_elf32_m68hc11_vec, + &bfd_elf32_m68hc12_vec, &bfd_elf32_m68k_vec, &bfd_elf32_m88k_vec, &bfd_elf32_sparc_vec, diff --git a/binutils/po/POTFILES.in b/binutils/po/POTFILES.in index a3a05867fb2..861e0ff6867 100644 --- a/binutils/po/POTFILES.in +++ b/binutils/po/POTFILES.in @@ -14,8 +14,6 @@ debug.h dlltool.c dlltool.h dllwrap.c -dyn-string.c -dyn-string.h filemode.c ieee.c ieee.c diff --git a/binutils/po/binutils.pot b/binutils/po/binutils.pot index cfc4ed44821..65fb9f5ab0f 100644 --- a/binutils/po/binutils.pot +++ b/binutils/po/binutils.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2000-04-04 23:33+0930\n" +"POT-Creation-Date: 2000-06-18 18:12-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,8 +22,8 @@ msgid "" " [--basenames] [--functions] [addr addr ...]\n" msgstr "" -#: addr2line.c:83 ar.c:286 nlmconv.c:1141 nm.c:306 objcopy.c:344 objcopy.c:376 -#: objdump.c:277 readelf.c:1703 size.c:89 strings.c:512 windres.c:737 +#: addr2line.c:83 ar.c:287 nlmconv.c:1119 nm.c:306 objcopy.c:359 objcopy.c:391 +#: objdump.c:271 readelf.c:1818 size.c:91 strings.c:530 windres.c:737 #, c-format msgid "Report bugs to %s\n" msgstr "" @@ -33,264 +33,272 @@ msgstr "" msgid "%s: can not get addresses from archive" msgstr "" -#: ar.c:235 +#: ar.c:236 #, c-format msgid "no entry %s in archive\n" msgstr "" -#: ar.c:252 +#: ar.c:253 #, c-format msgid "" "Usage: %s [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] [count] archive-file " "file...\n" msgstr "" -#: ar.c:255 +#: ar.c:256 #, c-format msgid " %s -M [\n" +"\n" +msgstr "" + +#: ar.c:833 ar.c:901 #, c-format msgid "%s is not a valid archive" msgstr "" -#: ar.c:846 +#: ar.c:869 #, c-format msgid "stat returns negative size for %s" msgstr "" -#: ar.c:967 +#: ar.c:996 #, c-format msgid "%s is not an archive" msgstr "" -#: ar.c:974 +#: ar.c:1003 #, c-format -msgid "%s: creating %s\n" +msgid "creating %s" msgstr "" -#: ar.c:1181 +#: ar.c:1209 #, c-format msgid "No member named `%s'\n" msgstr "" -#: ar.c:1233 +#: ar.c:1261 #, c-format -msgid "%s: no entry %s in archive %s!\n" +msgid "no entry %s in archive %s!" msgstr "" -#: ar.c:1395 +#: ar.c:1422 #, c-format msgid "%s: no archive map to update" msgstr "" -#: arsup.c:87 +#: arsup.c:88 #, c-format msgid "No entry %s in archive.\n" msgstr "" -#: arsup.c:119 +#: arsup.c:120 #, c-format msgid "Can't open file %s\n" msgstr "" -#: arsup.c:167 +#: arsup.c:170 #, c-format msgid "%s: Can't open output archive %s\n" msgstr "" -#: arsup.c:179 +#: arsup.c:182 #, c-format msgid "%s: Can't open input archive %s\n" msgstr "" -#: arsup.c:185 +#: arsup.c:188 #, c-format msgid "%s: file %s is not an archive\n" msgstr "" -#: arsup.c:226 +#: arsup.c:229 #, c-format msgid "%s: no output archive specified yet\n" msgstr "" -#: arsup.c:246 arsup.c:281 arsup.c:317 arsup.c:337 arsup.c:395 +#: arsup.c:249 arsup.c:284 arsup.c:320 arsup.c:340 arsup.c:398 #, c-format msgid "%s: no open output archive\n" msgstr "" -#: arsup.c:254 arsup.c:355 arsup.c:375 +#: arsup.c:257 arsup.c:358 arsup.c:378 #, c-format msgid "%s: can't open file %s\n" msgstr "" -#: arsup.c:302 arsup.c:371 arsup.c:450 +#: arsup.c:305 arsup.c:374 arsup.c:453 #, c-format msgid "%s: can't find module file %s\n" msgstr "" -#: arsup.c:402 +#: arsup.c:405 #, c-format msgid "Current open archive is %s\n" msgstr "" -#: arsup.c:429 +#: arsup.c:432 #, c-format msgid "%s: no open archive\n" msgstr "" -#: bucomm.c:139 +#: bucomm.c:135 #, c-format msgid "can't set BFD default target to `%s': %s" msgstr "" -#: bucomm.c:151 +#: bucomm.c:147 #, c-format msgid "%s: Matching formats:" msgstr "" -#: bucomm.c:168 +#: bucomm.c:164 msgid "Supported targets:" msgstr "" -#: bucomm.c:170 +#: bucomm.c:166 #, c-format msgid "%s: supported targets:" msgstr "" -#: bucomm.c:263 +#: bucomm.c:272 #, c-format msgid "%s: bad number: %s" msgstr "" @@ -305,14 +313,13 @@ msgstr "" msgid "%s: Print a human readable interpretation of a SYSROFF object file\n" msgstr "" -#: coffdump.c:498 srconv.c:1940 sysdump.c:755 +#: coffdump.c:498 srconv.c:1941 sysdump.c:755 #, c-format msgid "GNU %s version %s\n" msgstr "" -#: coffdump.c:516 srconv.c:1977 sysdump.c:775 -#, c-format -msgid "%s: no input file specified\n" +#: coffdump.c:516 srconv.c:1975 sysdump.c:775 +msgid "no input file specified" msgstr "" #: debug.c:653 @@ -412,688 +419,880 @@ msgstr "" msgid "debug_write_type: illegal type encountered" msgstr "" -#: dlltool.c:770 dlltool.c:794 dlltool.c:819 +#: dlltool.c:732 dlltool.c:756 dlltool.c:781 #, c-format -msgid "Internal error: Unknown machine type: %d\n" +msgid "Internal error: Unknown machine type: %d" msgstr "" -#: dlltool.c:856 +#: dlltool.c:818 #, c-format msgid "Can't open def file: %s" msgstr "" -#: dlltool.c:861 +#: dlltool.c:823 #, c-format msgid "Processing def file: %s" msgstr "" -#: dlltool.c:865 +#: dlltool.c:827 msgid "Processed def file" msgstr "" -#: dlltool.c:890 +#: dlltool.c:852 #, c-format -msgid "Syntax error in def file %s:%d\n" +msgid "Syntax error in def file %s:%d" msgstr "" -#: dlltool.c:923 +#: dlltool.c:885 #, c-format msgid "NAME: %s base: %x" msgstr "" -#: dlltool.c:926 -msgid "Can't have LIBRARY and NAME\n" +#: dlltool.c:888 dlltool.c:907 +msgid "Can't have LIBRARY and NAME" msgstr "" -#: dlltool.c:942 +#: dlltool.c:904 #, c-format msgid "LIBRARY: %s base: %x" msgstr "" -#: dlltool.c:945 -#, c-format -msgid "%s: Can't have LIBRARY and NAME\n" -msgstr "" - -#: dlltool.c:1200 resrc.c:271 +#: dlltool.c:1162 resrc.c:271 #, c-format msgid "wait: %s" msgstr "" -#: dlltool.c:1205 resrc.c:276 +#: dlltool.c:1167 dllwrap.c:456 resrc.c:276 #, c-format msgid "subprocess got fatal signal %d" msgstr "" -#: dlltool.c:1211 +#: dlltool.c:1173 dllwrap.c:463 resrc.c:283 #, c-format -msgid "%s exited with status %d\n" +msgid "%s exited with status %d" msgstr "" -#: dlltool.c:1243 +#: dlltool.c:1205 #, c-format -msgid "Sucking in info from %s section in %s\n" +msgid "Sucking in info from %s section in %s" msgstr "" -#: dlltool.c:1367 +#: dlltool.c:1329 #, c-format -msgid "Excluding symbol: %s\n" +msgid "Excluding symbol: %s" msgstr "" -#: dlltool.c:1462 dlltool.c:1473 nm.c:904 nm.c:915 objdump.c:444 objdump.c:461 +#: dlltool.c:1424 dlltool.c:1435 nm.c:901 nm.c:912 objdump.c:440 objdump.c:457 #, c-format -msgid "%s: no symbols\n" +msgid "%s: no symbols" msgstr "" #. FIXME: we ought to read in and block out the base relocations -#: dlltool.c:1500 +#: dlltool.c:1462 #, c-format -msgid "Done reading %s\n" +msgid "Done reading %s" msgstr "" -#: dlltool.c:1511 +#: dlltool.c:1473 #, c-format msgid "Unable to open object file: %s" msgstr "" -#: dlltool.c:1514 +#: dlltool.c:1476 #, c-format msgid "Scanning object file %s" msgstr "" -#: dlltool.c:1529 +#: dlltool.c:1491 #, c-format msgid "Cannot produce mcore-elf dll from archive file: %s" msgstr "" -#: dlltool.c:1621 +#: dlltool.c:1583 msgid "Adding exports to output file" msgstr "" -#: dlltool.c:1666 +#: dlltool.c:1628 msgid "Added exports to output file" msgstr "" -#: dlltool.c:1790 +#: dlltool.c:1752 #, c-format -msgid "Generating export file: %s\n" +msgid "Generating export file: %s" msgstr "" -#: dlltool.c:1795 +#: dlltool.c:1757 #, c-format msgid "Unable to open temporary assembler file: %s" msgstr "" -#: dlltool.c:1798 +#: dlltool.c:1760 #, c-format msgid "Opened temporary file: %s" msgstr "" -#: dlltool.c:2012 +#: dlltool.c:1974 msgid "Generated exports file" msgstr "" -#: dlltool.c:2267 +#: dlltool.c:2229 #, c-format msgid "bfd_open failed open stub file: %s" msgstr "" -#: dlltool.c:2270 +#: dlltool.c:2232 #, c-format msgid "Creating stub file: %s" msgstr "" -#: dlltool.c:2657 +#: dlltool.c:2619 #, c-format msgid "failed to open temporary head file: %s" msgstr "" -#: dlltool.c:2716 +#: dlltool.c:2678 #, c-format msgid "failed to open temporary tail file: %s" msgstr "" -#: dlltool.c:2784 +#: dlltool.c:2746 #, c-format msgid "Can't open .lib file: %s" msgstr "" -#: dlltool.c:2787 +#: dlltool.c:2749 #, c-format -msgid "Creating library file: %s\n" +msgid "Creating library file: %s" msgstr "" -#: dlltool.c:2846 +#: dlltool.c:2808 #, c-format -msgid "cannot delete %s: %s\n" +msgid "cannot delete %s: %s" msgstr "" -#: dlltool.c:2850 +#: dlltool.c:2812 msgid "Created lib file" msgstr "" -#: dlltool.c:2955 +#: dlltool.c:2917 #, c-format -msgid "Warning, ignoring duplicate EXPORT %s %d,%d\n" +msgid "Warning, ignoring duplicate EXPORT %s %d,%d" msgstr "" -#: dlltool.c:2961 +#: dlltool.c:2923 #, c-format msgid "Error, duplicate EXPORT with oridinals: %s" msgstr "" -#: dlltool.c:3088 +#: dlltool.c:3050 msgid "Processing definitions" msgstr "" -#: dlltool.c:3126 +#: dlltool.c:3088 msgid "Processed definitions" msgstr "" #. xgetext:c-format -#: dlltool.c:3137 +#: dlltool.c:3099 dllwrap.c:520 #, c-format msgid "Usage %s \n" msgstr "" #. xgetext:c-format -#: dlltool.c:3139 +#: dlltool.c:3101 #, c-format msgid "" " -m --machine Create as DLL for . [default: %s]\n" msgstr "" -#: dlltool.c:3140 +#: dlltool.c:3102 msgid "" " possible : arm[_interwork], i386, mcore[-elf]{-le|-be}, " "ppc, thumb\n" msgstr "" -#: dlltool.c:3141 +#: dlltool.c:3103 msgid " -e --output-exp Generate an export file.\n" msgstr "" -#: dlltool.c:3142 +#: dlltool.c:3104 msgid " -l --output-lib Generate an interface library.\n" msgstr "" -#: dlltool.c:3143 +#: dlltool.c:3105 msgid " -a --add-indirect Add dll indirects to export file.\n" msgstr "" -#: dlltool.c:3144 +#: dlltool.c:3106 msgid "" " -D --dllname Name of input dll to put into interface lib.\n" msgstr "" -#: dlltool.c:3145 +#: dlltool.c:3107 msgid " -d --input-def Name of .def file to be read in.\n" msgstr "" -#: dlltool.c:3146 +#: dlltool.c:3108 msgid " -z --output-def Name of .def file to be created.\n" msgstr "" -#: dlltool.c:3147 +#: dlltool.c:3109 msgid " --export-all-symbols Export all symbols to .def\n" msgstr "" -#: dlltool.c:3148 +#: dlltool.c:3110 msgid " --no-export-all-symbols Only export listed symbols\n" msgstr "" -#: dlltool.c:3149 +#: dlltool.c:3111 msgid " --exclude-symbols Don't export \n" msgstr "" -#: dlltool.c:3150 +#: dlltool.c:3112 msgid " --no-default-excludes Clear default exclude symbols\n" msgstr "" -#: dlltool.c:3151 +#: dlltool.c:3113 msgid " -b --base-file Read linker generated base file.\n" msgstr "" -#: dlltool.c:3152 +#: dlltool.c:3114 msgid " -x --no-idata4 Don't generate idata$4 section.\n" msgstr "" -#: dlltool.c:3153 +#: dlltool.c:3115 msgid " -c --no-idata5 Don't generate idata$5 section.\n" msgstr "" -#: dlltool.c:3154 +#: dlltool.c:3116 msgid "" " -U --add-underscore Add underscores to symbols in interface " "library.\n" msgstr "" -#: dlltool.c:3155 +#: dlltool.c:3117 msgid " -k --kill-at Kill @ from exported names.\n" msgstr "" -#: dlltool.c:3156 +#: dlltool.c:3118 msgid " -A --add-stdcall-alias Add aliases without @.\n" msgstr "" -#: dlltool.c:3157 +#: dlltool.c:3119 msgid " -S --as Use for assembler.\n" msgstr "" -#: dlltool.c:3158 +#: dlltool.c:3120 msgid " -f --as-flags Pass to the assembler.\n" msgstr "" -#: dlltool.c:3159 +#: dlltool.c:3121 msgid "" " -C --compat-implib Create backward compatible import library.\n" msgstr "" -#: dlltool.c:3160 +#: dlltool.c:3122 msgid "" " -n --no-delete Keep temp files (repeat for extra " "preservation).\n" msgstr "" -#: dlltool.c:3161 +#: dlltool.c:3123 msgid " -v --verbose Be verbose.\n" msgstr "" -#: dlltool.c:3162 +#: dlltool.c:3124 msgid " -V --version Display the program version.\n" msgstr "" -#: dlltool.c:3163 +#: dlltool.c:3125 msgid " -h --help Display this information.\n" msgstr "" -#: dlltool.c:3165 +#: dlltool.c:3127 msgid "" " -M --mcore-elf Process mcore-elf object files into .\n" msgstr "" -#: dlltool.c:3166 +#: dlltool.c:3128 msgid " -L --linker Use as the linker.\n" msgstr "" -#: dlltool.c:3167 +#: dlltool.c:3129 msgid " -F --linker-flags Pass to the linker.\n" msgstr "" -#: dlltool.c:3311 +#: dlltool.c:3273 #, c-format msgid "Unable to open base-file: %s" msgstr "" -#: dlltool.c:3340 +#: dlltool.c:3302 #, c-format msgid "Machine '%s' not supported" msgstr "" -#: dlltool.c:3443 dllwrap.c:215 +#: dlltool.c:3405 dllwrap.c:241 #, c-format msgid "Tried file: %s" msgstr "" -#: dlltool.c:3450 dllwrap.c:222 +#: dlltool.c:3412 dllwrap.c:248 #, c-format msgid "Using file: %s" msgstr "" -#: ieee.c:316 +#: dllwrap.c:335 +#, c-format +msgid "Keeping temporary base file %s" +msgstr "" + +#: dllwrap.c:337 +#, c-format +msgid "Deleting temporary base file %s" +msgstr "" + +#: dllwrap.c:351 +#, c-format +msgid "Keeping temporary exp file %s" +msgstr "" + +#: dllwrap.c:353 +#, c-format +msgid "Deleting temporary exp file %s" +msgstr "" + +#: dllwrap.c:366 +#, c-format +msgid "Keeping temporary def file %s" +msgstr "" + +#: dllwrap.c:368 +#, c-format +msgid "Deleting temporary def file %s" +msgstr "" + +#: dllwrap.c:521 +msgid " Generic options:\n" +msgstr "" + +#: dllwrap.c:522 +msgid " --quiet, -q Work quietly\n" +msgstr "" + +#: dllwrap.c:523 +msgid " --verbose, -v Verbose\n" +msgstr "" + +#: dllwrap.c:524 +msgid " --version Print dllwrap version\n" +msgstr "" + +#: dllwrap.c:525 +msgid " --implib Synonym for --output-lib\n" +msgstr "" + +#: dllwrap.c:526 +#, c-format +msgid " Options for %s:\n" +msgstr "" + +#: dllwrap.c:527 +msgid " --driver-name Defaults to \"gcc\"\n" +msgstr "" + +#: dllwrap.c:528 +msgid " --driver-flags Override default ld flags\n" +msgstr "" + +#: dllwrap.c:529 +msgid " --dlltool-name Defaults to \"dlltool\"\n" +msgstr "" + +#: dllwrap.c:530 +msgid " --entry Specify alternate DLL entry point\n" +msgstr "" + +#: dllwrap.c:531 +msgid " --image-base Specify image base address\n" +msgstr "" + +#: dllwrap.c:532 +msgid " --target i386-cygwin32 or i386-mingw32\n" +msgstr "" + +#: dllwrap.c:533 +msgid " --dry-run Show what needs to be run\n" +msgstr "" + +#: dllwrap.c:534 +msgid " --mno-cygwin Create Mingw DLL\n" +msgstr "" + +#: dllwrap.c:535 +msgid " Options passed to DLLTOOL:\n" +msgstr "" + +#: dllwrap.c:536 +msgid " --machine \n" +msgstr "" + +#: dllwrap.c:537 +msgid " --output-exp Generate export file.\n" +msgstr "" + +#: dllwrap.c:538 +msgid " --output-lib Generate input library.\n" +msgstr "" + +#: dllwrap.c:539 +msgid " --add-indirect Add dll indirects to export file.\n" +msgstr "" + +#: dllwrap.c:540 +msgid " --dllname Name of input dll to put into output lib.\n" +msgstr "" + +#: dllwrap.c:541 +msgid " --def Name input .def file\n" +msgstr "" + +#: dllwrap.c:542 +msgid " --output-def Name output .def file\n" +msgstr "" + +#: dllwrap.c:543 +msgid " --export-all-symbols Export all symbols to .def\n" +msgstr "" + +#: dllwrap.c:544 +msgid " --no-export-all-symbols Only export .drectve symbols\n" +msgstr "" + +#: dllwrap.c:545 +msgid " --exclude-symbols Exclude from .def\n" +msgstr "" + +#: dllwrap.c:546 +msgid " --no-default-excludes Zap default exclude symbols\n" +msgstr "" + +#: dllwrap.c:547 +msgid " --base-file Read linker generated base file\n" +msgstr "" + +#: dllwrap.c:548 +msgid " --no-idata4 Don't generate idata$4 section\n" +msgstr "" + +#: dllwrap.c:549 +msgid " --no-idata5 Don't generate idata$5 section\n" +msgstr "" + +#: dllwrap.c:550 +msgid " -U Add underscores to .lib\n" +msgstr "" + +#: dllwrap.c:551 +msgid " -k Kill @ from exported names\n" +msgstr "" + +#: dllwrap.c:552 +msgid " --add-stdcall-alias Add aliases without @\n" +msgstr "" + +#: dllwrap.c:553 +msgid " --as Use for assembler\n" +msgstr "" + +#: dllwrap.c:554 +msgid " --nodelete Keep temp files.\n" +msgstr "" + +#: dllwrap.c:555 +msgid " Rest are passed unmodified to the language driver\n" +msgstr "" + +#: dllwrap.c:816 +msgid "Must provide at least one of -o or --dllname options" +msgstr "" + +#: dllwrap.c:844 +msgid "no export definition file provided" +msgstr "" + +#: dllwrap.c:845 +msgid "creating one, but that may not be what you want" +msgstr "" + +#: dllwrap.c:1006 +#, c-format +msgid "DLLTOOL name : %s\n" +msgstr "" + +#: dllwrap.c:1007 +#, c-format +msgid "DLLTOOL options : %s\n" +msgstr "" + +#: dllwrap.c:1008 +#, c-format +msgid "DRIVER name : %s\n" +msgstr "" + +#: dllwrap.c:1009 +#, c-format +msgid "DRIVER options : %s\n" +msgstr "" + +#: ieee.c:317 msgid "unexpected end of debugging information" msgstr "" -#: ieee.c:411 +#: ieee.c:412 msgid "invalid number" msgstr "" -#: ieee.c:470 +#: ieee.c:471 msgid "invalid string length" msgstr "" -#: ieee.c:527 ieee.c:568 +#: ieee.c:528 ieee.c:569 msgid "expression stack overflow" msgstr "" -#: ieee.c:547 +#: ieee.c:548 msgid "unsupported IEEE expression operator" msgstr "" -#: ieee.c:562 +#: ieee.c:563 msgid "unknown section" msgstr "" -#: ieee.c:583 +#: ieee.c:584 msgid "expression stack underflow" msgstr "" -#: ieee.c:597 +#: ieee.c:598 msgid "expression stack mismatch" msgstr "" -#: ieee.c:636 +#: ieee.c:637 msgid "unknown builtin type" msgstr "" -#: ieee.c:781 +#: ieee.c:782 msgid "BCD float type not supported" msgstr "" -#: ieee.c:927 +#: ieee.c:928 msgid "unexpected number" msgstr "" -#: ieee.c:934 +#: ieee.c:935 msgid "unexpected record type" msgstr "" -#: ieee.c:967 +#: ieee.c:968 msgid "blocks left on stack at end" msgstr "" -#: ieee.c:1232 +#: ieee.c:1233 msgid "unknown BB type" msgstr "" -#: ieee.c:1241 +#: ieee.c:1242 msgid "stack overflow" msgstr "" -#: ieee.c:1266 +#: ieee.c:1267 msgid "stack underflow" msgstr "" -#: ieee.c:1380 ieee.c:1452 ieee.c:2151 +#: ieee.c:1381 ieee.c:1453 ieee.c:2152 msgid "illegal variable index" msgstr "" -#: ieee.c:1430 +#: ieee.c:1431 msgid "illegal type index" msgstr "" -#: ieee.c:1440 ieee.c:1477 +#: ieee.c:1441 ieee.c:1478 msgid "unknown TY code" msgstr "" -#: ieee.c:1459 +#: ieee.c:1460 msgid "undefined variable in TY" msgstr "" #. Pascal file name. FIXME. -#: ieee.c:1870 +#: ieee.c:1871 msgid "Pascal file name not supported" msgstr "" -#: ieee.c:1918 +#: ieee.c:1919 msgid "unsupported qualifer" msgstr "" -#: ieee.c:2189 +#: ieee.c:2190 msgid "undefined variable in ATN" msgstr "" -#: ieee.c:2232 +#: ieee.c:2233 msgid "unknown ATN type" msgstr "" #. Reserved for FORTRAN common. -#: ieee.c:2354 +#: ieee.c:2355 msgid "unsupported ATN11" msgstr "" #. We have no way to record this information. FIXME. -#: ieee.c:2381 +#: ieee.c:2382 msgid "unsupported ATN12" msgstr "" -#: ieee.c:2441 +#: ieee.c:2442 msgid "unexpected string in C++ misc" msgstr "" -#: ieee.c:2454 +#: ieee.c:2455 msgid "bad misc record" msgstr "" -#: ieee.c:2497 +#: ieee.c:2498 msgid "unrecognized C++ misc record" msgstr "" -#: ieee.c:2614 +#: ieee.c:2615 msgid "undefined C++ object" msgstr "" -#: ieee.c:2648 +#: ieee.c:2649 msgid "unrecognized C++ object spec" msgstr "" -#: ieee.c:2684 +#: ieee.c:2685 msgid "unsupported C++ object type" msgstr "" -#: ieee.c:2694 +#: ieee.c:2695 msgid "C++ base class not defined" msgstr "" -#: ieee.c:2706 ieee.c:2811 +#: ieee.c:2707 ieee.c:2812 msgid "C++ object has no fields" msgstr "" -#: ieee.c:2725 +#: ieee.c:2726 msgid "C++ base class not found in container" msgstr "" -#: ieee.c:2832 +#: ieee.c:2833 msgid "C++ data member not found in container" msgstr "" -#: ieee.c:2873 ieee.c:3023 +#: ieee.c:2874 ieee.c:3024 msgid "unknown C++ visibility" msgstr "" -#: ieee.c:2907 +#: ieee.c:2908 msgid "bad C++ field bit pos or size" msgstr "" -#: ieee.c:2999 +#: ieee.c:3000 msgid "bad type for C++ method function" msgstr "" -#: ieee.c:3009 +#: ieee.c:3010 msgid "no type information for C++ method function" msgstr "" -#: ieee.c:3048 +#: ieee.c:3049 msgid "C++ static virtual method" msgstr "" -#: ieee.c:3143 +#: ieee.c:3144 msgid "unrecognized C++ object overhead spec" msgstr "" -#: ieee.c:3182 +#: ieee.c:3183 msgid "undefined C++ vtable" msgstr "" -#: ieee.c:3253 +#: ieee.c:3254 msgid "C++ default values not in a function" msgstr "" -#: ieee.c:3293 +#: ieee.c:3294 msgid "unrecognized C++ default type" msgstr "" -#: ieee.c:3324 +#: ieee.c:3325 msgid "reference parameter is not a pointer" msgstr "" -#: ieee.c:3409 +#: ieee.c:3410 msgid "unrecognized C++ reference type" msgstr "" -#: ieee.c:3491 +#: ieee.c:3492 msgid "C++ reference not found" msgstr "" -#: ieee.c:3499 +#: ieee.c:3500 msgid "C++ reference is not pointer" msgstr "" -#: ieee.c:3528 ieee.c:3536 +#: ieee.c:3529 ieee.c:3537 msgid "missing required ASN" msgstr "" -#: ieee.c:3566 ieee.c:3574 +#: ieee.c:3567 ieee.c:3575 msgid "missing required ATN65" msgstr "" -#: ieee.c:3588 +#: ieee.c:3589 msgid "bad ATN65 record" msgstr "" -#: ieee.c:4235 +#: ieee.c:4236 msgid "IEEE numeric overflow: 0x" msgstr "" -#: ieee.c:4281 +#: ieee.c:4282 #, c-format msgid "IEEE string length overflow: %u\n" msgstr "" -#: ieee.c:5315 +#: ieee.c:5324 #, c-format msgid "IEEE unsupported integer type size %u\n" msgstr "" -#: ieee.c:5351 +#: ieee.c:5360 #, c-format msgid "IEEE unsupported float type size %u\n" msgstr "" -#: ieee.c:5387 +#: ieee.c:5396 #, c-format msgid "IEEE unsupported complex type size %u\n" msgstr "" #: nlmconv.c:275 srconv.c:1966 -#, c-format -msgid "%s: input and output files must be different\n" +msgid "input and output files must be different" msgstr "" -#: nlmconv.c:325 -#, c-format -msgid "%s: input file named both on command line and with INPUT\n" +#: nlmconv.c:322 +msgid "input file named both on command line and with INPUT" msgstr "" -#: nlmconv.c:336 -#, c-format -msgid "%s: no input file\n" +#: nlmconv.c:331 +msgid "no input file" msgstr "" -#: nlmconv.c:366 -#, c-format -msgid "%s: no name for output file\n" +#: nlmconv.c:361 +msgid "no name for output file" msgstr "" -#: nlmconv.c:381 -#, c-format -msgid "%s: warning:input and output formats are not compatible\n" +#: nlmconv.c:374 +msgid "warning: input and output formats are not compatible" msgstr "" -#: nlmconv.c:411 +#: nlmconv.c:403 msgid "make .bss section" msgstr "" -#: nlmconv.c:420 +#: nlmconv.c:412 msgid "make .nlmsections section" msgstr "" -#: nlmconv.c:422 +#: nlmconv.c:414 msgid "set .nlmsections flags" msgstr "" -#: nlmconv.c:450 +#: nlmconv.c:442 msgid "set .bss vma" msgstr "" -#: nlmconv.c:457 +#: nlmconv.c:449 msgid "set .data size" msgstr "" -#: nlmconv.c:638 +#: nlmconv.c:629 #, c-format -msgid "%s: warning: symbol %s imported but not in import list\n" +msgid "warning: symbol %s imported but not in import list" msgstr "" -#: nlmconv.c:658 +#: nlmconv.c:649 msgid "set start address" msgstr "" -#: nlmconv.c:707 +#: nlmconv.c:698 #, c-format -msgid "%s: warning: START procedure %s not defined\n" +msgid "warning: START procedure %s not defined" msgstr "" -#: nlmconv.c:710 +#: nlmconv.c:700 #, c-format -msgid "%s: warning: EXIT procedure %s not defined\n" +msgid "warning: EXIT procedure %s not defined" msgstr "" -#: nlmconv.c:714 +#: nlmconv.c:702 #, c-format -msgid "%s: warning: CHECK procedure %s not defined\n" +msgid "warning: CHECK procedure %s not defined" msgstr "" -#: nlmconv.c:736 nlmconv.c:928 +#: nlmconv.c:723 nlmconv.c:912 msgid "custom section" msgstr "" -#: nlmconv.c:757 nlmconv.c:960 +#: nlmconv.c:744 nlmconv.c:941 msgid "help section" msgstr "" -#: nlmconv.c:779 nlmconv.c:979 +#: nlmconv.c:766 nlmconv.c:959 msgid "message section" msgstr "" -#: nlmconv.c:795 nlmconv.c:1012 +#: nlmconv.c:782 nlmconv.c:992 msgid "module section" msgstr "" -#: nlmconv.c:815 nlmconv.c:1029 +#: nlmconv.c:802 nlmconv.c:1008 msgid "rpc section" msgstr "" -#: nlmconv.c:852 +#. There is no place to record this information. +#: nlmconv.c:838 #, c-format -msgid "%s:%s: warning: shared libraries can not have uninitialized data\n" +msgid "%s: warning: shared libraries can not have uninitialized data" msgstr "" -#: nlmconv.c:873 nlmconv.c:1049 +#: nlmconv.c:859 nlmconv.c:1027 msgid "shared section" msgstr "" -#: nlmconv.c:881 -#, c-format -msgid "%s: warning: No version number given\n" +#: nlmconv.c:867 +msgid "warning: No version number given" msgstr "" -#: nlmconv.c:922 nlmconv.c:954 nlmconv.c:973 nlmconv.c:1023 nlmconv.c:1043 +#: nlmconv.c:907 nlmconv.c:936 nlmconv.c:954 nlmconv.c:1003 nlmconv.c:1022 #, c-format -msgid "%s:%s: read: %s\n" +msgid "%s: read: %s" msgstr "" -#: nlmconv.c:946 -#, c-format -msgid "%s: warning: MAP and FULLMAP are not supported; try ld -M\n" +#: nlmconv.c:929 +msgid "warning: MAP and FULLMAP are not supported; try ld -M" msgstr "" -#: nlmconv.c:1121 +#: nlmconv.c:1099 #, c-format msgid "%s: Convert an object file into a NetWare Loadable Module\n" msgstr "" -#: nlmconv.c:1133 +#: nlmconv.c:1111 #, c-format msgid "" "Usage: %s [-dhV] [-I bfdname] [-O bfdname] [-T header-file] [-l linker]\n" @@ -1103,61 +1302,61 @@ msgid "" " [in-file [out-file]]\n" msgstr "" -#: nlmconv.c:1173 +#: nlmconv.c:1151 #, c-format -msgid "%s: support not compiled in for %s\n" +msgid "support not compiled in for %s" msgstr "" -#: nlmconv.c:1216 +#: nlmconv.c:1191 msgid "make section" msgstr "" -#: nlmconv.c:1230 +#: nlmconv.c:1205 msgid "set section size" msgstr "" -#: nlmconv.c:1236 +#: nlmconv.c:1211 msgid "set section alignment" msgstr "" -#: nlmconv.c:1240 +#: nlmconv.c:1215 msgid "set section flags" msgstr "" -#: nlmconv.c:1251 +#: nlmconv.c:1226 msgid "set .nlmsections size" msgstr "" -#: nlmconv.c:1339 nlmconv.c:1347 nlmconv.c:1356 nlmconv.c:1361 +#: nlmconv.c:1314 nlmconv.c:1322 nlmconv.c:1331 nlmconv.c:1336 msgid "set .nlmsection contents" msgstr "" -#: nlmconv.c:1864 +#: nlmconv.c:1839 msgid "stub section sizes" msgstr "" -#: nlmconv.c:1913 +#: nlmconv.c:1888 msgid "writing stub" msgstr "" -#: nlmconv.c:2003 +#: nlmconv.c:1978 #, c-format -msgid "%s: unresolved PC relative reloc against %s\n" +msgid "unresolved PC relative reloc against %s" msgstr "" -#: nlmconv.c:2068 +#: nlmconv.c:2042 #, c-format -msgid "%s: overflow when adjusting relocation against %s\n" +msgid "overflow when adjusting relocation against %s" msgstr "" -#: nlmconv.c:2191 +#: nlmconv.c:2159 #, c-format msgid "%s: execution of %s failed: " msgstr "" -#: nlmconv.c:2206 +#: nlmconv.c:2174 #, c-format -msgid "%s: Execution of %s failed\n" +msgid "Execution of %s failed" msgstr "" #: nm.c:294 @@ -1175,20 +1374,20 @@ msgstr "" #: nm.c:339 #, c-format -msgid "%s: %s: invalid radix\n" +msgid "%s: invalid radix" msgstr "" -#: nm.c:365 +#: nm.c:364 #, c-format -msgid "%s: %s: invalid output format\n" +msgid "%s: invalid output format" msgstr "" -#: nm.c:492 +#: nm.c:490 #, c-format -msgid "%s: data size %ld\n" +msgid "data size %ld" msgstr "" -#: nm.c:1283 +#: nm.c:1280 #, c-format msgid "" "\n" @@ -1197,7 +1396,7 @@ msgid "" "\n" msgstr "" -#: nm.c:1285 +#: nm.c:1282 #, c-format msgid "" "\n" @@ -1206,14 +1405,14 @@ msgid "" "\n" msgstr "" -#: nm.c:1286 nm.c:1340 +#: nm.c:1283 nm.c:1337 msgid "" "Name Value Class Type Size Line " "Section\n" "\n" msgstr "" -#: nm.c:1337 +#: nm.c:1334 #, c-format msgid "" "\n" @@ -1222,7 +1421,7 @@ msgid "" "\n" msgstr "" -#: nm.c:1339 +#: nm.c:1336 #, c-format msgid "" "\n" @@ -1231,22 +1430,22 @@ msgid "" "\n" msgstr "" -#: nm.c:1510 +#: nm.c:1507 msgid "" "\n" "Archive index:\n" msgstr "" -#: objcopy.c:296 +#: objcopy.c:310 #, c-format msgid "Usage: %s in-file [out-file]\n" msgstr "" -#: objcopy.c:297 objcopy.c:354 +#: objcopy.c:311 objcopy.c:369 msgid " The switches are:\n" msgstr "" -#: objcopy.c:298 +#: objcopy.c:312 msgid "" " -I --input-target Assume input file is in format \n" " -O --output-target Create an output file in format " @@ -1307,17 +1506,18 @@ msgid "" "style\n" " --remove-leading-char Remove leading character from global " "symbols\n" +" --redefine-sym = Redefine symbol name to \n" " -v --verbose List all object files modified\n" " -V --version Display this program's version number\n" " -h --help Display this output\n" msgstr "" -#: objcopy.c:353 +#: objcopy.c:368 #, c-format msgid "Usage: %s in-file(s)\n" msgstr "" -#: objcopy.c:355 +#: objcopy.c:370 msgid "" " -I --input-target Assume input file is in format \n" " -O --output-target Create an output file in format " @@ -1342,152 +1542,172 @@ msgid "" " -o Place stripped output into \n" msgstr "" -#: objcopy.c:425 +#: objcopy.c:440 #, c-format msgid "unrecognized section flag `%s'" msgstr "" -#: objcopy.c:426 -msgid "" -"supported flags: alloc, load, noload, readonly, debug, code, data, rom, " -"share, contents" +#: objcopy.c:441 +#, c-format +msgid "supported flags: %s" msgstr "" -#: objcopy.c:671 +#: objcopy.c:698 +#, c-format +msgid "%s: Multiple redefinition of symbol \"%s\"" +msgstr "" + +#: objcopy.c:705 +#, c-format +msgid "%s: Symbol \"%s\" is target of more than one redefinition" +msgstr "" + +#: objcopy.c:759 #, c-format msgid "copy from %s(%s) to %s(%s)\n" msgstr "" -#: objcopy.c:690 +#: objcopy.c:778 #, c-format msgid "Warning: Output file cannot represent architecture %s" msgstr "" -#: objcopy.c:717 +#: objcopy.c:805 #, c-format msgid "can't create section `%s': %s" msgstr "" -#: objcopy.c:803 +#: objcopy.c:891 #, c-format msgid "Can't fill gap after %s: %s" msgstr "" -#: objcopy.c:828 +#: objcopy.c:916 #, c-format msgid "Can't add padding to %s: %s" msgstr "" -#: objcopy.c:965 +#: objcopy.c:1054 #, c-format msgid "%s: error copying private BFD data: %s" msgstr "" -#: objcopy.c:999 +#: objcopy.c:1088 #, c-format msgid "cannot mkdir %s for archive copying (error: %s)" msgstr "" -#: objcopy.c:1268 +#: objcopy.c:1277 +msgid "making" +msgstr "" + +#: objcopy.c:1286 +msgid "size" +msgstr "" + +#: objcopy.c:1300 +msgid "vma" +msgstr "" + +#: objcopy.c:1326 +msgid "alignment" +msgstr "" + +#: objcopy.c:1335 +msgid "flags" +msgstr "" + +#: objcopy.c:1349 +msgid "private data" +msgstr "" + +#: objcopy.c:1357 #, c-format msgid "%s: section `%s': error in %s: %s" msgstr "" -#: objcopy.c:1542 +#: objcopy.c:1631 #, c-format msgid "%s: can't create debugging section: %s" msgstr "" -#: objcopy.c:1557 +#: objcopy.c:1646 #, c-format msgid "%s: can't set debugging section contents: %s" msgstr "" -#: objcopy.c:1566 +#: objcopy.c:1655 #, c-format msgid "%s: don't know how to write debugging information for %s" msgstr "" -#: objcopy.c:1671 +#: objcopy.c:1760 #, c-format msgid "%s: cannot stat: %s" msgstr "" -#: objcopy.c:1721 +#: objcopy.c:1810 msgid "byte number must be non-negative" msgstr "" -#: objcopy.c:1726 +#: objcopy.c:1816 msgid "interleave must be positive" msgstr "" -#: objcopy.c:1742 objcopy.c:1749 +#: objcopy.c:1836 objcopy.c:1844 #, c-format msgid "%s both copied and removed" msgstr "" -#: objcopy.c:1804 -msgid "bad format for --add-section NAME=FILENAME" +#: objcopy.c:1913 objcopy.c:1983 objcopy.c:2084 objcopy.c:2112 +#, c-format +msgid "bad format for %s" msgstr "" -#: objcopy.c:1807 +#: objcopy.c:1916 #, c-format msgid "cannot stat: %s: %s" msgstr "" -#: objcopy.c:1825 +#: objcopy.c:1934 #, c-format msgid "cannot open: %s: %s" msgstr "" -#: objcopy.c:1829 +#: objcopy.c:1938 #, c-format msgid "%s: fread failed" msgstr "" -#: objcopy.c:1872 -#, c-format -msgid "bad format for %s" -msgstr "" - -#: objcopy.c:1936 +#: objcopy.c:2052 #, c-format msgid "Warning: truncating gap-fill from 0x%s to 0x%x" msgstr "" -#: objcopy.c:1960 -msgid "bad format for --set-section-flags" -msgstr "" - -#: objcopy.c:1990 +#: objcopy.c:2146 msgid "byte number must be less than interleave" msgstr "" -#: objcopy.c:2009 +#: objcopy.c:2165 #, c-format msgid "Cannot stat: %s: %s" msgstr "" -#: objcopy.c:2049 -#, c-format -msgid "Warning: --change-section-vma %s%c0x%s never used" -msgstr "" - -#: objcopy.c:2062 +#: objcopy.c:2205 objcopy.c:2219 #, c-format -msgid "Warning: --change-section-lma %s%c0x%s never used" +msgid "%s %s%c0x%s never used" msgstr "" -#: objdump.c:229 +#: objdump.c:223 #, c-format msgid "Usage: %s file(s)\n" msgstr "" -#: objdump.c:230 +#: objdump.c:224 msgid " At least one of the following switches must be given:\n" msgstr "" -#: objdump.c:231 +#: objdump.c:225 msgid "" " -a --archive-headers Display archive header information\n" " -f --file-headers Display the contents of the overall file header\n" @@ -1513,13 +1733,13 @@ msgid "" " -H --help Display this information\n" msgstr "" -#: objdump.c:253 +#: objdump.c:247 msgid "" "\n" " The following switches are optional:\n" msgstr "" -#: objdump.c:254 +#: objdump.c:248 msgid "" " -b --target Specify the target object format as " "\n" @@ -1552,1060 +1772,1100 @@ msgid "" "\n" msgstr "" -#: objdump.c:420 +#: objdump.c:416 msgid "Sections:\n" msgstr "" -#: objdump.c:423 +#: objdump.c:419 msgid "Idx Name Size VMA LMA File off Algn" msgstr "" -#: objdump.c:425 +#: objdump.c:421 msgid "" "Idx Name Size VMA LMA File off " "Algn" msgstr "" -#: objdump.c:429 +#: objdump.c:425 msgid " Flags" msgstr "" -#: objdump.c:479 +#: objdump.c:475 #, c-format -msgid "%s: %s: not a dynamic object\n" +msgid "%s: not a dynamic object" msgstr "" -#: objdump.c:496 +#: objdump.c:491 #, c-format -msgid "%s: %s: No dynamic symbols\n" +msgid "%s: No dynamic symbols" msgstr "" -#: objdump.c:1200 -msgid "Out of virtual memory\n" +#: objdump.c:1194 +msgid "Out of virtual memory" msgstr "" -#: objdump.c:1611 +#: objdump.c:1603 #, c-format -msgid "%s: Can't use supplied machine %s\n" +msgid "Can't use supplied machine %s" msgstr "" -#: objdump.c:1632 +#: objdump.c:1621 #, c-format -msgid "%s: Can't disassemble for architecture %s\n" +msgid "Can't disassemble for architecture %s\n" msgstr "" -#: objdump.c:1709 +#: objdump.c:1700 #, c-format msgid "Disassembly of section %s:\n" msgstr "" -#: objdump.c:1883 +#: objdump.c:1874 #, c-format msgid "" "No %s section present\n" "\n" msgstr "" -#: objdump.c:1890 +#: objdump.c:1881 #, c-format -msgid "%s: %s has no %s section\n" +msgid "%s has no %s section" msgstr "" -#: objdump.c:1904 objdump.c:1916 +#: objdump.c:1895 #, c-format -msgid "%s: Reading %s section of %s failed: %s\n" +msgid "Reading %s section of %s failed: %s" msgstr "" -#: objdump.c:1959 +#: objdump.c:1907 +#, c-format +msgid "Reading %s section of %s failed: %s\n" +msgstr "" + +#: objdump.c:1950 #, c-format msgid "" "Contents of %s section:\n" "\n" msgstr "" -#: objdump.c:2059 +#: objdump.c:2050 #, c-format msgid "architecture: %s, " msgstr "" -#: objdump.c:2062 +#: objdump.c:2053 #, c-format msgid "flags 0x%08x:\n" msgstr "" -#: objdump.c:2075 +#: objdump.c:2066 msgid "" "\n" "start address 0x" msgstr "" -#: objdump.c:2107 +#: objdump.c:2098 #, c-format msgid "" "\n" "%s: file format %s\n" msgstr "" -#: objdump.c:2150 +#: objdump.c:2140 #, c-format -msgid "%s: printing debugging information failed\n" +msgid "%s: printing debugging information failed" msgstr "" -#: objdump.c:2227 +#: objdump.c:2217 #, c-format msgid "In archive %s:\n" msgstr "" -#: objdump.c:2279 +#: objdump.c:2269 #, c-format msgid "Contents of section %s:\n" msgstr "" -#: objdump.c:2788 +#: objdump.c:2782 #, c-format msgid "BFD header file version %s\n" msgstr "" -#: objdump.c:2861 -#, c-format -msgid "%s: unrecognized -E option\n" +#: objdump.c:2855 +msgid "unrecognized -E option" msgstr "" -#: objdump.c:2873 +#: objdump.c:2866 #, c-format -msgid "%s: unrecognized --endian type `%s'\n" +msgid "unrecognized --endian type `%s'" msgstr "" #: rdcoff.c:204 #, c-format -msgid "%s: parse_coff_type: Bad type code 0x%x\n" +msgid "parse_coff_type: Bad type code 0x%x" msgstr "" -#: rdcoff.c:423 rdcoff.c:531 rdcoff.c:712 +#: rdcoff.c:422 rdcoff.c:530 rdcoff.c:711 #, c-format -msgid "%s: bfd_coff_get_syment failed: %s\n" +msgid "bfd_coff_get_syment failed: %s" msgstr "" -#: rdcoff.c:439 rdcoff.c:732 +#: rdcoff.c:438 rdcoff.c:731 #, c-format -msgid "%s: bfd_coff_get_auxent failed: %s\n" +msgid "bfd_coff_get_auxent failed: %s" msgstr "" -#: rdcoff.c:798 +#: rdcoff.c:797 #, c-format -msgid "%s: %ld: .bf without preceding function\n" +msgid "%ld: .bf without preceding function" msgstr "" -#: rdcoff.c:848 +#: rdcoff.c:847 #, c-format -msgid "%s: %ld: unexpected .ef\n" +msgid "%ld: unexpected .ef\n" msgstr "" #: rddbg.c:87 #, c-format -msgid "%s: no recognized debugging information\n" +msgid "%s: no recognized debugging information" msgstr "" #: rddbg.c:410 msgid "Last stabs entries before error:\n" msgstr "" -#: readelf.c:303 readelf.c:329 +#: readelf.c:299 readelf.c:325 #, c-format msgid "%s: Error: " msgstr "" -#: readelf.c:315 readelf.c:344 +#: readelf.c:311 readelf.c:340 #, c-format msgid "%s: Warning: " msgstr "" -#: readelf.c:394 readelf.c:532 +#: readelf.c:390 readelf.c:528 #, c-format msgid "Unhandled data length: %d\n" msgstr "" -#: readelf.c:591 +#: readelf.c:589 msgid "Don't know about relocations on this machine architecture\n" msgstr "" -#: readelf.c:631 readelf.c:660 readelf.c:692 readelf.c:720 +#: readelf.c:629 readelf.c:658 readelf.c:690 readelf.c:718 msgid "out of memory parsing relocs" msgstr "" -#: readelf.c:738 +#: readelf.c:736 msgid "" " Offset Info Type Symbol's Value Symbol's Name " "Addend\n" msgstr "" -#: readelf.c:741 +#: readelf.c:739 msgid " Offset Info Type Symbol's Value Symbol's Name\n" msgstr "" -#: readelf.c:885 readelf.c:887 +#: readelf.c:886 readelf.c:888 #, c-format msgid "unrecognised: %-7lx" msgstr "" -#: readelf.c:912 +#: readelf.c:913 #, c-format msgid "" msgstr "" -#: readelf.c:1119 +#: readelf.c:1120 #, c-format msgid "Processor Specific: %lx" msgstr "" -#: readelf.c:1138 +#: readelf.c:1139 #, c-format msgid "Operating System specific: %lx" msgstr "" -#: readelf.c:1141 readelf.c:1506 +#: readelf.c:1142 readelf.c:1621 #, c-format msgid ": %lx" msgstr "" -#: readelf.c:1155 +#: readelf.c:1156 msgid "NONE (None)" msgstr "" -#: readelf.c:1156 +#: readelf.c:1157 msgid "REL (Relocatable file)" msgstr "" -#: readelf.c:1157 +#: readelf.c:1158 msgid "EXEC (Executable file)" msgstr "" -#: readelf.c:1158 +#: readelf.c:1159 msgid "DYN (Shared object file)" msgstr "" -#: readelf.c:1159 +#: readelf.c:1160 msgid "CORE (Core file)" msgstr "" -#: readelf.c:1163 +#: readelf.c:1164 #, c-format msgid "Processor Specific: (%x)" msgstr "" -#: readelf.c:1165 +#: readelf.c:1166 #, c-format msgid "OS Specific: (%x)" msgstr "" -#: readelf.c:1167 readelf.c:1244 readelf.c:1638 +#: readelf.c:1168 readelf.c:1246 readelf.c:1753 #, c-format msgid ": %x" msgstr "" -#: readelf.c:1180 +#: readelf.c:1181 msgid "None" msgstr "" -#: readelf.c:1676 +#: readelf.c:1791 msgid "Usage: readelf {options} elf-file(s)\n" msgstr "" -#: readelf.c:1677 +#: readelf.c:1792 msgid " Options are:\n" msgstr "" -#: readelf.c:1678 +#: readelf.c:1793 msgid " -a or --all Equivalent to: -h -l -S -s -r -d -V -A -I\n" msgstr "" -#: readelf.c:1679 +#: readelf.c:1794 msgid " -h or --file-header Display the ELF file header\n" msgstr "" -#: readelf.c:1680 +#: readelf.c:1795 msgid " -l or --program-headers or --segments\n" msgstr "" -#: readelf.c:1681 +#: readelf.c:1796 msgid " Display the program headers\n" msgstr "" -#: readelf.c:1682 +#: readelf.c:1797 msgid " -S or --section-headers or --sections\n" msgstr "" -#: readelf.c:1683 +#: readelf.c:1798 msgid " Display the sections' header\n" msgstr "" -#: readelf.c:1684 +#: readelf.c:1799 msgid " -e or --headers Equivalent to: -h -l -S\n" msgstr "" -#: readelf.c:1685 +#: readelf.c:1800 msgid " -s or --syms or --symbols Display the symbol table\n" msgstr "" -#: readelf.c:1686 +#: readelf.c:1801 msgid " -n or --notes Display the core notes (if present)\n" msgstr "" -#: readelf.c:1687 +#: readelf.c:1802 msgid " -r or --relocs Display the relocations (if present)\n" msgstr "" -#: readelf.c:1688 +#: readelf.c:1803 msgid " -d or --dynamic Display the dynamic segment (if present)\n" msgstr "" -#: readelf.c:1689 +#: readelf.c:1804 msgid " -V or --version-info Display the version sections (if present)\n" msgstr "" -#: readelf.c:1690 +#: readelf.c:1805 msgid "" " -A or --arch-specific Display architecture specific information (if " "any).\n" msgstr "" -#: readelf.c:1691 +#: readelf.c:1806 msgid "" " -D or --use-dynamic Use the dynamic section info when displaying " "symbols\n" msgstr "" -#: readelf.c:1692 +#: readelf.c:1807 msgid " -x or --hex-dump=\n" msgstr "" -#: readelf.c:1693 +#: readelf.c:1808 msgid " Dump the contents of section \n" msgstr "" -#: readelf.c:1694 +#: readelf.c:1809 msgid " -w[liapr] or --debug-dump[=line,=info,=abbrev,=pubnames,=ranges]\n" msgstr "" -#: readelf.c:1695 +#: readelf.c:1810 msgid "" " Display the contents of DWARF2 debug sections\n" msgstr "" -#: readelf.c:1697 +#: readelf.c:1812 msgid " -i or --instruction-dump=\n" msgstr "" -#: readelf.c:1698 +#: readelf.c:1813 msgid "" " Disassemble the contents of section \n" msgstr "" -#: readelf.c:1700 +#: readelf.c:1815 msgid " -I or --histogram Display histogram of bucket list lengths\n" msgstr "" -#: readelf.c:1701 +#: readelf.c:1816 msgid " -v or --version Display the version number of readelf\n" msgstr "" -#: readelf.c:1702 +#: readelf.c:1817 msgid " -H or --help Display this information\n" msgstr "" -#: readelf.c:1720 +#: readelf.c:1835 msgid "Out of memory allocating dump request table." msgstr "" -#: readelf.c:1855 +#: readelf.c:1970 #, c-format msgid "Unrecognised debug option '%s'\n" msgstr "" -#: readelf.c:1880 +#: readelf.c:1995 #, c-format msgid "Invalid option '-%c'\n" msgstr "" -#: readelf.c:1893 +#: readelf.c:2008 msgid "Nothing to do.\n" msgstr "" -#: readelf.c:1906 readelf.c:1923 readelf.c:3493 +#: readelf.c:2021 readelf.c:2038 readelf.c:3622 msgid "none" msgstr "" -#: readelf.c:1907 +#: readelf.c:2022 msgid "ELF32" msgstr "" -#: readelf.c:1908 +#: readelf.c:2023 msgid "ELF64" msgstr "" -#: readelf.c:1910 readelf.c:1927 readelf.c:1946 +#: readelf.c:2025 readelf.c:2042 readelf.c:2070 #, c-format msgid "" msgstr "" -#: readelf.c:1924 +#: readelf.c:2039 msgid "2's complement, little endian" msgstr "" -#: readelf.c:1925 +#: readelf.c:2040 msgid "2's complement, big endian" msgstr "" -#: readelf.c:1940 +#: readelf.c:2055 msgid "UNIX - System V" msgstr "" -#: readelf.c:1941 +#: readelf.c:2056 msgid "UNIX - HP-UX" msgstr "" -#: readelf.c:1942 +#: readelf.c:2057 +msgid "UNIX - NetBSD" +msgstr "" + +#: readelf.c:2058 msgid "UNIX - Linux" msgstr "" -#: readelf.c:1943 +#: readelf.c:2059 +msgid "GNU/Hurd" +msgstr "" + +#: readelf.c:2060 +msgid "UNIX - Solaris" +msgstr "" + +#: readelf.c:2061 +msgid "UNIX - Monterey" +msgstr "" + +#: readelf.c:2062 +msgid "UNIX - IRIX" +msgstr "" + +#: readelf.c:2063 +msgid "UNIX - FreeBSD" +msgstr "" + +#: readelf.c:2064 +msgid "UNIX - TRU64" +msgstr "" + +#: readelf.c:2065 +msgid "Novell - Modesto" +msgstr "" + +#: readelf.c:2066 +msgid "UNIX - OpenBSD" +msgstr "" + +#: readelf.c:2067 msgid "Standalone App" msgstr "" -#: readelf.c:1944 +#: readelf.c:2068 msgid "ARM" msgstr "" -#: readelf.c:1961 +#: readelf.c:2085 msgid "Not an ELF file - it has the wrong magic bytes at the start\n" msgstr "" -#: readelf.c:1969 +#: readelf.c:2093 msgid "ELF Header:\n" msgstr "" -#: readelf.c:1970 +#: readelf.c:2094 msgid " Magic: " msgstr "" -#: readelf.c:1974 +#: readelf.c:2098 #, c-format msgid " Class: %s\n" msgstr "" -#: readelf.c:1976 +#: readelf.c:2100 #, c-format msgid " Data: %s\n" msgstr "" -#: readelf.c:1978 +#: readelf.c:2102 #, c-format msgid " Version: %d %s\n" msgstr "" -#: readelf.c:1985 +#: readelf.c:2109 #, c-format msgid " OS/ABI: %s\n" msgstr "" -#: readelf.c:1987 +#: readelf.c:2111 #, c-format msgid " ABI Version: %d\n" msgstr "" -#: readelf.c:1989 +#: readelf.c:2113 #, c-format msgid " Type: %s\n" msgstr "" -#: readelf.c:1991 +#: readelf.c:2115 #, c-format msgid " Machine: %s\n" msgstr "" -#: readelf.c:1993 +#: readelf.c:2117 #, c-format msgid " Version: 0x%lx\n" msgstr "" -#: readelf.c:1996 +#: readelf.c:2120 msgid " Entry point address: " msgstr "" -#: readelf.c:1998 +#: readelf.c:2122 msgid "" "\n" " Start of program headers: " msgstr "" -#: readelf.c:2000 +#: readelf.c:2124 msgid "" " (bytes into file)\n" " Start of section headers: " msgstr "" -#: readelf.c:2002 +#: readelf.c:2126 msgid " (bytes into file)\n" msgstr "" -#: readelf.c:2004 +#: readelf.c:2128 #, c-format msgid " Flags: 0x%lx%s\n" msgstr "" -#: readelf.c:2007 +#: readelf.c:2131 #, c-format msgid " Size of this header: %ld (bytes)\n" msgstr "" -#: readelf.c:2009 +#: readelf.c:2133 #, c-format msgid " Size of program headers: %ld (bytes)\n" msgstr "" -#: readelf.c:2011 +#: readelf.c:2135 #, c-format msgid " Number of program headers: %ld\n" msgstr "" -#: readelf.c:2013 +#: readelf.c:2137 #, c-format msgid " Size of section headers: %ld (bytes)\n" msgstr "" -#: readelf.c:2015 +#: readelf.c:2139 #, c-format msgid " Number of section headers: %ld\n" msgstr "" -#: readelf.c:2017 +#: readelf.c:2141 #, c-format msgid " Section header string table index: %ld\n" msgstr "" -#: readelf.c:2102 +#: readelf.c:2226 msgid "" "\n" "There are no program headers in this file.\n" msgstr "" -#: readelf.c:2108 +#: readelf.c:2232 #, c-format msgid "" "\n" "Elf file type is %s\n" msgstr "" -#: readelf.c:2109 +#: readelf.c:2233 msgid "Entry point " msgstr "" -#: readelf.c:2111 +#: readelf.c:2235 #, c-format msgid "" "\n" "There are %d program headers, starting at offset " msgstr "" -#: readelf.c:2122 readelf.c:2298 readelf.c:2340 readelf.c:2383 readelf.c:2424 -#: readelf.c:2932 readelf.c:2973 readelf.c:3149 readelf.c:4111 readelf.c:4125 -#: readelf.c:7023 readelf.c:7063 +#: readelf.c:2246 readelf.c:2422 readelf.c:2464 readelf.c:2507 readelf.c:2548 +#: readelf.c:3061 readelf.c:3102 readelf.c:3278 readelf.c:4240 readelf.c:4254 +#: readelf.c:7009 readelf.c:7049 msgid "Out of memory\n" msgstr "" -#: readelf.c:2140 +#: readelf.c:2264 #, c-format msgid "" "\n" "Program Header%s:\n" msgstr "" -#: readelf.c:2144 +#: readelf.c:2268 msgid "" " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" msgstr "" -#: readelf.c:2148 +#: readelf.c:2272 msgid " Type Offset VirtAddr PhysAddr\n" msgstr "" -#: readelf.c:2150 +#: readelf.c:2274 msgid " FileSiz MemSiz Flags Align\n" msgstr "" -#: readelf.c:2208 +#: readelf.c:2332 msgid "more than one dynamic segment\n" msgstr "" -#: readelf.c:2216 +#: readelf.c:2340 msgid "Unable to find program interpreter name\n" msgstr "" -#: readelf.c:2223 +#: readelf.c:2347 #, c-format msgid "" "\n" " [Requesting program interpreter: %s]" msgstr "" -#: readelf.c:2241 +#: readelf.c:2365 msgid "" "\n" " Section to Segment mapping:\n" msgstr "" -#: readelf.c:2242 +#: readelf.c:2366 msgid " Segment Sections...\n" msgstr "" -#: readelf.c:2505 +#: readelf.c:2629 msgid "" "\n" "There are no sections in this file.\n" msgstr "" -#: readelf.c:2511 +#: readelf.c:2635 #, c-format msgid "There are %d section headers, starting at offset 0x%lx:\n" msgstr "" -#: readelf.c:2551 +#: readelf.c:2675 msgid "File contains multiple dynamic symbol tables\n" msgstr "" -#: readelf.c:2564 +#: readelf.c:2688 msgid "File contains multiple dynamic string tables\n" msgstr "" -#: readelf.c:2591 +#: readelf.c:2715 #, c-format msgid "" "\n" "Section Header%s:\n" msgstr "" -#: readelf.c:2595 +#: readelf.c:2719 msgid "" " [Nr] Name Type Addr Off Size ES Flg Lk " "Inf Al\n" msgstr "" -#: readelf.c:2598 +#: readelf.c:2722 msgid " [Nr] Name Type Address Offset\n" msgstr "" -#: readelf.c:2599 +#: readelf.c:2723 msgid " Size EntSize Flags Link Info Align\n" msgstr "" -#: readelf.c:2646 +#: readelf.c:2770 msgid "" "Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings)\n" msgstr "" -#: readelf.c:2647 +#: readelf.c:2771 msgid "" " I (info), L (link order), O (extra OS processing required)\n" msgstr "" -#: readelf.c:2648 +#: readelf.c:2772 msgid " o (os specific), p (processor specific) x (unknown)\n" msgstr "" -#: readelf.c:2706 +#: readelf.c:2830 #, c-format msgid "" "\n" "Relocation section at offset 0x%lx contains %ld bytes:\n" msgstr "" -#: readelf.c:2713 +#: readelf.c:2837 msgid "" "\n" "There are no dynamic relocations in this file.\n" msgstr "" -#: readelf.c:2741 +#: readelf.c:2865 msgid "" "\n" "Relocation section " msgstr "" -#: readelf.c:2748 +#: readelf.c:2872 #, c-format msgid " at offset 0x%lx contains %lu entries:\n" msgstr "" -#: readelf.c:2776 +#: readelf.c:2900 msgid "" "\n" "There are no relocations in this file.\n" msgstr "" -#: readelf.c:3026 +#: readelf.c:3155 msgid "" "\n" "There is no dynamic segment in this file.\n" msgstr "" -#: readelf.c:3060 +#: readelf.c:3189 msgid "Unable to seek to end of file!" msgstr "" -#: readelf.c:3069 +#: readelf.c:3198 msgid "Unable to determine the number of symbols to load\n" msgstr "" -#: readelf.c:3099 +#: readelf.c:3228 msgid "Unable to seek to end of file\n" msgstr "" -#: readelf.c:3105 +#: readelf.c:3234 msgid "Unable to determine the length of the dynamic string table\n" msgstr "" -#: readelf.c:3166 +#: readelf.c:3295 #, c-format msgid "" "\n" "Dynamic segment at offset 0x%x contains %ld entries:\n" msgstr "" -#: readelf.c:3169 +#: readelf.c:3298 msgid " Tag Type Name/Value\n" msgstr "" -#: readelf.c:3200 +#: readelf.c:3329 msgid "Auxiliary library" msgstr "" -#: readelf.c:3202 +#: readelf.c:3331 msgid "Filter library" msgstr "" -#: readelf.c:3218 readelf.c:3239 readelf.c:3265 +#: readelf.c:3347 readelf.c:3368 readelf.c:3394 msgid "Flags:" msgstr "" -#: readelf.c:3220 readelf.c:3241 readelf.c:3267 +#: readelf.c:3349 readelf.c:3370 readelf.c:3396 msgid " None\n" msgstr "" -#: readelf.c:3370 +#: readelf.c:3499 #, c-format msgid "Shared library: [%s]" msgstr "" -#: readelf.c:3373 +#: readelf.c:3502 msgid " program interpreter" msgstr "" -#: readelf.c:3377 +#: readelf.c:3506 #, c-format msgid "Library soname: [%s]" msgstr "" -#: readelf.c:3381 +#: readelf.c:3510 #, c-format msgid "Library rpath: [%s]" msgstr "" -#: readelf.c:3442 +#: readelf.c:3571 #, c-format msgid "Not needed object: [%s]\n" msgstr "" -#: readelf.c:3539 +#: readelf.c:3668 #, c-format msgid "" "\n" "Version definition section '%s' contains %ld entries:\n" msgstr "" -#: readelf.c:3542 +#: readelf.c:3671 msgid " Addr: 0x" msgstr "" -#: readelf.c:3544 readelf.c:3732 +#: readelf.c:3673 readelf.c:3861 #, c-format msgid " Offset: %#08lx Link: %lx (%s)\n" msgstr "" -#: readelf.c:3574 +#: readelf.c:3703 #, c-format msgid " %#06x: Rev: %d Flags: %s" msgstr "" -#: readelf.c:3577 +#: readelf.c:3706 #, c-format msgid " Index: %d Cnt: %d " msgstr "" -#: readelf.c:3588 +#: readelf.c:3717 #, c-format msgid "Name: %s\n" msgstr "" -#: readelf.c:3590 +#: readelf.c:3719 #, c-format msgid "Name index: %ld\n" msgstr "" -#: readelf.c:3605 +#: readelf.c:3734 #, c-format msgid " %#06x: Parent %d: %s\n" msgstr "" -#: readelf.c:3608 +#: readelf.c:3737 #, c-format msgid " %#06x: Parent %d, name index: %ld\n" msgstr "" -#: readelf.c:3627 +#: readelf.c:3756 #, c-format msgid "" "\n" "Version needs section '%s' contains %ld entries:\n" msgstr "" -#: readelf.c:3630 +#: readelf.c:3759 msgid " Addr: 0x" msgstr "" -#: readelf.c:3632 +#: readelf.c:3761 #, c-format msgid " Offset: %#08lx Link to section: %ld (%s)\n" msgstr "" -#: readelf.c:3658 +#: readelf.c:3787 #, c-format msgid " %#06x: Version: %d" msgstr "" -#: readelf.c:3661 +#: readelf.c:3790 #, c-format msgid " File: %s" msgstr "" -#: readelf.c:3663 +#: readelf.c:3792 #, c-format msgid " File: %lx" msgstr "" -#: readelf.c:3665 +#: readelf.c:3794 #, c-format msgid " Cnt: %d\n" msgstr "" -#: readelf.c:3683 +#: readelf.c:3812 #, c-format msgid " %#06x: Name: %s" msgstr "" -#: readelf.c:3686 +#: readelf.c:3815 #, c-format msgid " %#06x: Name index: %lx" msgstr "" -#: readelf.c:3689 +#: readelf.c:3818 #, c-format msgid " Flags: %s Version: %d\n" msgstr "" -#: readelf.c:3727 +#: readelf.c:3856 #, c-format msgid "" "\n" "Version symbols section '%s' contains %d entries:\n" msgstr "" -#: readelf.c:3730 +#: readelf.c:3859 msgid " Addr: " msgstr "" -#: readelf.c:3760 +#: readelf.c:3889 msgid " 0 (*local*) " msgstr "" -#: readelf.c:3764 +#: readelf.c:3893 msgid " 1 (*global*) " msgstr "" -#: readelf.c:3986 +#: readelf.c:4115 msgid "" "\n" "No version information found in this file.\n" msgstr "" -#: readelf.c:4004 readelf.c:4039 +#: readelf.c:4133 readelf.c:4168 #, c-format msgid ": %d" msgstr "" -#: readelf.c:4006 readelf.c:4051 +#: readelf.c:4135 readelf.c:4180 #, c-format msgid ": %d" msgstr "" -#: readelf.c:4008 readelf.c:4054 +#: readelf.c:4137 readelf.c:4183 #, c-format msgid ": %d" msgstr "" -#: readelf.c:4117 +#: readelf.c:4246 msgid "Unable to read in dynamic data\n" msgstr "" -#: readelf.c:4159 +#: readelf.c:4288 msgid "Unable to seek to start of dynamic information" msgstr "" -#: readelf.c:4165 +#: readelf.c:4294 msgid "Failed to read in number of buckets\n" msgstr "" -#: readelf.c:4171 +#: readelf.c:4300 msgid "Failed to read in number of chains\n" msgstr "" -#: readelf.c:4191 +#: readelf.c:4320 msgid "" "\n" "Symbol table for image:\n" msgstr "" -#: readelf.c:4193 +#: readelf.c:4322 msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:4195 +#: readelf.c:4324 msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:4239 +#: readelf.c:4368 #, c-format msgid "" "\n" "Symbol table '%s' contains %lu entries:\n" msgstr "" -#: readelf.c:4243 +#: readelf.c:4372 msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:4245 +#: readelf.c:4374 msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:4354 +#: readelf.c:4483 msgid "bad dynamic symbol" msgstr "" -#: readelf.c:4413 +#: readelf.c:4542 msgid "" "\n" "Dynamic symbol information is not available for displaying symbols.\n" msgstr "" -#: readelf.c:4425 +#: readelf.c:4554 #, c-format msgid "" "\n" "Histogram for bucket list length (total of %d buckets):\n" msgstr "" -#: readelf.c:4427 +#: readelf.c:4556 msgid " Length Number %% of total Coverage\n" msgstr "" -#: readelf.c:4432 readelf.c:4451 readelf.c:6704 readelf.c:6897 +#: readelf.c:4561 readelf.c:4580 readelf.c:6691 readelf.c:6884 msgid "Out of memory" msgstr "" -#: readelf.c:4500 +#: readelf.c:4629 #, c-format msgid "" "\n" "Dynamic info segment at offset 0x%lx contains %d entries:\n" msgstr "" -#: readelf.c:4503 +#: readelf.c:4632 msgid " Num: Name BoundTo Flags\n" msgstr "" -#: readelf.c:4551 +#: readelf.c:4680 #, c-format msgid "" "\n" "Assembly dump of section %s\n" msgstr "" -#: readelf.c:4574 +#: readelf.c:4703 #, c-format msgid "" "\n" "Section '%s' has no data to dump.\n" msgstr "" -#: readelf.c:4579 +#: readelf.c:4708 #, c-format msgid "" "\n" "Hex dump of section '%s':\n" msgstr "" -#: readelf.c:4731 +#: readelf.c:4860 msgid "badly formed extended line op encountered!" msgstr "" -#: readelf.c:4738 +#: readelf.c:4867 #, c-format msgid " Extended opcode %d: " msgstr "" -#: readelf.c:4743 +#: readelf.c:4872 msgid "" "End of Sequence\n" "\n" msgstr "" -#: readelf.c:4749 +#: readelf.c:4878 #, c-format msgid "set Address to 0x%lx\n" msgstr "" -#: readelf.c:4754 +#: readelf.c:4883 msgid " define new File Table entry\n" msgstr "" -#: readelf.c:4755 readelf.c:4877 +#: readelf.c:4884 readelf.c:5006 msgid " Entry\tDir\tTime\tSize\tName\n" msgstr "" -#: readelf.c:4757 +#: readelf.c:4886 #, c-format msgid " %d\t" msgstr "" -#: readelf.c:4760 readelf.c:4762 readelf.c:4764 readelf.c:4889 readelf.c:4891 -#: readelf.c:4893 +#: readelf.c:4889 readelf.c:4891 readelf.c:4893 readelf.c:5018 readelf.c:5020 +#: readelf.c:5022 #, c-format msgid "%lu\t" msgstr "" -#: readelf.c:4765 +#: readelf.c:4894 #, c-format msgid "" "%s\n" "\n" msgstr "" -#: readelf.c:4769 +#: readelf.c:4898 #, c-format msgid "UNKNOWN: length %d\n" msgstr "" -#: readelf.c:4795 +#: readelf.c:4924 #, c-format msgid "" "\n" @@ -2613,493 +2873,493 @@ msgid "" "\n" msgstr "" -#: readelf.c:4807 +#: readelf.c:4936 msgid "The line info appears to be corrupt - the section is too small\n" msgstr "" -#: readelf.c:4815 +#: readelf.c:4944 msgid "Only DWARF version 2 line info is currently supported.\n" msgstr "" -#: readelf.c:4830 +#: readelf.c:4959 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:4831 +#: readelf.c:4960 #, c-format msgid " DWARF Version: %d\n" msgstr "" -#: readelf.c:4832 +#: readelf.c:4961 #, c-format msgid " Prolgue Length: %d\n" msgstr "" -#: readelf.c:4833 +#: readelf.c:4962 #, c-format msgid " Minimum Instruction Length: %d\n" msgstr "" -#: readelf.c:4834 +#: readelf.c:4963 #, c-format msgid " Initial value of 'is_stmt': %d\n" msgstr "" -#: readelf.c:4835 +#: readelf.c:4964 #, c-format msgid " Line Base: %d\n" msgstr "" -#: readelf.c:4836 +#: readelf.c:4965 #, c-format msgid " Line Range: %d\n" msgstr "" -#: readelf.c:4837 +#: readelf.c:4966 #, c-format msgid " Opcode Base: %d\n" msgstr "" -#: readelf.c:4846 +#: readelf.c:4975 msgid "" "\n" " Opcodes:\n" msgstr "" -#: readelf.c:4849 +#: readelf.c:4978 #, c-format msgid " Opcode %d has %d args\n" msgstr "" -#: readelf.c:4855 +#: readelf.c:4984 msgid "" "\n" " The Directory Table is empty.\n" msgstr "" -#: readelf.c:4858 +#: readelf.c:4987 msgid "" "\n" " The Directory Table:\n" msgstr "" -#: readelf.c:4862 +#: readelf.c:4991 #, c-format msgid " %s\n" msgstr "" -#: readelf.c:4873 +#: readelf.c:5002 msgid "" "\n" " The File Name Table is empty.\n" msgstr "" -#: readelf.c:4876 +#: readelf.c:5005 msgid "" "\n" " The File Name Table:\n" msgstr "" -#: readelf.c:4884 +#: readelf.c:5013 #, c-format msgid " %d\t" msgstr "" -#: readelf.c:4895 +#: readelf.c:5024 #, c-format msgid "%s\n" msgstr "" #. Now display the statements. -#: readelf.c:4903 +#: readelf.c:5032 msgid "" "\n" " Line Number Statements:\n" msgstr "" -#: readelf.c:4922 +#: readelf.c:5051 msgid " Copy\n" msgstr "" -#: readelf.c:4929 +#: readelf.c:5058 #, c-format msgid " Advance PC by %d to %lx\n" msgstr "" -#: readelf.c:4937 +#: readelf.c:5066 #, c-format msgid " Advance Line by %d to %d\n" msgstr "" -#: readelf.c:4944 +#: readelf.c:5073 #, c-format msgid " Set File Name to entry %d in the File Name Table\n" msgstr "" -#: readelf.c:4952 +#: readelf.c:5081 #, c-format msgid " Set column to %d\n" msgstr "" -#: readelf.c:4959 +#: readelf.c:5088 #, c-format msgid " Set is_stmt to %d\n" msgstr "" -#: readelf.c:4964 +#: readelf.c:5093 msgid " Set basic block\n" msgstr "" -#: readelf.c:4972 +#: readelf.c:5101 #, c-format msgid " Advance PC by constant %d to 0x%lx\n" msgstr "" -#: readelf.c:4980 +#: readelf.c:5109 #, c-format msgid " Advance PC by fixed size amount %d to 0x%lx\n" msgstr "" -#: readelf.c:4988 +#: readelf.c:5117 #, c-format msgid " Special opcode %d: advance Address by %d to 0x%lx" msgstr "" -#: readelf.c:4992 +#: readelf.c:5121 #, c-format msgid " and Line by %d to %d\n" msgstr "" -#: readelf.c:5015 readelf.c:5437 +#: readelf.c:5144 readelf.c:5566 #, c-format msgid "" "Contents of the %s section:\n" "\n" msgstr "" -#: readelf.c:5034 +#: readelf.c:5163 msgid "Only DWARF 2 pubnames are currently supported" msgstr "" -#: readelf.c:5038 +#: readelf.c:5167 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:5040 +#: readelf.c:5169 #, c-format msgid " Version: %d\n" msgstr "" -#: readelf.c:5042 +#: readelf.c:5171 #, c-format msgid " Offset into .debug_info section: %ld\n" msgstr "" -#: readelf.c:5044 +#: readelf.c:5173 #, c-format msgid " Size of area in .debug_info section: %ld\n" msgstr "" -#: readelf.c:5047 +#: readelf.c:5176 msgid "" "\n" " Offset\tName\n" msgstr "" -#: readelf.c:5129 +#: readelf.c:5258 #, c-format msgid "Unknown TAG value: %lx" msgstr "" -#: readelf.c:5224 +#: readelf.c:5353 #, c-format msgid "Unknown AT value: %lx" msgstr "" -#: readelf.c:5261 +#: readelf.c:5390 #, c-format msgid "Unknown FORM value: %lx" msgstr "" -#: readelf.c:5443 +#: readelf.c:5572 msgid " Number TAG\n" msgstr "" -#: readelf.c:5449 +#: readelf.c:5578 #, c-format msgid " %ld %s [%s]\n" msgstr "" -#: readelf.c:5452 +#: readelf.c:5581 msgid "has children" msgstr "" -#: readelf.c:5452 +#: readelf.c:5581 msgid "no children" msgstr "" -#: readelf.c:5456 +#: readelf.c:5585 #, c-format msgid " %-18s %s\n" msgstr "" -#: readelf.c:5475 +#: readelf.c:5604 #, c-format msgid " %lu byte block: " msgstr "" -#: readelf.c:5939 +#: readelf.c:5911 msgid "(User defined location op)" msgstr "" -#: readelf.c:5941 +#: readelf.c:5913 msgid "(Unknown location op)" msgstr "" -#: readelf.c:6058 +#: readelf.c:6040 #, c-format msgid "Unable to handle FORM: %d" msgstr "" -#: readelf.c:6062 +#: readelf.c:6044 #, c-format msgid "Unrecognised form: %d" msgstr "" -#: readelf.c:6075 +#: readelf.c:6057 msgid "(not inlined)" msgstr "" -#: readelf.c:6076 +#: readelf.c:6058 msgid "(inlined)" msgstr "" -#: readelf.c:6077 +#: readelf.c:6059 msgid "(declared as inline but ignored)" msgstr "" -#: readelf.c:6078 +#: readelf.c:6060 msgid "(declared as inline and inlined)" msgstr "" -#: readelf.c:6079 +#: readelf.c:6061 #, c-format msgid " (Unknown inline attribute value: %lx)" msgstr "" -#: readelf.c:6209 readelf.c:6333 +#: readelf.c:6190 readelf.c:6316 #, c-format msgid "" "The section %s contains:\n" "\n" msgstr "" -#: readelf.c:6231 +#: readelf.c:6214 msgid "Only version 2 DWARF debug information is currently supported.\n" msgstr "" -#: readelf.c:6235 +#: readelf.c:6218 msgid " Compilation Unit:\n" msgstr "" -#: readelf.c:6236 +#: readelf.c:6219 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:6237 +#: readelf.c:6220 #, c-format msgid " Version: %d\n" msgstr "" -#: readelf.c:6238 +#: readelf.c:6221 #, c-format msgid " Abbrev Offset: %ld\n" msgstr "" -#: readelf.c:6239 +#: readelf.c:6222 #, c-format msgid " Pointer Size: %d\n" msgstr "" -#: readelf.c:6259 +#: readelf.c:6242 msgid "Unable to locate .debug_abbrev section!\n" msgstr "" -#: readelf.c:6299 +#: readelf.c:6282 #, c-format msgid "Unable to locate entry %lu in the abbreviation table\n" msgstr "" -#: readelf.c:6304 +#: readelf.c:6287 #, c-format msgid " <%d><%x>: Abbrev Number: %lu (%s)\n" msgstr "" -#: readelf.c:6352 +#: readelf.c:6335 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:6353 +#: readelf.c:6336 #, c-format msgid " Version: %d\n" msgstr "" -#: readelf.c:6354 +#: readelf.c:6337 #, c-format msgid " Offset into .debug_info: %lx\n" msgstr "" -#: readelf.c:6355 +#: readelf.c:6338 #, c-format msgid " Pointer Size: %d\n" msgstr "" -#: readelf.c:6356 +#: readelf.c:6339 #, c-format msgid " Segment Size: %d\n" msgstr "" -#: readelf.c:6358 +#: readelf.c:6341 msgid "" "\n" " Address Length\n" msgstr "" -#: readelf.c:6399 +#: readelf.c:6382 #, c-format msgid "Displaying the debug contents of section %s is not yet supported.\n" msgstr "" -#: readelf.c:6461 +#: readelf.c:6444 #, c-format msgid "" "\n" "Section '%s' has no debugging data.\n" msgstr "" -#: readelf.c:6477 +#: readelf.c:6460 #, c-format msgid "Unrecognised debug section: %s\n" msgstr "" -#: readelf.c:6549 +#: readelf.c:6532 msgid "Some sections were not dumped because they do not exist!\n" msgstr "" -#: readelf.c:6728 +#: readelf.c:6715 #, c-format msgid "" "\n" "Section '%s' contains %d entries:\n" msgstr "" -#: readelf.c:6890 +#: readelf.c:6877 msgid "conflict list with without table" msgstr "" -#: readelf.c:6918 +#: readelf.c:6905 #, c-format msgid "" "\n" "Section '.conflict' contains %d entries:\n" msgstr "" -#: readelf.c:6919 +#: readelf.c:6906 msgid " Num: Index Value Name" msgstr "" -#: readelf.c:6944 +#: readelf.c:6931 msgid "NT_PRSTATUS (prstatus structure)" msgstr "" -#: readelf.c:6945 +#: readelf.c:6932 msgid "NT_FPREGSET (floating point registers)" msgstr "" -#: readelf.c:6946 +#: readelf.c:6933 msgid "NT_PRPSINFO (prpsinfo structure)" msgstr "" -#: readelf.c:6947 +#: readelf.c:6934 msgid "NT_TASKSTRUCT (task structure)" msgstr "" -#: readelf.c:6948 +#: readelf.c:6935 msgid "NT_PRXFPREG (user_xfpregs structure)" msgstr "" -#: readelf.c:6949 +#: readelf.c:6936 msgid "NT_PSTATUS (pstatus structure)" msgstr "" -#: readelf.c:6950 +#: readelf.c:6937 msgid "NT_FPREGS (floating point registers)" msgstr "" -#: readelf.c:6951 +#: readelf.c:6938 msgid "NT_PSINFO (psinfo structure)" msgstr "" -#: readelf.c:6952 +#: readelf.c:6939 msgid "NT_LWPSTATUS (lwpstatus_t structure)" msgstr "" -#: readelf.c:6953 +#: readelf.c:6940 msgid "NT_LWPSINFO (lwpsinfo_t structure)" msgstr "" -#: readelf.c:6954 +#: readelf.c:6941 msgid "NT_WIN32PSTATUS (win32_pstatus strcuture)" msgstr "" -#: readelf.c:6956 +#: readelf.c:6943 #, c-format msgid "Unknown note type: (0x%08x)" msgstr "" -#: readelf.c:6994 +#: readelf.c:6981 #, c-format msgid "" "\n" "Notes at offset 0x%08lx with length 0x%08lx:\n" msgstr "" -#: readelf.c:6997 +#: readelf.c:6983 msgid " Owner\t\tData size\tDescription\n" msgstr "" -#: readelf.c:7108 +#: readelf.c:7094 msgid "No note segments present in the core file.\n" msgstr "" -#: readelf.c:7186 +#: readelf.c:7172 msgid "This instance of readelf has been built without support for a\n" msgstr "" -#: readelf.c:7187 +#: readelf.c:7173 msgid "64 bit data type and so it cannot read 64 bit ELF files.\n" msgstr "" -#: readelf.c:7222 +#: readelf.c:7208 #, c-format msgid "Cannot stat input file %s.\n" msgstr "" -#: readelf.c:7229 +#: readelf.c:7215 #, c-format msgid "Input file %s not found.\n" msgstr "" -#: readelf.c:7235 +#: readelf.c:7221 #, c-format msgid "%s: Failed to read file header\n" msgstr "" -#: readelf.c:7249 +#: readelf.c:7235 #, c-format msgid "" "\n" @@ -3328,71 +3588,71 @@ msgstr "" #: rescoff.c:145 #, c-format -msgid "%s: %s: no resource section\n" +msgid "%s: no resource section" msgstr "" -#: rescoff.c:154 +#: rescoff.c:152 msgid "can't read resource section" msgstr "" -#: rescoff.c:180 +#: rescoff.c:178 #, c-format msgid "%s: %s: address out of bounds" msgstr "" -#: rescoff.c:199 +#: rescoff.c:197 msgid "directory" msgstr "" -#: rescoff.c:227 +#: rescoff.c:225 msgid "named directory entry" msgstr "" -#: rescoff.c:236 +#: rescoff.c:234 msgid "directory entry name" msgstr "" -#: rescoff.c:256 +#: rescoff.c:254 msgid "named subdirectory" msgstr "" -#: rescoff.c:264 +#: rescoff.c:262 msgid "named resource" msgstr "" -#: rescoff.c:279 +#: rescoff.c:277 msgid "ID directory entry" msgstr "" -#: rescoff.c:296 +#: rescoff.c:294 msgid "ID subdirectory" msgstr "" -#: rescoff.c:304 +#: rescoff.c:302 msgid "ID resource" msgstr "" -#: rescoff.c:330 +#: rescoff.c:328 msgid "resource type unknown" msgstr "" -#: rescoff.c:333 +#: rescoff.c:331 msgid "data entry" msgstr "" -#: rescoff.c:341 +#: rescoff.c:339 msgid "resource data" msgstr "" -#: rescoff.c:346 +#: rescoff.c:344 msgid "resource data size" msgstr "" -#: rescoff.c:441 +#: rescoff.c:439 msgid "filename required for COFF output" msgstr "" -#: rescoff.c:740 +#: rescoff.c:738 msgid "can't get BFD_RELOC_RVA relocation type" msgstr "" @@ -3411,11 +3671,6 @@ msgstr "" msgid "%s %s: %s" msgstr "" -#: resrc.c:283 -#, c-format -msgid "%s exited with status %d" -msgstr "" - #: resrc.c:308 #, c-format msgid "can't execute `%s': %s" @@ -3445,42 +3700,50 @@ msgstr "" msgid "Using `%s'\n" msgstr "" -#: resrc.c:544 +#: resrc.c:547 #, c-format msgid "%s:%d: %s\n" msgstr "" -#: resrc.c:553 +#: resrc.c:556 #, c-format msgid "%s: unexpected EOF" msgstr "" -#: resrc.c:610 +#: resrc.c:613 #, c-format msgid "%s: read of %lu returned %lu" msgstr "" -#: resrc.c:652 resrc.c:883 resrc.c:1156 resrc.c:1310 +#: resrc.c:655 resrc.c:909 resrc.c:1182 resrc.c:1336 #, c-format msgid "stat failed on bitmap file `%s': %s" msgstr "" -#: resrc.c:705 +#: resrc.c:708 #, c-format msgid "cursor file `%s' does not contain cursor data" msgstr "" -#: resrc.c:737 resrc.c:1027 +#: resrc.c:740 resrc.c:1053 #, c-format msgid "%s: fseek to %lu failed: %s" msgstr "" -#: resrc.c:996 +#: resrc.c:877 +msgid "help ID requires DIALOGEX" +msgstr "" + +#: resrc.c:879 +msgid "control data requires DIALOGEX" +msgstr "" + +#: resrc.c:1022 #, c-format msgid "icon file `%s' does not contain icon data" msgstr "" -#: resrc.c:1515 +#: resrc.c:1541 #, c-format msgid "can't open `%s' for output: %s" msgstr "" @@ -3488,41 +3751,42 @@ msgstr "" #: size.c:79 #, c-format msgid "" -"Usage: %s [-ABdoxV] [--format=berkeley|sysv] [--radix=8|10|16]\n" -" [--target=bfdname] [--version] [--help] [file...]\n" +"Usage: %s [-A | --format=sysv | -B | --format=berkeley]\n" +" [-o | --radix=8 | -d | --radix=10 | -h | --radix=16]\n" +" [-V | --version] [--target=bfdname] [--help] [file...]\n" msgstr "" -#: size.c:83 +#: size.c:85 msgid "default is --format=berkeley\n" msgstr "" -#: size.c:85 +#: size.c:87 msgid "default is --format=sysv\n" msgstr "" -#: size.c:139 +#: size.c:141 #, c-format -msgid "invalid argument to --format: %s\n" +msgid "invalid argument to --format: %s" msgstr "" -#: size.c:166 +#: size.c:168 #, c-format msgid "Invalid radix: %s\n" msgstr "" -#: srconv.c:1879 +#: srconv.c:1880 #, c-format msgid "Usage: %s [-dhVq] in-file [out-file]\n" msgstr "" -#: srconv.c:1886 +#: srconv.c:1887 #, c-format msgid "%s: Convert a COFF object file into a SYSROFF object file\n" msgstr "" -#: srconv.c:2024 +#: srconv.c:2020 #, c-format -msgid "%s: unable to open output file %s\n" +msgid "unable to open output file %s" msgstr "" #: stabs.c:349 stabs.c:1769 @@ -3620,17 +3884,17 @@ msgstr "" msgid "no argument types in mangled string\n" msgstr "" -#: strings.c:159 +#: strings.c:177 #, c-format -msgid "%s: invalid number %s\n" +msgid "invalid number %s" msgstr "" -#: strings.c:494 +#: strings.c:513 #, c-format -msgid "%s: invalid integer argument %s\n" +msgid "invalid integer argument %s" msgstr "" -#: strings.c:505 +#: strings.c:523 #, c-format msgid "" "Usage: %s [-afov] [-n min-len] [-min-len] [-t {o,x,d}] [-]\n" @@ -3643,13 +3907,13 @@ msgstr "" msgid "Usage: %s [-hV] in-file\n" msgstr "" -#: sysdump.c:783 +#: sysdump.c:781 #, c-format -msgid "%s: cannot open input file %s\n" +msgid "cannot open input file %s" msgstr "" #: version.c:39 -msgid "Copyright 1997, 1998, 1999 Free Software Foundation, Inc.\n" +msgid "Copyright 1997, 98, 99, 2000 Free Software Foundation, Inc.\n" msgstr "" #: version.c:40 @@ -3682,7 +3946,7 @@ msgstr "" #: windres.c:602 #, c-format -msgid "%s: unknown format type `%s'\n" +msgid "unknown format type `%s'" msgstr "" #: windres.c:603 @@ -3743,17 +4007,17 @@ msgstr "" msgid "no resources" msgstr "" -#: wrstabs.c:366 wrstabs.c:2028 +#: wrstabs.c:366 wrstabs.c:2027 #, c-format -msgid "string_hash_lookup failed: %s\n" +msgid "string_hash_lookup failed: %s" msgstr "" #: wrstabs.c:666 #, c-format -msgid "stab_int_type: bad size %u\n" +msgid "stab_int_type: bad size %u" msgstr "" -#: wrstabs.c:1468 +#: wrstabs.c:1467 #, c-format -msgid "%s: warning: unknown size for field `%s' in struct\n" +msgid "%s: warning: unknown size for field `%s' in struct" msgstr "" diff --git a/binutils/readelf.c b/binutils/readelf.c index 5856723f364..64207d95e4e 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -5934,6 +5934,9 @@ read_and_display_attr (attribute, form, data, cu_offset, pointer_size) switch (form) { + default: + break; + case DW_FORM_ref_addr: case DW_FORM_addr: uvalue = byte_get (data, pointer_size); diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog index 81fd565ef7a..aec62628135 100644 --- a/binutils/testsuite/ChangeLog +++ b/binutils/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2000-06-18 Stephane Carrez + + * binutils-all/objdump.exp (cpus_expected): Recognize m68hc11 and + m68hc12. + 2000-06-18 Nick Clifton * binutils-all/readelf.wi: Do not assume the compilation tag to be diff --git a/binutils/testsuite/binutils-all/objdump.exp b/binutils/testsuite/binutils-all/objdump.exp index 89040fc2e97..e9e5f0d9211 100644 --- a/binutils/testsuite/binutils-all/objdump.exp +++ b/binutils/testsuite/binutils-all/objdump.exp @@ -33,7 +33,7 @@ send_user "Version [binutil_version $OBJDUMP]" set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -i"] -set cpus_expected "(a29k|alliant|alpha|arc|arm|convex|d10v|d30v|fr30|h8|hppa|i386|i860|i960|m32r|m68k|m88k|MCore|mips|mn10200|mn10300|ns32k|pj|powerpc|pyramid|romp|rs6000|sh|sparc|tahoe|v850|vax|we32k|z8k|z8001|z8002)" +set cpus_expected "(a29k|alliant|alpha|arc|arm|convex|d10v|d30v|fr30|h8|hppa|i386|i860|i960|m32r|m68hc11|m68hc12|m68k|m88k|MCore|mips|mn10200|mn10300|ns32k|pj|powerpc|pyramid|romp|rs6000|sh|sparc|tahoe|v850|vax|we32k|z8k|z8001|z8002)" # Make sure the target CPU shows up in the list. if ![regexp $cpus_expected $target_cpu] { @@ -83,7 +83,14 @@ if ![regexp $want $got all text_name text_size data_name data_size] then { } else { verbose "text name is $text_name size is $text_size" verbose "data name is $data_name size is $data_size" - if {[expr "0x$text_size"] < 8 || [expr "0x$data_size"] < 4} then { + set ets 8 + set eds 4 + # c54x section sizes are in bytes, not octets; adjust accordingly + if [istarget *c54x*-*-*] then { + set ets 4 + set eds 2 + } + if {[expr "0x$text_size"] < $ets || [expr "0x$data_size"] < $eds} then { send_log "sizes too small\n" fail "objdump -h" } else { @@ -126,7 +133,7 @@ if [regexp $want $got] then { set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -s $testfile"] -set want "$testfile:\[ \]*file format.*Contents.*(text|TEXT|\\\$CODE\\\$)\[^0-9\]*\[ \]*\[0-9a-fA-F\]*\[ \]*(00000001|01000000).*Contents.*(data|DATA)\[^0-9\]*\[ \]*\[0-9a-fA-F\]*\[ \]*(00000002|02000000)" +set want "$testfile:\[ \]*file format.*Contents.*(text|TEXT|\\\$CODE\\\$)\[^0-9\]*\[ \]*\[0-9a-fA-F\]*\[ \]*(00000001|01000000|00000100).*Contents.*(data|DATA)\[^0-9\]*\[ \]*\[0-9a-fA-F\]*\[ \]*(00000002|02000000|00000200)" if [regexp $want $got] then { pass "objdump -s" diff --git a/gas/ChangeLog b/gas/ChangeLog index 092f385db71..7f7da644ca5 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,16 @@ +2000-06-18 Stephane Carrez + + * doc/Makefile.am (CPU_DOCS): Added 68hc11 file. + * doc/c-m68hc11.texi: Document 68HC11 and 68HC12 port. + * doc/as.texinfo: Likewise. + + * configure, Makefile.in: Regenerate. + * configure.in (emulations): Recognize m6811 and m6812. + * Makefile.am (CPU_TYPES, TARGET_CPU_CFILES, TARGET_CPU_HFILES): + Added files for 68hc11 and 68hc12 assembler. + * config/tc-m68hc11.c: Assembler for 68hc11 and 68hc12. + * config/tc-m68hc11.h: Header definition for that assembler. + 2000-06-18 Nick Clifton * symbols.c (resolve_symbol_value): Use bfd_octets_per_byte diff --git a/gas/Makefile.am b/gas/Makefile.am index 435a4da2bbe..f1951020d44 100644 --- a/gas/Makefile.am +++ b/gas/Makefile.am @@ -54,6 +54,7 @@ CPU_TYPES = \ i860 \ i960 \ m32r \ + m68hc11 \ m68k \ m88k \ mcore \ @@ -225,6 +226,7 @@ TARGET_CPU_CFILES = \ config/tc-i860.c \ config/tc-i960.c \ config/tc-m32r.c \ + config/tc-m68hc11.c \ config/tc-m68k.c \ config/tc-m88k.c \ config/tc-mcore.c \ @@ -262,6 +264,7 @@ TARGET_CPU_HFILES = \ config/tc-i860.h \ config/tc-i960.h \ config/tc-m32r.h \ + config/tc-m68hc11.h \ config/tc-m68k.h \ config/tc-m88k.h \ config/tc-mcore.h \ @@ -1087,6 +1090,11 @@ DEPTC_m32r_elf = $(INCDIR)/bin-bugs.h $(INCDIR)/progress.h \ $(INCDIR)/symcat.h $(srcdir)/../opcodes/m32r-desc.h \ $(INCDIR)/opcode/cgen.h $(srcdir)/../opcodes/m32r-opc.h \ cgen.h +DEPTC_m68hc11_elf = $(INCDIR)/bin-bugs.h $(INCDIR)/progress.h \ + $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m68hc11.h $(INCDIR)/obstack.h \ + subsegs.h $(INCDIR)/opcode/m68hc11.h DEPTC_m68k_aout = $(INCDIR)/bin-bugs.h $(INCDIR)/progress.h \ $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-m68k.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h emul.h $(INCDIR)/obstack.h \ @@ -1814,6 +1822,9 @@ DEP_m32r_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m32r.h \ DEP_m32r_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m32r.h +DEP_m68hc11_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m68hc11.h DEP_m68k_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-m68k.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_m68k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m68k.h \ diff --git a/gas/Makefile.in b/gas/Makefile.in index ed54b62c111..587a390cf8a 100644 --- a/gas/Makefile.in +++ b/gas/Makefile.in @@ -158,6 +158,7 @@ CPU_TYPES = \ i860 \ i960 \ m32r \ + m68hc11 \ m68k \ m88k \ mcore \ @@ -335,6 +336,7 @@ TARGET_CPU_CFILES = \ config/tc-i860.c \ config/tc-i960.c \ config/tc-m32r.c \ + config/tc-m68hc11.c \ config/tc-m68k.c \ config/tc-m88k.c \ config/tc-mcore.c \ @@ -373,6 +375,7 @@ TARGET_CPU_HFILES = \ config/tc-i860.h \ config/tc-i960.h \ config/tc-m32r.h \ + config/tc-m68hc11.h \ config/tc-m68k.h \ config/tc-m88k.h \ config/tc-mcore.h \ @@ -837,6 +840,12 @@ DEPTC_m32r_elf = $(INCDIR)/bin-bugs.h $(INCDIR)/progress.h \ $(INCDIR)/opcode/cgen.h $(srcdir)/../opcodes/m32r-opc.h \ cgen.h +DEPTC_m68hc11_elf = $(INCDIR)/bin-bugs.h $(INCDIR)/progress.h \ + $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m68hc11.h $(INCDIR)/obstack.h \ + subsegs.h $(INCDIR)/opcode/m68hc11.h + DEPTC_m68k_aout = $(INCDIR)/bin-bugs.h $(INCDIR)/progress.h \ $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-m68k.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h emul.h $(INCDIR)/obstack.h \ @@ -1742,6 +1751,10 @@ DEP_m32r_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m32r.h +DEP_m68hc11_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m68hc11.h + DEP_m68k_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-m68k.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h @@ -1958,7 +1971,7 @@ configure configure.in gdbinit.in itbl-lex.c itbl-parse.c DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = tar +TAR = gtar GZIP_ENV = --best SOURCES = $(itbl_test_SOURCES) $(as_new_SOURCES) $(EXTRA_as_new_SOURCES) $(gasp_new_SOURCES) OBJECTS = $(itbl_test_OBJECTS) $(as_new_OBJECTS) $(gasp_new_OBJECTS) diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c index 3af8c9a8870..1c481a6f5b4 100644 --- a/gas/config/obj-elf.c +++ b/gas/config/obj-elf.c @@ -833,7 +833,7 @@ obj_elf_section (push) char mri_type; #ifdef md_flush_pending_output - md_flush_pending_output (); + md_flush_pending_output (); #endif previous_section = now_seg; diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 395b50f54f9..37fe3d8ad6d 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -145,7 +145,7 @@ const char extra_symbol_chars[] = "*%-("; /* This array holds the chars that always start a comment. If the pre-processor is disabled, these aren't very useful */ -#if defined (TE_I386AIX) || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) && !defined (TE_LINUX) && !defined(TE_FreeBSD)) +#if defined (TE_I386AIX) || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) && ! defined (TE_LINUX) && !defined(TE_FreeBSD)) /* Putting '/' here makes it impossible to use the divide operator. However, we need it for compatibility with SVR4 systems. */ const char comment_chars[] = "#/"; @@ -163,7 +163,7 @@ const char comment_chars[] = "#"; #NO_APP at the beginning of its output. */ /* Also note that comments started like this one will always work if '/' isn't otherwise defined. */ -#if defined (TE_I386AIX) || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) && !defined (TE_LINUX) && !defined(TE_FreeBSD)) +#if defined (TE_I386AIX) || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) && ! defined (TE_LINUX) && !defined(TE_FreeBSD)) const char line_comment_chars[] = ""; #else const char line_comment_chars[] = "/"; @@ -1021,7 +1021,7 @@ reloc (size, pcrel, other) */ int tc_i386_fix_adjustable (fixP) - fixS *fixP; + fixS * fixP; { #if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) || defined (TE_PE) /* Prevent all adjustments to global symbols, or else dynamic diff --git a/gas/config/tc-m32r.c b/gas/config/tc-m32r.c index 7745338b087..bce1209f454 100644 --- a/gas/config/tc-m32r.c +++ b/gas/config/tc-m32r.c @@ -1882,6 +1882,9 @@ m32r_elf_section_change_hook () (void) m32r_fill_insn (0); } +/* Return true if can adjust the reloc to be relative to its section + (such as .data) instead of relative to some symbol. */ + boolean m32r_fix_adjustable (fixP) fixS *fixP; @@ -1901,13 +1904,13 @@ m32r_fix_adjustable (fixP) if (fixP->fx_addsy == NULL) return 1; - + /* Prevent all adjustments to global symbols. */ if (S_IS_EXTERN (fixP->fx_addsy)) return 0; if (S_IS_WEAK (fixP->fx_addsy)) return 0; - + /* We need the symbol name for the VTABLE entries */ if (reloc_type == BFD_RELOC_VTABLE_INHERIT || reloc_type == BFD_RELOC_VTABLE_ENTRY) diff --git a/gas/config/tc-m68hc11.c b/gas/config/tc-m68hc11.c new file mode 100644 index 00000000000..e773420f23a --- /dev/null +++ b/gas/config/tc-m68hc11.c @@ -0,0 +1,2831 @@ +/* tc-m68hc11.c -- Assembler code for the Motorola 68HC11 & 68HC12. + Copyright (C) 1999, 2000 Free Software Foundation. + Written by Stephane Carrez (stcarrez@worldnet.fr) + + 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, or (at your option) + any later version. + + GAS is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + 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. */ + +#include +#include +#include "as.h" +#include "subsegs.h" +#include "opcode/m68hc11.h" +#include "dwarf2dbg.h" + +struct dwarf2_line_info debug_line; + +const char comment_chars[] = ";!"; +const char line_comment_chars[] = "#*"; +const char line_separator_chars[] = ""; + +const char EXP_CHARS[] = "eE"; +const char FLT_CHARS[] = "dD"; + +#define STATE_CONDITIONAL_BRANCH (1) +#define STATE_PC_RELATIVE (2) +#define STATE_INDEXED_OFFSET (3) +#define STATE_XBCC_BRANCH (4) +#define STATE_CONDITIONAL_BRANCH_6812 (5) + +#define STATE_BYTE (0) +#define STATE_BITS5 (0) +#define STATE_WORD (1) +#define STATE_BITS9 (1) +#define STATE_LONG (2) +#define STATE_BITS16 (2) +#define STATE_UNDF (3) /* Symbol undefined in pass1 */ + +/* This macro has no side-effects. */ +#define ENCODE_RELAX(what,length) (((what) << 2) + (length)) + +#define IS_OPCODE(C1,C2) (((C1) & 0x0FF) == ((C2) & 0x0FF)) + +/* This table describes how you change sizes for the various types of variable + size expressions. This version only supports two kinds. */ + +/* The fields are: + How far Forward this mode will reach: + How far Backward this mode will reach: + How many bytes this mode will add to the size of the frag + Which mode to go to if the offset won't fit in this one */ + +relax_typeS md_relax_table[] = { + {1, 1, 0, 0}, /* First entries aren't used */ + {1, 1, 0, 0}, /* For no good reason except */ + {1, 1, 0, 0}, /* that the VAX doesn't either */ + {1, 1, 0, 0}, + + /* Relax for bcc . + These insns are translated into b!cc +3 jmp L. */ + {(127), (-128), 0, ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_WORD)}, + {0, 0, 3, 0}, + {1, 1, 0, 0}, + {1, 1, 0, 0}, + + /* Relax for bsr and bra . + These insns are translated into jsr and jmp. */ + {(127), (-128), 0, ENCODE_RELAX (STATE_PC_RELATIVE, STATE_WORD)}, + {0, 0, 1, 0}, + {1, 1, 0, 0}, + {1, 1, 0, 0}, + + /* Relax for indexed offset: 5-bits, 9-bits, 16-bits. */ + {(15), (-16), 0, ENCODE_RELAX (STATE_INDEXED_OFFSET, STATE_BITS9)}, + {(255), (-256), 1, ENCODE_RELAX (STATE_INDEXED_OFFSET, STATE_BITS16)}, + {0, 0, 1, 0}, + {1, 1, 0, 0}, + + /* Relax for dbeq/ibeq/tbeq r,: + These insns are translated into db!cc +3 jmp L. */ + {(255), (-256), 0, ENCODE_RELAX (STATE_XBCC_BRANCH, STATE_WORD)}, + {0, 0, 3, 0}, + {1, 1, 0, 0}, + {1, 1, 0, 0}, + + /* Relax for bcc on 68HC12. + These insns are translated into lbcc . */ + {(127), (-128), 0, ENCODE_RELAX (STATE_CONDITIONAL_BRANCH_6812, STATE_WORD)}, + {0, 0, 2, 0}, + {1, 1, 0, 0}, + {1, 1, 0, 0}, + +}; + +/* 68HC11 and 68HC12 registers. They are numbered according to the 68HC12. */ +typedef enum register_id +{ + REG_NONE = -1, + REG_A = 0, + REG_B = 1, + REG_CCR = 2, + REG_D = 4, + REG_X = 5, + REG_Y = 6, + REG_SP = 7, + REG_PC = 8 +} register_id; + +typedef struct operand +{ + expressionS exp; + register_id reg1; + register_id reg2; + int mode; +} operand; + +struct m68hc11_opcode_def +{ + long format; + int min_operands; + int max_operands; + int nb_modes; + int used; + struct m68hc11_opcode *opcode; +}; + +static struct m68hc11_opcode_def *m68hc11_opcode_defs = 0; +static int m68hc11_nb_opcode_defs = 0; + +typedef struct alias +{ + const char *name; + const char *alias; +} +alias; + +static alias alias_opcodes[] = { + {"cpd", "cmpd"}, + {"cpx", "cmpx"}, + {"cpy", "cmpy"}, + {0, 0} +}; + +/* local functions */ +static register_id reg_name_search PARAMS ((char *name)); +static register_id register_name PARAMS (()); +static int check_range PARAMS ((long num, int mode)); + +static void print_opcode_list PARAMS ((void)); + +static void get_default_target PARAMS ((void)); +static void print_insn_format PARAMS ((char *name)); +static int get_operand PARAMS ((operand * op, int first, long opmode)); +static void fixup8 PARAMS ((expressionS * oper, int mode, int opmode)); +static void fixup16 PARAMS ((expressionS * oper, int mode, int opmode)); +static struct m68hc11_opcode *find_opcode +PARAMS ( + (struct m68hc11_opcode_def * opc, operand operands[], + int *nb_operands)); +static void build_jump_insn +PARAMS ( + (struct m68hc11_opcode * opcode, operand operands[], int nb_operands, + int optimize)); + +static void build_insn PARAMS ((struct m68hc11_opcode * opcode, + operand operands[], int nb_operands)); + +/* Controls whether relative branches can be turned into long branches. + When the relative offset is too large, the insn are changed: + bra -> jmp + bsr -> jsr + bcc -> b!cc +3 + jmp L + dbcc -> db!cc +3 + jmp L + + Setting the flag forbidds this. */ +static short flag_fixed_branchs = 0; + +/* Force to use long jumps (absolute) instead of relative branches. */ +static short flag_force_long_jumps = 0; + +/* Change the direct addressing mode into an absolute addressing mode + when the insn does not support direct addressing. + For example, "clr *ZD0" is normally not possible and is changed + into "clr ZDO". */ +static short flag_strict_direct_addressing = 1; + +/* When an opcode has invalid operand, print out the syntax of the opcode + to stderr. */ +static short flag_print_insn_syntax = 0; + +/* Dumps the list of instructions with syntax and then exit: + 1 -> Only dumps the list (sorted by name) + 2 -> Generate an example (or test) that can be compiled. */ +static short flag_print_opcodes = 0; + +/* Opcode hash table. */ +static struct hash_control *m68hc11_hash; + +/* Current cpu (either cpu6811 or cpu6812). This is determined automagically + by 'get_default_target' by looking at default BFD vector. This is overriden + with the -m option. */ +static int current_architecture = 0; + +/* Default cpu determined by 'get_default_target'. */ +static const char *default_cpu; + +/* Number of opcodes in the sorted table (filtered by current cpu). */ +static int num_opcodes; + +/* The opcodes sorted by name and filtered by current cpu. */ +static struct m68hc11_opcode *m68hc11_sorted_opcodes; + +/* These are the machine dependent pseudo-ops. These are included so + the assembler can work on the output from the SUN C compiler, which + generates these. */ + +/* This table describes all the machine specific pseudo-ops the assembler + has to support. The fields are: + pseudo-op name without dot + function to call to execute this pseudo-op + Integer arg to pass to the function. */ +const pseudo_typeS md_pseudo_table[] = { + /* The following pseudo-ops are supported for MRI compatibility. */ + {"fcb", cons, 1}, + {"fdb", cons, 2}, + {"fcc", stringer, 1}, + {"rmb", s_space, 0}, + {"file", dwarf2_directive_file, 0}, + {"loc", dwarf2_directive_loc, 0}, + + {0, 0, 0} +}; + + +/* Options and initialization. */ + +CONST char *md_shortopts = "Sm:"; + +struct option md_longopts[] = { +#define OPTION_FORCE_LONG_BRANCH (OPTION_MD_BASE) + {"force-long-branchs", no_argument, NULL, OPTION_FORCE_LONG_BRANCH}, + +#define OPTION_SHORT_BRANCHS (OPTION_MD_BASE + 1) + {"short-branchs", no_argument, NULL, OPTION_SHORT_BRANCHS}, + +#define OPTION_STRICT_DIRECT_MODE (OPTION_MD_BASE + 2) + {"strict-direct-mode", no_argument, NULL, OPTION_STRICT_DIRECT_MODE}, + +#define OPTION_PRINT_INSN_SYNTAX (OPTION_MD_BASE + 3) + {"print-insn-syntax", no_argument, NULL, OPTION_PRINT_INSN_SYNTAX}, + +#define OPTION_PRINT_OPCODES (OPTION_MD_BASE + 4) + {"print-opcodes", no_argument, NULL, OPTION_PRINT_OPCODES}, + +#define OPTION_GENERATE_EXAMPLE (OPTION_MD_BASE + 5) + {"generate-example", no_argument, NULL, OPTION_GENERATE_EXAMPLE}, + + {NULL, no_argument, NULL, 0} +}; +size_t md_longopts_size = sizeof (md_longopts); + +/* Get the target cpu for the assembler. This is based on the configure + options and on the -m68hc11/-m68hc12 option. If no option is specified, + we must get the default. */ +const char * +m68hc11_arch_format () +{ + get_default_target (); + if (current_architecture & cpu6811) + return "elf32-m68hc11"; + else + return "elf32-m68hc12"; +} + +enum bfd_architecture +m68hc11_arch () +{ + get_default_target (); + if (current_architecture & cpu6811) + return bfd_arch_m68hc11; + else + return bfd_arch_m68hc12; +} + +int +m68hc11_mach () +{ + return 0; +} + + +void +md_show_usage (stream) + FILE *stream; +{ + get_default_target (); + fprintf (stream, _("\ +Motorola 68HC11/68HC12 options:\n\ + -m68hc11 | -m68hc12 specify the processor [default %s]\n\ + --force-long-branchs always turn relative branchs into absolute ones\n\ + -S,--short-branchs do not turn relative branchs into absolute ones\n\ + when the offset is out of range\n\ + --strict-direct-mode do not turn the direct mode into extended mode\n\ + when the instruction does not support direct mode\n\ + --print-insn-syntax print the syntax of instruction in case of error\n\ + --print-opcodes print the list of instructions with syntax\n\ + --generate-example generate an example of each instruction\n\ + (used for testing)\n"), default_cpu); + +} + +/* Try to identify the default target based on the BFD library. */ +static void +get_default_target () +{ + const bfd_target *target; + bfd abfd; + + if (current_architecture != 0) + return; + + default_cpu = "unknown"; + target = bfd_find_target (0, &abfd); + if (target && target->name) + { + if (strcmp (target->name, "elf32-m68hc12") == 0) + { + current_architecture = cpu6812; + default_cpu = "m68hc12"; + } + else if (strcmp (target->name, "elf32-m68hc11") == 0) + { + current_architecture = cpu6811; + default_cpu = "m68hc11"; + } + else + { + as_bad (_("Default target `%s' is not supported."), target->name); + } + } +} + +void +m68hc11_print_statistics (file) + FILE *file; +{ + int i; + struct m68hc11_opcode_def *opc; + + hash_print_statistics (file, "opcode table", m68hc11_hash); + + opc = m68hc11_opcode_defs; + if (opc == 0 || m68hc11_nb_opcode_defs == 0) + return; + + /* Dump the opcode statistics table. */ + fprintf (file, _("Name # Modes Min ops Max ops Modes mask # Used\n")); + for (i = 0; i < m68hc11_nb_opcode_defs; i++, opc++) + { + fprintf (file, "%-7.7s %5d %7d %7d 0x%08lx %7d\n", + opc->opcode->name, + opc->nb_modes, + opc->min_operands, opc->max_operands, opc->format, opc->used); + } +} + +int +md_parse_option (c, arg) + int c; + char *arg; +{ + get_default_target (); + switch (c) + { + /* -S means keep external to 2 bits offset rather than 16 bits one. */ + case OPTION_SHORT_BRANCHS: + case 'S': + flag_fixed_branchs = 1; + break; + + case OPTION_FORCE_LONG_BRANCH: + flag_force_long_jumps = 1; + break; + + case OPTION_PRINT_INSN_SYNTAX: + flag_print_insn_syntax = 1; + break; + + case OPTION_PRINT_OPCODES: + flag_print_opcodes = 1; + break; + + case OPTION_STRICT_DIRECT_MODE: + flag_strict_direct_addressing = 0; + break; + + case OPTION_GENERATE_EXAMPLE: + flag_print_opcodes = 2; + break; + + case 'm': + if (strcasecmp (arg, "68hc11") == 0) + current_architecture = cpu6811; + else if (strcasecmp (arg, "68hc12") == 0) + current_architecture = cpu6812; + else + as_bad (_("Option `%s' is not recognized."), arg); + break; + + default: + return 0; + } + + return 1; +} + +symbolS * +md_undefined_symbol (name) + char *name ATTRIBUTE_UNUSED; +{ + return 0; +} + +/* Equal to MAX_PRECISION in atof-ieee.c */ +#define MAX_LITTLENUMS 6 + +/* Turn a string in input_line_pointer into a floating point constant + of type type, and store the appropriate bytes in *litP. The number + of LITTLENUMS emitted is stored in *sizeP . An error message is + returned, or NULL on OK. */ + +char * +md_atof (type, litP, sizeP) + char type; + char *litP; + int *sizeP; +{ + int prec; + LITTLENUM_TYPE words[MAX_LITTLENUMS]; + LITTLENUM_TYPE *wordP; + char *t; + + switch (type) + { + case 'f': + case 'F': + case 's': + case 'S': + prec = 2; + break; + + case 'd': + case 'D': + case 'r': + case 'R': + prec = 4; + break; + + case 'x': + case 'X': + prec = 6; + break; + + case 'p': + case 'P': + prec = 6; + break; + + default: + *sizeP = 0; + return _("Bad call to MD_ATOF()"); + } + t = atof_ieee (input_line_pointer, type, words); + if (t) + input_line_pointer = t; + + *sizeP = prec * sizeof (LITTLENUM_TYPE); + for (wordP = words; prec--;) + { + md_number_to_chars (litP, (long) (*wordP++), sizeof (LITTLENUM_TYPE)); + litP += sizeof (LITTLENUM_TYPE); + } + return 0; +} + +valueT +md_section_align (seg, addr) + asection *seg; + valueT addr; +{ + int align = bfd_get_section_alignment (stdoutput, seg); + return ((addr + (1 << align) - 1) & (-1 << align)); +} + + +static int +cmp_opcode (op1, op2) + struct m68hc11_opcode *op1; + struct m68hc11_opcode *op2; +{ + return strcmp (op1->name, op2->name); +} + +/* Initialize the assembler. Create the opcode hash table + (sorted on the names) with the M6811 opcode table + (from opcode library). */ +void +md_begin () +{ + char *prev_name = ""; + struct m68hc11_opcode *opcodes; + struct m68hc11_opcode_def *opc = 0; + int i, j; + + get_default_target (); + + m68hc11_hash = hash_new (); + + /* Get a writable copy of the opcode table and sort it on the names. */ + opcodes = (struct m68hc11_opcode *) xmalloc (m68hc11_num_opcodes * + sizeof (struct + m68hc11_opcode)); + m68hc11_sorted_opcodes = opcodes; + num_opcodes = 0; + for (i = 0; i < m68hc11_num_opcodes; i++) + { + if (m68hc11_opcodes[i].arch & current_architecture) + { + opcodes[num_opcodes] = m68hc11_opcodes[i]; + if (opcodes[num_opcodes].name[0] == 'b' + && opcodes[num_opcodes].format & M6811_OP_JUMP_REL + && !(opcodes[num_opcodes].format & M6811_OP_BITMASK)) + { + num_opcodes++; + opcodes[num_opcodes] = m68hc11_opcodes[i]; + } + num_opcodes++; + for (j = 0; alias_opcodes[j].name != 0; j++) + if (strcmp (m68hc11_opcodes[i].name, alias_opcodes[j].name) == 0) + { + opcodes[num_opcodes] = m68hc11_opcodes[i]; + opcodes[num_opcodes].name = alias_opcodes[j].alias; + num_opcodes++; + break; + } + } + } + qsort (opcodes, num_opcodes, sizeof (struct m68hc11_opcode), cmp_opcode); + + opc = (struct m68hc11_opcode_def *) + xmalloc (num_opcodes * sizeof (struct m68hc11_opcode_def)); + m68hc11_opcode_defs = opc--; + + /* Insert unique names into hash table. The M6811 instruction set + has several identical opcode names that have different opcodes based + on the operands. This hash table then provides a quick index to + the first opcode with a particular name in the opcode table. */ + for (i = 0; i < num_opcodes; i++, opcodes++) + { + int expect; + + if (strcmp (prev_name, opcodes->name)) + { + prev_name = (char *) opcodes->name; + + opc++; + opc->format = 0; + opc->min_operands = 100; + opc->max_operands = 0; + opc->nb_modes = 0; + opc->opcode = opcodes; + opc->used = 0; + hash_insert (m68hc11_hash, opcodes->name, (char *) opc); + } + opc->nb_modes++; + opc->format |= opcodes->format; + + /* See how many operands this opcode needs. */ + expect = 0; + if (opcodes->format & M6811_OP_MASK) + expect++; + if (opcodes->format & M6811_OP_BITMASK) + expect++; + if (opcodes->format & (M6811_OP_JUMP_REL | M6812_OP_JUMP_REL16)) + expect++; + if (opcodes->format & (M6812_OP_IND16_P2 | M6812_OP_IDX_P2)) + expect++; + + if (expect < opc->min_operands) + opc->min_operands = expect; + if (expect > opc->max_operands) + opc->max_operands = expect; + } + opc++; + m68hc11_nb_opcode_defs = opc - m68hc11_opcode_defs; + + if (flag_print_opcodes) + { + print_opcode_list (); + exit (EXIT_SUCCESS); + } +} + +void +m68hc11_init_after_args () +{ +} + + +/* Builtin help. */ + +/* Return a string that represents the operand format for the instruction. + When example is true, this generates an example of operand. This is used + to give an example and also to generate a test. */ +static char * +print_opcode_format (opcode, example) + struct m68hc11_opcode *opcode; + int example; +{ + static char buf[128]; + int format = opcode->format; + char *p; + + p = buf; + buf[0] = 0; + if (format & M6811_OP_IMM8) + { + if (example) + sprintf (p, "#%d", rand () & 0x0FF); + else + strcpy (p, _("#")); + p = &p[strlen (p)]; + } + + if (format & M6811_OP_IMM16) + { + if (example) + sprintf (p, "#%d", rand () & 0x0FFFF); + else + strcpy (p, _("#")); + p = &p[strlen (p)]; + } + + if (format & M6811_OP_IX) + { + if (example) + sprintf (p, "%d,X", rand () & 0x0FF); + else + strcpy (p, _(",X")); + p = &p[strlen (p)]; + } + + if (format & M6811_OP_IY) + { + if (example) + sprintf (p, "%d,X", rand () & 0x0FF); + else + strcpy (p, _(",X")); + p = &p[strlen (p)]; + } + + if (format & M6812_OP_IDX) + { + if (example) + sprintf (p, "%d,X", rand () & 0x0FF); + else + strcpy (p, "n,r"); + p = &p[strlen (p)]; + } + + if (format & M6811_OP_DIRECT) + { + if (example) + sprintf (p, "*Z%d", rand () & 0x0FF); + else + strcpy (p, _("*")); + p = &p[strlen (p)]; + } + + if (format & M6811_OP_BITMASK) + { + if (buf[0]) + *p++ = ' '; + + if (example) + sprintf (p, "#$%02x", rand () & 0x0FF); + else + strcpy (p, _("#")); + + p = &p[strlen (p)]; + if (format & M6811_OP_JUMP_REL) + *p++ = ' '; + } + + if (format & M6811_OP_IND16) + { + if (example) + sprintf (p, _("symbol%d"), rand () & 0x0FF); + else + strcpy (p, _("")); + + p = &p[strlen (p)]; + } + + if (format & (M6811_OP_JUMP_REL | M6812_OP_JUMP_REL16)) + { + if (example) + { + if (format & M6811_OP_BITMASK) + { + sprintf (p, ".+%d", rand () & 0x7F); + } + else + { + sprintf (p, "L%d", rand () & 0x0FF); + } + } + else + strcpy (p, _("