diff -Nru binutils-2.30.51.20180512/bfd/aout-target.h binutils-2.30.52.20180613/bfd/aout-target.h --- binutils-2.30.51.20180512/bfd/aout-target.h 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/aout-target.h 2018-06-04 21:27:35.000000000 +0200 @@ -512,6 +512,9 @@ #ifndef MY_bfd_define_common_symbol #define MY_bfd_define_common_symbol bfd_generic_define_common_symbol #endif +#ifndef MY_bfd_link_hide_symbol +#define MY_bfd_link_hide_symbol _bfd_generic_link_hide_symbol +#endif #ifndef MY_bfd_define_start_stop #define MY_bfd_define_start_stop bfd_generic_define_start_stop #endif diff -Nru binutils-2.30.51.20180512/bfd/aout-tic30.c binutils-2.30.52.20180613/bfd/aout-tic30.c --- binutils-2.30.51.20180512/bfd/aout-tic30.c 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/aout-tic30.c 2018-06-04 21:27:35.000000000 +0200 @@ -967,6 +967,9 @@ #ifndef MY_bfd_define_common_symbol #define MY_bfd_define_common_symbol bfd_generic_define_common_symbol #endif +#ifndef MY_bfd_link_hide_symbol +#define MY_bfd_link_hide_symbol _bfd_generic_link_hide_symbol +#endif #ifndef MY_bfd_define_start_stop #define MY_bfd_define_start_stop bfd_generic_define_start_stop #endif diff -Nru binutils-2.30.51.20180512/bfd/archures.c binutils-2.30.52.20180613/bfd/archures.c --- binutils-2.30.51.20180512/bfd/archures.c 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/archures.c 2018-06-04 21:27:35.000000000 +0200 @@ -281,6 +281,8 @@ .#define bfd_mach_m6812s 2 . bfd_arch_m9s12x, {* Freescale S12X. *} . bfd_arch_m9s12xg, {* Freescale XGATE. *} +. bfd_arch_s12z, {* Freescale S12Z. *} +.#define bfd_mach_s12z_default 0 . bfd_arch_z8k, {* Zilog Z8000. *} .#define bfd_mach_z8001 1 .#define bfd_mach_z8002 2 @@ -590,6 +592,7 @@ extern const bfd_arch_info_type bfd_m68hc12_arch; extern const bfd_arch_info_type bfd_m9s12x_arch; extern const bfd_arch_info_type bfd_m9s12xg_arch; +extern const bfd_arch_info_type bfd_s12z_arch; extern const bfd_arch_info_type bfd_m68k_arch; extern const bfd_arch_info_type bfd_mcore_arch; extern const bfd_arch_info_type bfd_mep_arch; @@ -679,6 +682,7 @@ &bfd_m68hc12_arch, &bfd_m9s12x_arch, &bfd_m9s12xg_arch, + &bfd_s12z_arch, &bfd_m68k_arch, &bfd_mcore_arch, &bfd_mep_arch, diff -Nru binutils-2.30.51.20180512/bfd/bfd.c binutils-2.30.52.20180613/bfd/bfd.c --- binutils-2.30.51.20180512/bfd/bfd.c 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/bfd.c 2018-06-13 10:31:38.000000000 +0200 @@ -74,8 +74,9 @@ . least-recently-used list of BFDs. *} . struct bfd *lru_prev, *lru_next; . -. {* When a file is closed by the caching routines, BFD retains -. state information on the file here... *} +. {* Track current file position (or current buffer offset for +. in-memory BFDs). When a file is closed by the caching routines, +. BFD retains state information on the file here. *} . ufile_ptr where; . . {* File modified time, if mtime_set is TRUE. *} @@ -1087,14 +1088,6 @@ return arg_count; } -/* This is the default routine to handle BFD error messages. - Like fprintf (stderr, ...), but also handles some extra format specifiers. - - %pA section name from section. For group components, prints group name too. - %pB file name from bfd. For archive components, prints archive too. - - Beware: Only supports a maximum of 9 format arguments. */ - static void error_handler_internal (const char *fmt, va_list ap) { @@ -1156,6 +1149,26 @@ static bfd_error_handler_type _bfd_error_internal = error_handler_internal; +/* +FUNCTION + _bfd_error_handler + +SYNOPSIS + void _bfd_error_handler (const char *fmt, ...) ATTRIBUTE_PRINTF_1; + +DESCRIPTION + This is the default routine to handle BFD error messages. + Like fprintf (stderr, ...), but also handles some extra format + specifiers. + + %pA section name from section. For group components, prints + group name too. + %pB file name from bfd. For archive components, prints + archive too. + + Beware: Only supports a maximum of 9 format arguments. +*/ + void _bfd_error_handler (const char *fmt, ...) { diff -Nru binutils-2.30.51.20180512/bfd/bfd-in2.h binutils-2.30.52.20180613/bfd/bfd-in2.h --- binutils-2.30.51.20180512/bfd/bfd-in2.h 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/bfd-in2.h 2018-06-13 10:31:38.000000000 +0200 @@ -41,6 +41,7 @@ #include "ansidecl.h" #include "symcat.h" +#include "diagnostics.h" #include #include @@ -588,6 +589,8 @@ void bfd_putl64 (bfd_uint64_t, void *); void bfd_putb32 (bfd_vma, void *); void bfd_putl32 (bfd_vma, void *); +void bfd_putb24 (bfd_vma, void *); +void bfd_putl24 (bfd_vma, void *); void bfd_putb16 (bfd_vma, void *); void bfd_putl16 (bfd_vma, void *); @@ -1892,8 +1895,6 @@ asection *bfd_make_section (bfd *, const char *name); -int bfd_get_next_section_id (void); - bfd_boolean bfd_set_section_flags (bfd *abfd, asection *sec, flagword flags); @@ -2151,6 +2152,8 @@ #define bfd_mach_m6812s 2 bfd_arch_m9s12x, /* Freescale S12X. */ bfd_arch_m9s12xg, /* Freescale XGATE. */ + bfd_arch_s12z, /* Freescale S12Z. */ +#define bfd_mach_s12z_default 0 bfd_arch_z8k, /* Zilog Z8000. */ #define bfd_mach_z8001 1 #define bfd_mach_z8002 2 @@ -5255,6 +5258,11 @@ a matching LO8XG part. */ BFD_RELOC_M68HC12_HI8XG, +/* Freescale S12Z reloc. +This is a 15 bit relative address. If the most significant bits are all zero +then it may be truncated to 8 bits. */ + BFD_RELOC_S12Z_15_PCREL, + /* NS CR16C Relocations. */ BFD_RELOC_16C_NUM08, BFD_RELOC_16C_NUM08_C, @@ -6781,8 +6789,9 @@ least-recently-used list of BFDs. */ struct bfd *lru_prev, *lru_next; - /* When a file is closed by the caching routines, BFD retains - state information on the file here... */ + /* Track current file position (or current buffer offset for + in-memory BFDs). When a file is closed by the caching routines, + BFD retains state information on the file here. */ ufile_ptr where; /* File modified time, if mtime_set is TRUE. */ @@ -7104,6 +7113,8 @@ typedef void (*bfd_error_handler_type) (const char *, va_list); +void _bfd_error_handler (const char *fmt, ...) ATTRIBUTE_PRINTF_1; + bfd_error_handler_type bfd_set_error_handler (bfd_error_handler_type); void bfd_set_error_program_name (const char *); @@ -7640,6 +7651,7 @@ NAME##_bfd_discard_group, \ NAME##_section_already_linked, \ NAME##_bfd_define_common_symbol, \ + NAME##_bfd_link_hide_symbol, \ NAME##_bfd_define_start_stop int (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *); @@ -7706,6 +7718,10 @@ bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *); + /* Hide a symbol. */ + void (*_bfd_link_hide_symbol) (bfd *, struct bfd_link_info *, + struct bfd_link_hash_entry *); + /* Define a __start, __stop, .startof. or .sizeof. symbol. */ struct bfd_link_hash_entry * (*_bfd_define_start_stop) (struct bfd_link_info *, const char *, @@ -7789,6 +7805,13 @@ #define bfd_define_common_symbol(output_bfd, info, h) \ BFD_SEND (output_bfd, _bfd_define_common_symbol, (output_bfd, info, h)) +void _bfd_generic_link_hide_symbol + (bfd *output_bfd, struct bfd_link_info *info, + struct bfd_link_hash_entry *h); + +#define bfd_link_hide_symbol(output_bfd, info, h) \ + BFD_SEND (output_bfd, _bfd_link_hide_symbol, (output_bfd, info, h)) + struct bfd_link_hash_entry *bfd_generic_define_start_stop (struct bfd_link_info *info, const char *symbol, asection *sec); diff -Nru binutils-2.30.51.20180512/bfd/bfd-in.h binutils-2.30.52.20180613/bfd/bfd-in.h --- binutils-2.30.51.20180512/bfd/bfd-in.h 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/bfd-in.h 2018-06-04 21:27:35.000000000 +0200 @@ -34,6 +34,7 @@ #include "ansidecl.h" #include "symcat.h" +#include "diagnostics.h" #include #include @@ -581,6 +582,8 @@ void bfd_putl64 (bfd_uint64_t, void *); void bfd_putb32 (bfd_vma, void *); void bfd_putl32 (bfd_vma, void *); +void bfd_putb24 (bfd_vma, void *); +void bfd_putl24 (bfd_vma, void *); void bfd_putb16 (bfd_vma, void *); void bfd_putl16 (bfd_vma, void *); diff -Nru binutils-2.30.51.20180512/bfd/bfdio.c binutils-2.30.52.20180613/bfd/bfdio.c --- binutils-2.30.51.20180512/bfd/bfdio.c 2018-01-05 03:08:28.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/bfdio.c 2018-06-13 10:31:38.000000000 +0200 @@ -176,27 +176,40 @@ bfd_size_type bfd_bread (void *ptr, bfd_size_type size, bfd *abfd) { - size_t nread; + file_ptr nread; + bfd *element_bfd = abfd; + ufile_ptr offset = 0; + + while (abfd->my_archive != NULL + && !bfd_is_thin_archive (abfd->my_archive)) + { + offset += abfd->origin; + abfd = abfd->my_archive; + } /* If this is an archive element, don't read past the end of this element. */ - if (abfd->arelt_data != NULL) + if (element_bfd->arelt_data != NULL) { - bfd_size_type maxbytes = arelt_size (abfd); + bfd_size_type maxbytes = arelt_size (element_bfd); - if (abfd->where + size > maxbytes) + if (abfd->where < offset || abfd->where - offset >= maxbytes) { - if (abfd->where >= maxbytes) - return 0; - size = maxbytes - abfd->where; + bfd_set_error (bfd_error_invalid_operation); + return -1; } + if (abfd->where - offset + size > maxbytes) + size = maxbytes - (abfd->where - offset); } - if (abfd->iovec) - nread = abfd->iovec->bread (abfd, ptr, size); - else - nread = 0; - if (nread != (size_t) -1) + if (abfd->iovec == NULL) + { + bfd_set_error (bfd_error_invalid_operation); + return -1; + } + + nread = abfd->iovec->bread (abfd, ptr, size); + if (nread != -1) abfd->where += nread; return nread; @@ -205,16 +218,22 @@ bfd_size_type bfd_bwrite (const void *ptr, bfd_size_type size, bfd *abfd) { - size_t nwrote; + file_ptr nwrote; - if (abfd->iovec) - nwrote = abfd->iovec->bwrite (abfd, ptr, size); - else - nwrote = 0; + while (abfd->my_archive != NULL + && !bfd_is_thin_archive (abfd->my_archive)) + abfd = abfd->my_archive; - if (nwrote != (size_t) -1) + if (abfd->iovec == NULL) + { + bfd_set_error (bfd_error_invalid_operation); + return -1; + } + + nwrote = abfd->iovec->bwrite (abfd, ptr, size); + if (nwrote != -1) abfd->where += nwrote; - if (nwrote != size) + if ((bfd_size_type) nwrote != size) { #ifdef ENOSPC errno = ENOSPC; @@ -227,33 +246,35 @@ file_ptr bfd_tell (bfd *abfd) { + ufile_ptr offset = 0; file_ptr ptr; - if (abfd->iovec) + while (abfd->my_archive != NULL + && !bfd_is_thin_archive (abfd->my_archive)) { - bfd *parent_bfd = abfd; - ptr = abfd->iovec->btell (abfd); - - while (parent_bfd->my_archive != NULL - && !bfd_is_thin_archive (parent_bfd->my_archive)) - { - ptr -= parent_bfd->origin; - parent_bfd = parent_bfd->my_archive; - } + offset += abfd->origin; + abfd = abfd->my_archive; } - else - ptr = 0; + if (abfd->iovec == NULL) + return 0; + + ptr = abfd->iovec->btell (abfd); abfd->where = ptr; - return ptr; + return ptr - offset; } int bfd_flush (bfd *abfd) { - if (abfd->iovec) - return abfd->iovec->bflush (abfd); - return 0; + while (abfd->my_archive != NULL + && !bfd_is_thin_archive (abfd->my_archive)) + abfd = abfd->my_archive; + + if (abfd->iovec == NULL) + return 0; + + return abfd->iovec->bflush (abfd); } /* Returns 0 for success, negative value for failure (in which case @@ -263,11 +284,17 @@ { int result; - if (abfd->iovec) - result = abfd->iovec->bstat (abfd, statbuf); - else - result = -1; + while (abfd->my_archive != NULL + && !bfd_is_thin_archive (abfd->my_archive)) + abfd = abfd->my_archive; + if (abfd->iovec == NULL) + { + bfd_set_error (bfd_error_invalid_operation); + return -1; + } + + result = abfd->iovec->bstat (abfd, statbuf); if (result < 0) bfd_set_error (bfd_error_system_call); return result; @@ -280,79 +307,48 @@ bfd_seek (bfd *abfd, file_ptr position, int direction) { int result; - file_ptr file_position; - /* For the time being, a BFD may not seek to it's end. The problem - is that we don't easily have a way to recognize the end of an - element in an archive. */ - - BFD_ASSERT (direction == SEEK_SET || direction == SEEK_CUR); - - if (direction == SEEK_CUR && position == 0) - return 0; + ufile_ptr offset = 0; - if (abfd->my_archive == NULL || bfd_is_thin_archive (abfd->my_archive)) + while (abfd->my_archive != NULL + && !bfd_is_thin_archive (abfd->my_archive)) { - if (direction == SEEK_SET && (bfd_vma) position == abfd->where) - return 0; + offset += abfd->origin; + abfd = abfd->my_archive; } - else - { - /* We need something smarter to optimize access to archives. - Currently, anything inside an archive is read via the file - handle for the archive. Which means that a bfd_seek on one - component affects the `current position' in the archive, as - well as in any other component. - It might be sufficient to put a spike through the cache - abstraction, and look to the archive for the file position, - but I think we should try for something cleaner. - - In the meantime, no optimization for archives. */ - } - - file_position = position; - if (direction == SEEK_SET) + if (abfd->iovec == NULL) { - bfd *parent_bfd = abfd; - - while (parent_bfd->my_archive != NULL - && !bfd_is_thin_archive (parent_bfd->my_archive)) - { - file_position += parent_bfd->origin; - parent_bfd = parent_bfd->my_archive; - } + bfd_set_error (bfd_error_invalid_operation); + return -1; } - if (abfd->iovec) - result = abfd->iovec->bseek (abfd, file_position, direction); - else - result = -1; + /* For the time being, a BFD may not seek to it's end. The problem + is that we don't easily have a way to recognize the end of an + element in an archive. */ + BFD_ASSERT (direction == SEEK_SET || direction == SEEK_CUR); + + if (direction != SEEK_CUR) + position += offset; + result = abfd->iovec->bseek (abfd, position, direction); if (result != 0) { - int hold_errno = errno; - - /* Force redetermination of `where' field. */ - bfd_tell (abfd); - /* An EINVAL error probably means that the file offset was absurd. */ - if (hold_errno == EINVAL) + if (errno == EINVAL) bfd_set_error (bfd_error_file_truncated); else - { - bfd_set_error (bfd_error_system_call); - errno = hold_errno; - } + bfd_set_error (bfd_error_system_call); } else { /* Adjust `where' field. */ - if (direction == SEEK_SET) - abfd->where = position; - else + if (direction == SEEK_CUR) abfd->where += position; + else + abfd->where = position; } + return result; } @@ -377,10 +373,7 @@ if (abfd->mtime_set) return abfd->mtime; - if (abfd->iovec == NULL) - return 0; - - if (abfd->iovec->bstat (abfd, &buf) != 0) + if (bfd_stat (abfd, &buf) != 0) return 0; abfd->mtime = buf.st_mtime; /* Save value in case anyone wants it */ @@ -425,10 +418,7 @@ { struct stat buf; - if (abfd->iovec == NULL) - return 0; - - if (abfd->iovec->bstat (abfd, &buf) != 0) + if (bfd_stat (abfd, &buf) != 0) return 0; return buf.st_size; @@ -479,10 +469,18 @@ int prot, int flags, file_ptr offset, void **map_addr, bfd_size_type *map_len) { - void *ret = (void *)-1; + while (abfd->my_archive != NULL + && !bfd_is_thin_archive (abfd->my_archive)) + { + offset += abfd->origin; + abfd = abfd->my_archive; + } if (abfd->iovec == NULL) - return ret; + { + bfd_set_error (bfd_error_invalid_operation); + return (void *) -1; + } return abfd->iovec->bmmap (abfd, addr, len, prot, flags, offset, map_addr, map_len); diff -Nru binutils-2.30.51.20180512/bfd/binary.c binutils-2.30.52.20180613/bfd/binary.c --- binutils-2.30.51.20180512/bfd/binary.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/binary.c 2018-06-04 21:27:35.000000000 +0200 @@ -310,6 +310,7 @@ #define binary_bfd_discard_group bfd_generic_discard_group #define binary_section_already_linked _bfd_generic_section_already_linked #define binary_bfd_define_common_symbol bfd_generic_define_common_symbol +#define binary_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define binary_bfd_define_start_stop bfd_generic_define_start_stop #define binary_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define binary_bfd_link_just_syms _bfd_generic_link_just_syms diff -Nru binutils-2.30.51.20180512/bfd/cache.c binutils-2.30.52.20180613/bfd/cache.c --- binutils-2.30.51.20180512/bfd/cache.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/cache.c 2018-06-13 10:31:38.000000000 +0200 @@ -237,13 +237,12 @@ static FILE * bfd_cache_lookup_worker (bfd *abfd, enum cache_flag flag) { - bfd *orig_bfd = abfd; if ((abfd->flags & BFD_IN_MEMORY) != 0) abort (); - while (abfd->my_archive != NULL - && !bfd_is_thin_archive (abfd->my_archive)) - abfd = abfd->my_archive; + if (abfd->my_archive != NULL + && !bfd_is_thin_archive (abfd->my_archive)) + abort (); if (abfd->iostream != NULL) { @@ -271,7 +270,7 @@ /* xgettext:c-format */ _bfd_error_handler (_("reopening %pB: %s\n"), - orig_bfd, bfd_errmsg (bfd_get_error ())); + abfd, bfd_errmsg (bfd_get_error ())); return NULL; } @@ -301,25 +300,9 @@ first octet in the file, NOT the beginning of the archive header. */ static file_ptr -cache_bread_1 (struct bfd *abfd, void *buf, file_ptr nbytes) +cache_bread_1 (FILE *f, void *buf, file_ptr nbytes) { - FILE *f; file_ptr nread; - /* FIXME - this looks like an optimization, but it's really to cover - up for a feature of some OSs (not solaris - sigh) that - ld/pe-dll.c takes advantage of (apparently) when it creates BFDs - internally and tries to link against them. BFD seems to be smart - enough to realize there are no symbol records in the "file" that - doesn't exist but attempts to read them anyway. On Solaris, - attempting to read zero bytes from a NULL file results in a core - dump, but on other platforms it just returns zero bytes read. - This makes it to something reasonable. - DJ */ - if (nbytes == 0) - return 0; - - f = bfd_cache_lookup (abfd, CACHE_NORMAL); - if (f == NULL) - return 0; #if defined (__VAX) && defined (VMS) /* Apparently fread on Vax VMS does not keep the record length @@ -355,6 +338,11 @@ cache_bread (struct bfd *abfd, void *buf, file_ptr nbytes) { file_ptr nread = 0; + FILE *f; + + f = bfd_cache_lookup (abfd, CACHE_NORMAL); + if (f == NULL) + return -1; /* Some filesystems are unable to handle reads that are too large (for instance, NetApp shares with oplocks turned off). To avoid @@ -368,7 +356,7 @@ if (chunk_size > max_chunk_size) chunk_size = max_chunk_size; - chunk_nread = cache_bread_1 (abfd, (char *) buf + nread, chunk_size); + chunk_nread = cache_bread_1 (f, (char *) buf + nread, chunk_size); /* Update the nread count. @@ -389,14 +377,14 @@ } static file_ptr -cache_bwrite (struct bfd *abfd, const void *where, file_ptr nbytes) +cache_bwrite (struct bfd *abfd, const void *from, file_ptr nbytes) { file_ptr nwrite; FILE *f = bfd_cache_lookup (abfd, CACHE_NORMAL); if (f == NULL) return 0; - nwrite = fwrite (where, 1, nbytes, f); + nwrite = fwrite (from, 1, nbytes, f); if (nwrite < nbytes && ferror (f)) { bfd_set_error (bfd_error_system_call); @@ -468,11 +456,6 @@ if (pagesize_m1 == 0) pagesize_m1 = getpagesize () - 1; - /* Handle archive members. */ - if (abfd->my_archive != NULL - && !bfd_is_thin_archive (abfd->my_archive)) - offset += abfd->origin; - /* Align. */ pg_offset = offset & ~pagesize_m1; pg_len = (len + (offset - pg_offset) + pagesize_m1) & ~pagesize_m1; diff -Nru binutils-2.30.51.20180512/bfd/ChangeLog binutils-2.30.52.20180613/bfd/ChangeLog --- binutils-2.30.51.20180512/bfd/ChangeLog 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/ChangeLog 2018-06-13 10:31:38.000000000 +0200 @@ -1,3 +1,391 @@ +2018-06-08 H.J. Lu + + PR ld/23161 + * elfxx-x86.c (elf_x86_hide_linker_defined): New function. + (_bfd_x86_elf_link_check_relocs): Use it to hide hidden + __bss_start, _end and _edata in shared libraries. + +2018-06-07 Alan Modra + + * elf32-tic6x.c (elf32_tic6x_check_relocs): Reference + __c6xabi_DSBT_BASE explicitly for R_C6000_SBR_* relocs. + +2018-06-05 Alan Modra + + * bfd.c (struct bfd): Update comment on "where" usage. + * bfdio.c (bfd_bwrite, bfd_stat): Use and update "iovec", + "iostream", and "where" from containing archive file. Return + error on NULL iovec. + (bfd_bread): Similarly, and return error attempted out of + bounds archive element access. + (bfd_tell, bfd_flush): Use and update "iovec", "iostream", and + "where" from containing archive file. + (bfd_seek): Likewise. Return error on NULL iovec. Don't + attempt to optimize away seeks. Don't paper over errors by + calling bfd_tell. + (bfd_get_mtime): Call bfd_stat rather than iovec->bstat. + (bfd_get_size): Likewise. + (bfd_mmap): Operate on and use iovec of containing archive + file. Return error on NULL iovec. + * cache.c (bfd_cache_lookup_worker): Abort if working on + archive element bfd. + (cache_bread_1): Delete bfd parameter, add FILE* parameter. + Don't ignore zero byte reads. + (cache_bread): Look up FILE* in cache here. Error on NULL + lookup. + (cache_bwrite): Rename "where" to "from". + (cache_bmmap): Don't handle archive elements. + * coffcode.h (coff_slurp_line_table): Exit early on zero + lineno count. + * bfd-in2.h: Regenerate. + +2018-06-05 Alan Modra + + PR 23254 + * plugin.c (bfd_plugin_open_input): Allow for possibility of + nested archives. Open file again for plugin. + (try_claim): Don't save and restore file position. Close file + if not claimed. + * sysdep.h (O_BINARY): Define. + +2018-06-04 Max Filippov + + * elf32-xtensa.c (xtensa_read_table_entries): Make global. + (compute_fill_extra_space): Drop declaration. Rename function to + xtensa_compute_fill_extra_space. + (compute_ebb_actions, remove_dead_literal): Update references to + compute_fill_extra_space. + +2018-06-04 Volodymyr Arbatov + + * elf32-xtensa.c (elf32xtensa_separate_props): New global + variable. + (xtensa_add_names): New function. + (xtensa_property_section_name): Add new parameter + separate_sections, use it to choose property section name. + (xtensa_get_separate_property_section): New function. + (xtensa_get_property_section): Invoke + xtensa_get_separate_property_section to get individual property + section if it exists, common property section otherwise. + (xtensa_make_property_section): Pass elf32xtensa_separate_props + to xtensa_property_section_name. + +2018-06-04 H.J. Lu + + PR binutils/23146 + * bfd-in.h: Include "diagnostics.h". + * bfd-in2.h: Regenerated. + * elf32-arm.c (elf32_arm_nabi_write_core_note): Use + DIAGNOSTIC_PUSH, DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION and + DIAGNOSTIC_POP to silence GCC 8.1 warnings with + -Wstringop-truncation. + * elf32-ppc.c (ppc_elf_write_core_note): Likewse. + * elf32-s390.c (elf_s390_write_core_note): Likewse. + * elf64-ppc.c (ppc64_elf_write_core_note): Likewse. + * elf64-s390.c (elf_s390_write_core_note): Likewse. + * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewse. + +2018-06-03 Jim Wilson + + PR ld/23244 + * elfnn-riscv.c (riscv_elf_relocate_section) : Check + for and handle an undefined weak with no PLT. + + PR ld/22756 + * elfnn-riscv.c (riscv_relax_delete_bytes): Add versioned_hidden check + to code that ignores duplicate symbols. + +2018-06-01 H.J. Lu + + * version.m4: Bump version to 2.30.52 + * configure: Regenerated. + +2018-06-01 Alan Modra + + * bfd.c (_bfd_error_handler): Arrange for this function to be + declared in bfd-in2.h. + * libbfd-in.h (_bfd_error_handler): Don't declare. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2018-05-30 Amaan Cheval + + * config.bfd (x86_64-*-*): Add pei-x86-64 target to x86_64-*-rtems* + This is needed to generate UEFI application image files from ELFs. + +2018-05-28 H.J. Lu + + * elf32-i386.c (elf_i386_lazy_plt): Add plt_tlsdesc_entry, + plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset, + plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and + plt_tlsdesc_got2_insn_end for TLSDESC entry. + (elf_i386_lazy_ibt_plt): Likewise. + (elf_i386_nacl_plt): Likewise. + * elf64-x86-64.c (tlsdesc_plt_entry): Moved and renamed to ... + (elf_x86_64_tlsdesc_plt_entry): This. + (elf_x86_64_lazy_plt): Add plt_tlsdesc_entry, + plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset, + plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and + plt_tlsdesc_got2_insn_end for TLSDESC entry. + (elf_x86_64_lazy_bnd_plt): Likewise. + (elf_x86_64_lazy_ibt_plt): Likewise. + (elf_x32_lazy_ibt_plt): Likewise. + (elf_x86_64_nacl_plt): Likewise. + (elf_x86_64_finish_dynamic_sections): Use plt_tlsdesc_entry, + plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset, + plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and + plt_tlsdesc_got2_insn_end to update TLSDESC entry. + * elfxx-x86.h (elf_x86_lazy_plt_layout): Update comments. + Add plt_tlsdesc_entry, plt_tlsdesc_entry_size, + plt_tlsdesc_got1_offset, plt_tlsdesc_got2_offset, + plt_tlsdesc_got1_insn_end and plt_tlsdesc_got2_insn_end. + (elf_x86_non_lazy_plt_layout): Update comments. + (elf_x86_plt_layout): Likewise. + +2018-05-28 H.J. Lu + + PR ld/23238 + * elf-s390-common.c (elf_s390_add_symbol_hook): Removed. + * elf32-arc.c (elf_arc_add_symbol_hook): Likewise. + (elf_backend_add_symbol_hook): Likewise. + * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise. + (elf_backend_add_symbol_hook): Likewise. + * elf32-s390.c (elf_backend_add_symbol_hook): Likewise. + * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. + (elf_backend_add_symbol_hook): Likewise. + * elf64-s390.c (elf_backend_add_symbol_hook): Likewise. + * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise. + * elfxx-aarch64.h (_bfd_aarch64_elf_add_symbol_hook): Likewise. + (elf_backend_add_symbol_hook): Likewise. + * elf32-arm.c (elf32_arm_add_symbol_hook): Remove STT_GNU_IFUNC + handling. + * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. + * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. + * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. + * elflink.c (elf_link_add_object_symbols): Set + elf_gnu_symbol_ifunc for STT_GNU_IFUNC symbols. + +2018-05-26 H.J. Lu + + PR ld/23194 + * elf-bfd.h (_bfd_elf_link_hide_sym_by_version): New. + * elflink.c (_bfd_elf_link_hide_versioned_symbol): New function. + Extracted from _bfd_elf_link_assign_sym_version. + (_bfd_elf_link_hide_sym_by_version): New function. + (_bfd_elf_link_assign_sym_version): Use + _bfd_elf_link_hide_versioned_symbol. + * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Call + _bfd_elf_link_hide_sym_by_version instead of + bfd_hide_sym_by_version. Don't check unversioned symbol. + +2018-05-25 Alan Modra + + * Makefile.in: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2018-05-25 Alan Modra + + * configure.ac (bfd_cv_hidden): Run test with -Werror in CFLAGS. + * configure: Regenerate. + +2018-05-23 H.J. Lu + + * elf64-ppc.c (ppc64_elf_write_core_note): Add ATTRIBUTE_NONSTRING + to data. + +2018-05-22 Alan Modra + + PR 23207 + * elf32-hppa.c (hppa_get_stub_entry): Return NULL when link_sec + is NULL. + (elf32_hppa_size_stubs): Only create stubs for load, alloc, code + sections. + (final_link_relocate): Revert last change. + +2018-05-22 Alan Modra + + PR 23207 + * elf32-hppa.c (final_link_relocate): Don't look for plt call + stubs in non-alloc sections. + +2018-05-21 H.J. Lu + + PR ld/23201 + * aout-target.h (MY_bfd_link_hide_symbol): New. + * aout-tic30.c (MY_bfd_link_hide_symbol): Likewise. + * binary.c (binary_bfd_link_hide_symbol): Likewise. + * coff-alpha.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise. + * coff-mips.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise. + * coff-rs6000.c (_bfd_xcoff_bfd_link_hide_symbol): Likewise. + * coffcode.h (coff_bfd_link_hide_symbol): Likewise. + * elf-bfd.h (_bfd_elf_link_hide_symbol): Likewise. + * elfxx-target.h (bfd_elfNN_bfd_link_hide_symbol): Likewise. + * i386msdos.c (msdos_bfd_link_hide_symbol): Likewise. + * ihex.c (ihex_bfd_link_hide_symbol): Likewise. + * libbfd-in.h (_bfd_nolink_bfd_link_hide_symbol): Likewise. + * linker.c (_bfd_generic_link_hide_symbol): Likewise. + (bfd_link_hide_symbol): Likewise. + * mach-o-target.c (bfd_mach_o_bfd_link_hide_symbol): Likewise. + * mmo.c (mmo_bfd_link_hide_symbol): Likewise. + * pef.c (bfd_pef_bfd_link_hide_symbol): Likewise. + * plugin.c (bfd_plugin_bfd_link_hide_symbol): Likewise. + * ppcboot.c (ppcboot_bfd_link_hide_symbol): Likewise. + * som.c (som_bfd_link_hide_symbol): Likewise. + * srec.c (srec_bfd_link_hide_symbol): Likewise. + * tekhex.c (tekhex_bfd_link_hide_symbol): Likewise. + * vms-alpha.c (vms_bfd_link_hide_symbol): Likewise. + (alpha_vms_bfd_link_hide_symbol): Likewise. + * xsym.c (bfd_sym_bfd_link_hide_symbol): Likewise. + * coff64-rs6000.c (rs6000_xcoff64_vec): Add + _bfd_generic_link_hide_symbol. + (rs6000_xcoff64_aix_vec): Likewise. + * elflink.c (bfd_elf_record_link_assignment): Don't make forced + local symbol dynamic. + (_bfd_elf_link_hide_symbol): New function. + * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't + check root.ldscript_def. + * targets.c (bfd_target): Add _bfd_link_hide_symbol. + (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_link_hide_symbol. + * bfd-in2.h: Regenerated. + * libbfd.h: Likewise. + +2018-05-21 H.J. Lu + + PR binutils/23199 + * elf.c (setup_group): Mark section in a section group with + SHF_GROUP. + +2018-05-18 H.J. Lu + + PR ld/23194 + * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't + set eh->local_ref to 1 if a symbol is versioned and there is a + version script. + +2018-05-18 Kito Cheng + + * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Handle + EF_RISCV_RVE. + +2018-05-18 Jim Wilson + + * elfnn-riscv.c (allocate_dynrelocs): Discard dynamic relocations if + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (riscv_elf_relocate_section): Don't generate dynamic relocation if + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (riscv_elf_finish_dynamic_symbol): Likewise. + +2018-05-18 John Darrington + + * Makefile.am: Add s12z files. + * Makefile.in: Regenerate. + * archures.c: Add bfd_s12z_arch. + * bfd-in.h: Add exports of bfd_putb24 and bfd_putl24. + * bfd-in2.h: Regenerate. + * config.bfd: Add s12z target. + * configure.ac: Add s12z target. + * configure: Regenerate. + * cpu-s12z.c: New file. + * elf32-s12z.c: New file. + * libbfd.c (bfd_putb24): New function. + (bfd_putl24): New function. + * libbfd.h: Regenerate. + * reloc.c: Add s12z relocations. + (bfd_get_reloc_size): Handle size 5 relocs. + * targets.c: Add s12z_elf32_vec. + +2018-05-18 H.J. Lu + + PR ld/23189 + * elf32-i386.c (elf_i386_relocate_section): Handle R_386_GOT32X + like R_386_GOT32. + * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't + set eh->local_ref to 1 for linker defined symbols. + +2018-05-18 Alan Modra + + PR 23199 + * elf.c (setup_group): Formatting. Check that SHT_GROUP entries + don't point at other SHT_GROUP sections. Set shdr corresponding + to invalid entry, to NULL rather than section 0. Identify + SHT_GROUP section index when reporting an error. Cope with NULL + shdr pointer. + +2018-05-18 Alan Modra + + * libbfd-in.h (ATTRIBUTE_HIDDEN): Define and use throughout. + * configure.ac (HAVE_HIDDEN): Check compiler support for hidden + visibility. + * libbfd.h: Regenerate. + * configure: Regenerate. + * config.in: Regenerate. + +2018-05-18 Alan Modra + + * libbfd-in.h: Add include guard. + * libcoff-in.h: Likewise. + * doc/Makefile.am (libbfd.h, libcoff.h): Append another #endif. + * doc/Makefile.in: Regenerate. + * libbfd.h: Regenerate. + * libcoff.h: Regenerate. + +2018-05-16 Maciej W. Rozycki + + * elf32-nds32.c (nds32_convert_32_to_16): Preset `insn_type'. + +2018-05-16 Alan Modra + + PR 22458 + * format.c (struct bfd_preserve): Add section_id. + (bfd_preserve_save, bfd_preserve_restore): Save and restore + _bfd_section_id. + (bfd_reinit): Set _bfd_section_id. + (bfd_check_format_matches): Put all matches of any priority into + matching_vector. Save initial section id and start each attempted + match at that section id. + * libbfd-in.h (_bfd_section_id): Declare. + * section.c (_bfd_section_id): Rename from section_id and make + global. Adjust uses. + (bfd_get_next_section_id): Delete. + * elf64-ppc.c (ppc64_elf_setup_section_lists): Replace use of + bfd_get_section_id with _bfd_section_id. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2018-05-15 Christophe Guillon + + * coffcode.h (coff_bigobj_swap_aux_in): Make sure that all fields + of the aux structure are initialised. + +2018-05-15 Francois H. Theron + + * targets.c: Wrap nfp_elf64_vec in BFD64 ifdef. + +2018-05-15 Nick Clifton + + * po/pt.po: New Portuguese translation. + * configure.ac (ALL_LINGUAS): Add pt. + * configure: Regenerate. + +2018-05-14 H.J. Lu + + PR ld/23169 + * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Don't issue + an error on IFUNC pointer defined in PDE. + * elf32-i386.c (elf_i386_finish_dynamic_symbol): Call + _bfd_x86_elf_link_fixup_ifunc_symbol. + * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise. + * elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): New + function. + * elfxx-x86.h (_bfd_x86_elf_link_fixup_ifunc_symbol): New. + +2018-05-14 H.J. Lu + + PR ld/23162 + * elfxx-x86.c (elf_x86_linker_defined): New function. + (_bfd_x86_elf_link_check_relocs): Use it to mark __bss_start, + _end and _edata locally defined within executables. + 2018-05-12 Alan Modra PR 20659 diff -Nru binutils-2.30.51.20180512/bfd/coff64-rs6000.c binutils-2.30.52.20180613/bfd/coff64-rs6000.c --- binutils-2.30.51.20180512/bfd/coff64-rs6000.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/coff64-rs6000.c 2018-06-04 21:27:35.000000000 +0200 @@ -2786,6 +2786,7 @@ bfd_generic_discard_group, _bfd_generic_section_already_linked, _bfd_xcoff_define_common_symbol, + _bfd_generic_link_hide_symbol, bfd_generic_define_start_stop, /* Dynamic */ @@ -3047,6 +3048,7 @@ bfd_generic_discard_group, _bfd_generic_section_already_linked, _bfd_xcoff_define_common_symbol, + _bfd_generic_link_hide_symbol, bfd_generic_define_start_stop, /* Dynamic */ diff -Nru binutils-2.30.51.20180512/bfd/coff-alpha.c binutils-2.30.52.20180613/bfd/coff-alpha.c --- binutils-2.30.51.20180512/bfd/coff-alpha.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/coff-alpha.c 2018-06-04 21:27:35.000000000 +0200 @@ -2394,6 +2394,7 @@ #define _bfd_ecoff_section_already_linked \ _bfd_coff_section_already_linked #define _bfd_ecoff_bfd_define_common_symbol bfd_generic_define_common_symbol +#define _bfd_ecoff_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define _bfd_ecoff_bfd_define_start_stop bfd_generic_define_start_stop #define _bfd_ecoff_bfd_link_check_relocs _bfd_generic_link_check_relocs diff -Nru binutils-2.30.51.20180512/bfd/coffcode.h binutils-2.30.52.20180613/bfd/coffcode.h --- binutils-2.30.51.20180512/bfd/coffcode.h 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/coffcode.h 2018-06-13 10:31:38.000000000 +0200 @@ -4265,6 +4265,9 @@ bfd_boolean have_func; bfd_boolean ret = TRUE; + if (asect->lineno_count == 0) + return TRUE; + BFD_ASSERT (asect->lineno == NULL); if (asect->lineno_count > asect->size) @@ -5528,6 +5531,9 @@ AUXENT_BIGOBJ *ext = (AUXENT_BIGOBJ *) ext1; union internal_auxent *in = (union internal_auxent *) in1; + /* Make sure that all fields in the aux structure are + initialised. */ + memset (in, 0, sizeof * in); switch (in_class) { case C_FILE: @@ -5746,6 +5752,10 @@ #define coff_bfd_define_common_symbol bfd_generic_define_common_symbol #endif +#ifndef coff_bfd_link_hide_symbol +#define coff_bfd_link_hide_symbol _bfd_generic_link_hide_symbol +#endif + #ifndef coff_bfd_define_start_stop #define coff_bfd_define_start_stop bfd_generic_define_start_stop #endif diff -Nru binutils-2.30.51.20180512/bfd/coff-mips.c binutils-2.30.52.20180613/bfd/coff-mips.c --- binutils-2.30.51.20180512/bfd/coff-mips.c 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/coff-mips.c 2018-06-04 21:27:35.000000000 +0200 @@ -1420,6 +1420,7 @@ #define _bfd_ecoff_section_already_linked \ _bfd_coff_section_already_linked #define _bfd_ecoff_bfd_define_common_symbol bfd_generic_define_common_symbol +#define _bfd_ecoff_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define _bfd_ecoff_bfd_define_start_stop bfd_generic_define_start_stop #define _bfd_ecoff_set_reloc _bfd_generic_set_reloc diff -Nru binutils-2.30.51.20180512/bfd/coff-rs6000.c binutils-2.30.52.20180613/bfd/coff-rs6000.c --- binutils-2.30.51.20180512/bfd/coff-rs6000.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/coff-rs6000.c 2018-06-04 21:27:35.000000000 +0200 @@ -4045,6 +4045,7 @@ #define _bfd_xcoff_bfd_discard_group bfd_generic_discard_group #define _bfd_xcoff_section_already_linked _bfd_generic_section_already_linked #define _bfd_xcoff_bfd_define_common_symbol _bfd_xcoff_define_common_symbol +#define _bfd_xcoff_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define _bfd_xcoff_bfd_define_start_stop bfd_generic_define_start_stop #define _bfd_xcoff_bfd_link_check_relocs _bfd_generic_link_check_relocs diff -Nru binutils-2.30.51.20180512/bfd/config.bfd binutils-2.30.52.20180613/bfd/config.bfd --- binutils-2.30.51.20180512/bfd/config.bfd 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/config.bfd 2018-06-04 21:27:35.000000000 +0200 @@ -179,6 +179,7 @@ m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;; m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;; m68*) targ_archs=bfd_m68k_arch ;; +s12z*) targ_archs=bfd_s12z_arch ;; microblaze*) targ_archs=bfd_microblaze_arch ;; mips*) targ_archs=bfd_mips_arch ;; nds32*) targ_archs=bfd_nds32_arch ;; @@ -664,6 +665,10 @@ x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia) targ_defvec=x86_64_elf64_vec targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec" + case "${targ}" in + x86_64-*-rtems*) + targ_selvecs="${targ_selvecs} x86_64_pei_vec" + esac want64=true ;; x86_64-*-dragonfly*) @@ -814,6 +819,9 @@ targ_defvec=m68k_elf32_vec ;; + s12z-*-*) + targ_defvec=s12z_elf32_vec + ;; mcore-*-elf) targ_defvec=mcore_elf32_be_vec targ_selvecs="mcore_elf32_be_vec mcore_elf32_le_vec" diff -Nru binutils-2.30.51.20180512/bfd/config.in binutils-2.30.52.20180613/bfd/config.in --- binutils-2.30.51.20180512/bfd/config.in 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/config.in 2018-06-04 21:27:35.000000000 +0200 @@ -134,6 +134,9 @@ /* Define to 1 if you have the `getuid' function. */ #undef HAVE_GETUID +/* Define if your compiler supports hidden visibility. */ +#undef HAVE_HIDDEN + /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H diff -Nru binutils-2.30.51.20180512/bfd/configure binutils-2.30.52.20180613/bfd/configure --- binutils-2.30.51.20180512/bfd/configure 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/configure 2018-06-04 21:27:35.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for bfd 2.30.51. +# Generated by GNU Autoconf 2.64 for bfd 2.30.52. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software @@ -556,8 +556,8 @@ # Identity of this package. PACKAGE_NAME='bfd' PACKAGE_TARNAME='bfd' -PACKAGE_VERSION='2.30.51' -PACKAGE_STRING='bfd 2.30.51' +PACKAGE_VERSION='2.30.52' +PACKAGE_STRING='bfd 2.30.52' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1355,7 +1355,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures bfd 2.30.51 to adapt to many kinds of systems. +\`configure' configures bfd 2.30.52 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1426,7 +1426,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of bfd 2.30.51:";; + short | recursive ) echo "Configuration of bfd 2.30.52:";; esac cat <<\_ACEOF @@ -1548,7 +1548,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -bfd configure 2.30.51 +bfd configure 2.30.52 generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2190,7 +2190,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by bfd $as_me 2.30.51, which was +It was created by bfd $as_me 2.30.52, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -3999,7 +3999,7 @@ # Define the identity of the package. PACKAGE='bfd' - VERSION='2.30.51' + VERSION='2.30.52' cat >>confdefs.h <<_ACEOF @@ -12524,7 +12524,7 @@ # host stuff: -ALL_LINGUAS="da es fi fr hr id ja ro ru rw sr sv tr uk vi zh_CN" +ALL_LINGUAS="da es fi fr hr id ja ro ru rw sr sv tr uk vi zh_CN pt" # If we haven't got the data from the intl directory, # assume NLS is disabled. USE_NLS=no @@ -14043,6 +14043,42 @@ +save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -Werror" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking compiler support for hidden visibility" >&5 +$as_echo_n "checking compiler support for hidden visibility... " >&6; } +if test "${bfd_cv_hidden+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +const char hw[] __attribute__ ((__visibility__ ("hidden"))) = "Hello, World\n"; +extern void print (const char *) __attribute__ ((__visibility__ ("hidden"))); +int +main () +{ +print (hw); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + bfd_cv_hidden=yes +else + bfd_cv_hidden=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_hidden" >&5 +$as_echo "$bfd_cv_hidden" >&6; } +CFLAGS="$save_CFLAGS" +if test $bfd_cv_hidden = yes; then + +$as_echo "#define HAVE_HIDDEN 1" >>confdefs.h + +fi + # Check if linker supports --as-needed and --no-as-needed options { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker --as-needed support" >&5 $as_echo_n "checking linker --as-needed support... " >&6; } @@ -14432,6 +14468,7 @@ m68hc11_elf32_vec) tb="$tb elf32-m68hc11.lo elf32-m68hc1x.lo elf32.lo $elf" ;; m68hc12_elf32_vec) tb="$tb elf32-m68hc12.lo elf32-m68hc1x.lo elf32.lo $elf" ;; m68k_elf32_vec) tb="$tb elf32-m68k.lo elf32.lo $elf" ;; + s12z_elf32_vec) tb="$tb elf32-s12z.lo elf32.lo $elf" ;; mach_o_be_vec) tb="$tb mach-o.lo dwarf2.lo" ;; mach_o_le_vec) tb="$tb mach-o.lo dwarf2.lo" ;; mach_o_fat_vec) tb="$tb mach-o.lo dwarf2.lo" ;; @@ -16565,7 +16602,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by bfd $as_me 2.30.51, which was +This file was extended by bfd $as_me 2.30.52, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16629,7 +16666,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -bfd config.status 2.30.51 +bfd config.status 2.30.52 configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff -Nru binutils-2.30.51.20180512/bfd/configure.ac binutils-2.30.52.20180613/bfd/configure.ac --- binutils-2.30.51.20180512/bfd/configure.ac 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/configure.ac 2018-06-04 21:27:35.000000000 +0200 @@ -167,7 +167,7 @@ # host stuff: -ALL_LINGUAS="da es fi fr hr id ja ro ru rw sr sv tr uk vi zh_CN" +ALL_LINGUAS="da es fi fr hr id ja ro ru rw sr sv tr uk vi zh_CN pt" ZW_GNU_GETTEXT_SISTER_DIR AM_PO_SUBDIRS @@ -256,6 +256,20 @@ # This is used only by compress.c. AM_ZLIB +save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -Werror" +AC_CACHE_CHECK([compiler support for hidden visibility], bfd_cv_hidden, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +const char hw[] __attribute__ ((__visibility__ ("hidden"))) = "Hello, World\n"; +extern void print (const char *) __attribute__ ((__visibility__ ("hidden")));]], + [[print (hw);]])], + [bfd_cv_hidden=yes], [bfd_cv_hidden=no])]) +CFLAGS="$save_CFLAGS" +if test $bfd_cv_hidden = yes; then + AC_DEFINE(HAVE_HIDDEN, 1, + [Define if your compiler supports hidden visibility.]) +fi + # Check if linker supports --as-needed and --no-as-needed options AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed, [bfd_cv_ld_as_needed=no @@ -509,6 +523,7 @@ m68hc11_elf32_vec) tb="$tb elf32-m68hc11.lo elf32-m68hc1x.lo elf32.lo $elf" ;; m68hc12_elf32_vec) tb="$tb elf32-m68hc12.lo elf32-m68hc1x.lo elf32.lo $elf" ;; m68k_elf32_vec) tb="$tb elf32-m68k.lo elf32.lo $elf" ;; + s12z_elf32_vec) tb="$tb elf32-s12z.lo elf32.lo $elf" ;; mach_o_be_vec) tb="$tb mach-o.lo dwarf2.lo" ;; mach_o_le_vec) tb="$tb mach-o.lo dwarf2.lo" ;; mach_o_fat_vec) tb="$tb mach-o.lo dwarf2.lo" ;; diff -Nru binutils-2.30.51.20180512/bfd/cpu-s12z.c binutils-2.30.52.20180613/bfd/cpu-s12z.c --- binutils-2.30.51.20180512/bfd/cpu-s12z.c 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/cpu-s12z.c 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,41 @@ +/* BFD support for the Freescale 9S12Z processor + Copyright (C) 2008-2018 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 3 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., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +#include "sysdep.h" +#include "bfd.h" +#include "libbfd.h" + +const bfd_arch_info_type bfd_s12z_arch = +{ + 16, /* 16 bits in a word. */ + 24, /* 24 bits in an address. */ + 8, /* 8 bits in a byte. */ + bfd_arch_s12z, + 0, + "s12z", + "s12z", + 4, /* Section alignment power. */ + TRUE, + bfd_default_compatible, + bfd_default_scan, + bfd_arch_default_fill, + 0, +}; + diff -Nru binutils-2.30.51.20180512/bfd/doc/Makefile.am binutils-2.30.52.20180613/bfd/doc/Makefile.am --- binutils-2.30.51.20180512/bfd/doc/Makefile.am 2018-01-05 03:08:28.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/doc/Makefile.am 2018-06-04 21:27:35.000000000 +0200 @@ -277,6 +277,7 @@ echo "#ifdef __cplusplus" >> $@ echo "}" >> $@ echo "#endif" >> $@ + echo "#endif" >> $@ LIBCOFF_H_DEP = \ $(srcdir)/../libcoff-in.h \ @@ -299,6 +300,7 @@ echo "#ifdef __cplusplus" >> $@ echo "}" >> $@ echo "#endif" >> $@ + echo "#endif" >> $@ BFD_H_DEP = \ $(srcdir)/../bfd-in.h \ diff -Nru binutils-2.30.51.20180512/bfd/doc/Makefile.in binutils-2.30.52.20180613/bfd/doc/Makefile.in --- binutils-2.30.51.20180512/bfd/doc/Makefile.in 2018-01-05 03:08:28.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/doc/Makefile.in 2018-06-04 21:27:35.000000000 +0200 @@ -1013,6 +1013,7 @@ echo "#ifdef __cplusplus" >> $@ echo "}" >> $@ echo "#endif" >> $@ + echo "#endif" >> $@ libcoff.h: $(LIBCOFF_H_DEP) echo "$(LIBCOFF_H_DEP)" | sed -f $(srcdir)/header.sed > $@ @@ -1028,6 +1029,7 @@ echo "#ifdef __cplusplus" >> $@ echo "}" >> $@ echo "#endif" >> $@ + echo "#endif" >> $@ bfd.h: $(BFD_H_DEP) echo "$(BFD_H_DEP)" | sed -f $(srcdir)/header.sed > $@ diff -Nru binutils-2.30.51.20180512/bfd/elf32-arc.c binutils-2.30.52.20180613/bfd/elf32-arc.c --- binutils-2.30.51.20180512/bfd/elf32-arc.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/elf32-arc.c 2018-06-04 21:27:35.000000000 +0200 @@ -2797,26 +2797,6 @@ #define elf_backend_size_info arc_elf32_size_info -/* Hook called by the linker routine which adds symbols from an object - file. */ - -static bfd_boolean -elf_arc_add_symbol_hook (bfd * abfd, - struct bfd_link_info * info, - Elf_Internal_Sym * sym, - const char ** namep ATTRIBUTE_UNUSED, - flagword * flagsp ATTRIBUTE_UNUSED, - asection ** secp ATTRIBUTE_UNUSED, - bfd_vma * valp ATTRIBUTE_UNUSED) -{ - if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC - && (abfd->flags & DYNAMIC) == 0 - && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour) - elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc; - - return TRUE; -} - /* GDB expects general purpose registers to be in section .reg. However Linux kernel doesn't create this section and instead writes registers to NOTE section. It is up to the binutils to create a pseudo-section .reg from the @@ -2946,7 +2926,6 @@ #define elf_backend_finish_dynamic_sections elf_arc_finish_dynamic_sections #define elf_backend_size_dynamic_sections elf_arc_size_dynamic_sections -#define elf_backend_add_symbol_hook elf_arc_add_symbol_hook #define elf_backend_can_gc_sections 1 #define elf_backend_want_got_plt 1 diff -Nru binutils-2.30.51.20180512/bfd/elf32-arm.c binutils-2.30.52.20180613/bfd/elf32-arm.c --- binutils-2.30.51.20180512/bfd/elf32-arm.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/elf32-arm.c 2018-06-04 21:27:35.000000000 +0200 @@ -2174,7 +2174,16 @@ va_start (ap, note_type); memset (data, 0, sizeof (data)); strncpy (data + 28, va_arg (ap, const char *), 16); + DIAGNOSTIC_PUSH; + /* GCC 8.1 warns about 80 equals destination size with + -Wstringop-truncation: + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643 + */ +#if GCC_VERSION == 8001 + DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION; +#endif strncpy (data + 44, va_arg (ap, const char *), 80); + DIAGNOSTIC_POP; va_end (ap); return elfcore_write_note (abfd, buf, bufsiz, @@ -19753,11 +19762,6 @@ Elf_Internal_Sym *sym, const char **namep, flagword *flagsp, asection **secp, bfd_vma *valp) { - if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC - && (abfd->flags & DYNAMIC) == 0 - && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour) - elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc; - if (elf32_arm_hash_table (info) == NULL) return FALSE; diff -Nru binutils-2.30.51.20180512/bfd/elf32-hppa.c binutils-2.30.52.20180613/bfd/elf32-hppa.c --- binutils-2.30.51.20180512/bfd/elf32-hppa.c 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/elf32-hppa.c 2018-06-04 21:27:35.000000000 +0200 @@ -503,6 +503,8 @@ more than one stub used to reach say, printf, and we need to distinguish between them. */ id_sec = htab->stub_group[input_section->id].link_sec; + if (id_sec == NULL) + return NULL; if (hh != NULL && hh->hsh_cache != NULL && hh->hsh_cache->hh == hh @@ -2795,6 +2797,9 @@ /* If there aren't any relocs, then there's nothing more to do. */ if ((section->flags & SEC_RELOC) == 0 + || (section->flags & SEC_ALLOC) == 0 + || (section->flags & SEC_LOAD) == 0 + || (section->flags & SEC_CODE) == 0 || section->reloc_count == 0) continue; @@ -3278,7 +3283,7 @@ || hh->eh.root.type == bfd_link_hash_defweak))) { hsh = hppa_get_stub_entry (input_section, sym_sec, - hh, rela, htab); + hh, rela, htab); if (hsh != NULL) { value = (hsh->stub_offset @@ -3478,7 +3483,7 @@ if (value + addend + max_branch_offset >= 2*max_branch_offset) { hsh = hppa_get_stub_entry (input_section, sym_sec, - hh, rela, htab); + hh, rela, htab); if (hsh == NULL) return bfd_reloc_undefined; diff -Nru binutils-2.30.51.20180512/bfd/elf32-i386.c binutils-2.30.52.20180613/bfd/elf32-i386.c --- binutils-2.30.51.20180512/bfd/elf32-i386.c 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/elf32-i386.c 2018-06-04 21:27:35.000000000 +0200 @@ -766,6 +766,12 @@ sizeof (elf_i386_lazy_plt0_entry), /* plt0_entry_size */ elf_i386_lazy_plt_entry, /* plt_entry */ LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */ + NULL, /* plt_tlsdesc_entry */ + 0, /* plt_tlsdesc_entry_size*/ + 0, /* plt_tlsdesc_got1_offset */ + 0, /* plt_tlsdesc_got2_offset */ + 0, /* plt_tlsdesc_got1_insn_end */ + 0, /* plt_tlsdesc_got2_insn_end */ 2, /* plt0_got1_offset */ 8, /* plt0_got2_offset */ 0, /* plt0_got2_insn_end */ @@ -798,6 +804,12 @@ sizeof (elf_i386_lazy_ibt_plt0_entry), /* plt0_entry_size */ elf_i386_lazy_ibt_plt_entry, /* plt_entry */ LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */ + NULL, /* plt_tlsdesc_entry */ + 0, /* plt_tlsdesc_entry_size*/ + 0, /* plt_tlsdesc_got1_offset */ + 0, /* plt_tlsdesc_got2_offset */ + 0, /* plt_tlsdesc_got1_insn_end */ + 0, /* plt_tlsdesc_got2_insn_end */ 2, /* plt0_got1_offset */ 8, /* plt0_got2_offset */ 0, /* plt0_got2_insn_end */ @@ -2451,66 +2463,7 @@ switch (r_type) { case R_386_GOT32X: - /* Avoid optimizing _DYNAMIC since ld.so may use its - link-time address. */ - if (h == htab->elf.hdynamic) - goto r_386_got32; - - if (bfd_link_pic (info)) - { - /* It is OK to convert mov to lea and convert indirect - branch to direct branch. It is OK to convert adc, - add, and, cmp, or, sbb, sub, test, xor only when PIC - is false. */ - unsigned int opcode, addend; - addend = bfd_get_32 (input_bfd, contents + rel->r_offset); - if (addend != 0) - goto r_386_got32; - opcode = bfd_get_8 (input_bfd, contents + rel->r_offset - 2); - if (opcode != 0x8b && opcode != 0xff) - goto r_386_got32; - } - - /* Resolve "mov GOT[(%reg)], %reg", - "call/jmp *GOT[(%reg)]", "test %reg, foo@GOT[(%reg)]" - and "binop foo@GOT[(%reg)], %reg". */ - if (h == NULL - || (h->plt.offset == (bfd_vma) -1 - && h->got.offset == (bfd_vma) -1) - || htab->elf.sgotplt == NULL) - abort (); - - offplt = (htab->elf.sgotplt->output_section->vma - + htab->elf.sgotplt->output_offset); - - /* It is relative to .got.plt section. */ - if (h->got.offset != (bfd_vma) -1) - /* Use GOT entry. Mask off the least significant bit in - GOT offset which may be set by R_386_GOT32 processing - below. */ - relocation = (htab->elf.sgot->output_section->vma - + htab->elf.sgot->output_offset - + (h->got.offset & ~1) - offplt); - else - /* Use GOTPLT entry. */ - relocation = (h->plt.offset / plt_entry_size - - htab->plt.has_plt0 + 3) * 4; - - if (!bfd_link_pic (info)) - { - /* If not PIC, add the .got.plt section address for - baseless addressing. */ - unsigned int modrm; - modrm = bfd_get_8 (input_bfd, contents + rel->r_offset - 1); - if ((modrm & 0xc7) == 0x5) - relocation += offplt; - } - - unresolved_reloc = FALSE; - break; - case R_386_GOT32: -r_386_got32: /* Relocation is to the entry for this symbol in the global offset table. */ if (htab->elf.sgot == NULL) @@ -3805,6 +3758,8 @@ sym->st_value = 0; } + _bfd_x86_elf_link_fixup_ifunc_symbol (info, htab, h, sym); + /* Don't generate dynamic GOT relocation against undefined weak symbol in executable. */ if (h->got.offset != (bfd_vma) -1 @@ -4785,6 +4740,12 @@ sizeof (elf_i386_nacl_plt0_entry), /* plt0_entry_size */ elf_i386_nacl_plt_entry, /* plt_entry */ NACL_PLT_ENTRY_SIZE, /* plt_entry_size */ + NULL, /* plt_tlsdesc_entry */ + 0, /* plt_tlsdesc_entry_size*/ + 0, /* plt_tlsdesc_got1_offset */ + 0, /* plt_tlsdesc_got2_offset */ + 0, /* plt_tlsdesc_got1_insn_end */ + 0, /* plt_tlsdesc_got2_insn_end */ 2, /* plt0_got1_offset */ 8, /* plt0_got2_offset */ 0, /* plt0_got2_insn_end */ diff -Nru binutils-2.30.51.20180512/bfd/elf32-m68k.c binutils-2.30.52.20180613/bfd/elf32-m68k.c --- binutils-2.30.51.20180512/bfd/elf32-m68k.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/elf32-m68k.c 2018-06-04 21:27:35.000000000 +0200 @@ -4589,26 +4589,6 @@ return TRUE; } -/* Hook called by the linker routine which adds symbols from an object - file. */ - -static bfd_boolean -elf_m68k_add_symbol_hook (bfd *abfd, - struct bfd_link_info *info, - Elf_Internal_Sym *sym, - const char **namep ATTRIBUTE_UNUSED, - flagword *flagsp ATTRIBUTE_UNUSED, - asection **secp ATTRIBUTE_UNUSED, - bfd_vma *valp ATTRIBUTE_UNUSED) -{ - if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC - && (abfd->flags & DYNAMIC) == 0 - && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour) - elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc; - - return TRUE; -} - #define TARGET_BIG_SYM m68k_elf32_vec #define TARGET_BIG_NAME "elf32-m68k" #define ELF_MACHINE_CODE EM_68K @@ -4646,7 +4626,6 @@ #define elf_backend_object_p elf32_m68k_object_p #define elf_backend_grok_prstatus elf_m68k_grok_prstatus #define elf_backend_grok_psinfo elf_m68k_grok_psinfo -#define elf_backend_add_symbol_hook elf_m68k_add_symbol_hook #define elf_backend_can_gc_sections 1 #define elf_backend_can_refcount 1 diff -Nru binutils-2.30.51.20180512/bfd/elf32-nds32.c binutils-2.30.52.20180613/bfd/elf32-nds32.c --- binutils-2.30.51.20180512/bfd/elf32-nds32.c 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/elf32-nds32.c 2018-06-04 21:27:35.000000000 +0200 @@ -6808,7 +6808,7 @@ { int op6; uint16_t insn16 = 0; - int insn_type; + int insn_type = 0; unsigned long mach = bfd_get_mach (abfd); /* Decode 32-bit instruction. */ diff -Nru binutils-2.30.51.20180512/bfd/elf32-ppc.c binutils-2.30.52.20180613/bfd/elf32-ppc.c --- binutils-2.30.51.20180512/bfd/elf32-ppc.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/elf32-ppc.c 2018-06-04 21:27:35.000000000 +0200 @@ -2411,7 +2411,16 @@ va_start (ap, note_type); memset (data, 0, sizeof (data)); strncpy (data + 32, va_arg (ap, const char *), 16); + DIAGNOSTIC_PUSH; + /* GCC 8.1 warns about 80 equals destination size with + -Wstringop-truncation: + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643 + */ +#if GCC_VERSION == 8001 + DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION; +#endif strncpy (data + 48, va_arg (ap, const char *), 80); + DIAGNOSTIC_POP; va_end (ap); return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type, data, sizeof (data)); @@ -3792,11 +3801,6 @@ *valp = sym->st_size; } - if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC - && (abfd->flags & DYNAMIC) == 0 - && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour) - elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc; - return TRUE; } diff -Nru binutils-2.30.51.20180512/bfd/elf32-s12z.c binutils-2.30.52.20180613/bfd/elf32-s12z.c --- binutils-2.30.51.20180512/bfd/elf32-s12z.c 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/elf32-s12z.c 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,270 @@ +/* Freescale S12Z-specific support for 32-bit ELF + Copyright (C) 1999-2018 Free Software Foundation, Inc. + (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 3 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., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +#include "sysdep.h" +#include "bfd.h" +#include "bfdlink.h" +#include "libbfd.h" +#include "elf-bfd.h" + +#include "elf/s12z.h" + +/* Relocation functions. */ +static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup + (bfd *, bfd_reloc_code_real_type); +static bfd_boolean s12z_info_to_howto_rel + (bfd *, arelent *, Elf_Internal_Rela *); + +static bfd_reloc_status_type +shift_addend_reloc (bfd *abfd, arelent *reloc_entry, struct bfd_symbol *symbol ATTRIBUTE_UNUSED, + void *data ATTRIBUTE_UNUSED, asection *input_section ATTRIBUTE_UNUSED, + bfd *output ATTRIBUTE_UNUSED, char **msg ATTRIBUTE_UNUSED) +{ + /* This is a really peculiar reloc, which is done for compatibility + with the Freescale toolchain. + + That toolchain appears to (ab)use the lowest 15 bits of the addend for + the purpose of holding flags. The purpose of these flags are unknown. + So in this function, when writing the bfd we left shift the addend by + 15, and when reading we right shift it by 15 (discarding the lower bits). + + This allows the linker to work with object files generated by Freescale, + as well as by Gas. */ + + if (abfd->is_linker_input) + reloc_entry->addend >>= 15; + else + reloc_entry->addend <<= 15; + + return bfd_reloc_continue; +} + +#define USE_REL 0 + +static reloc_howto_type elf_s12z_howto_table[] = +{ + /* This reloc does nothing. */ + HOWTO (R_S12Z_NONE, /* type */ + 0, /* rightshift */ + 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_S12Z_NONE", /* name */ + FALSE, /* partial_inplace */ + 0, /* src_mask */ + 0, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* A 24 bit absolute relocation emitted by the OPR mode operands */ + HOWTO (R_S12Z_OPR, /* type */ + 0, /* rightshift */ + 5, /* size (0 = byte, 1 = short, 2 = long) */ + 24, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + shift_addend_reloc, + "R_S12Z_OPR", /* name */ + FALSE, /* partial_inplace */ + 0x00ffffff, /* src_mask */ + 0x00ffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* The purpose of this reloc is not known */ + HOWTO (R_S12Z_UKNWN_2, /* type */ + 0, /* rightshift */ + 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_S12Z_UKNWN_2", /* name */ + FALSE, /* partial_inplace */ + 0, /* src_mask */ + 0, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* A 15 bit PC-rel relocation */ + HOWTO (R_S12Z_PCREL_7_15, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 15, /* bitsize */ + TRUE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + shift_addend_reloc, + "R_S12Z_PCREL_7_15", /* name */ + FALSE, /* partial_inplace */ + 0x00, /* src_mask */ + 0x007fff, /* dst_mask */ + TRUE), /* pcrel_offset */ + + /* A 24 bit absolute relocation emitted by EXT24 mode operands */ + HOWTO (R_S12Z_EXT24, /* type */ + 0, /* rightshift */ + 5, /* size (0 = byte, 1 = short, 2 = long) */ + 24, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_S12Z_EXT24", /* name */ + FALSE, /* partial_inplace */ + 0x00ffffff, /* src_mask */ + 0x00ffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* The purpose of this reloc is not known */ + HOWTO (R_S12Z_UKNWN_3, /* type */ + 0, /* rightshift */ + 3, /* size (0 = byte, 1 = short, 2 = long) */ + 0, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_S12Z_UKNWN_3", /* name */ + FALSE, /* partial_inplace */ + 0, /* src_mask */ + 0, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* A 32 bit absolute relocation */ + HOWTO (R_S12Z_EXT32, /* 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_S12Z_EXT32", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ +}; + +/* Map BFD reloc types to S12Z ELF reloc types. */ + +struct s12z_reloc_map +{ + bfd_reloc_code_real_type bfd_reloc_val; + unsigned char elf_reloc_val; +}; + +static const struct s12z_reloc_map s12z_reloc_map[] = +{ + /* bfd reloc val */ /* elf reloc val */ + {BFD_RELOC_NONE, R_S12Z_NONE}, + {BFD_RELOC_32, R_S12Z_EXT32}, + {BFD_RELOC_24, R_S12Z_EXT24}, + {BFD_RELOC_16_PCREL, R_S12Z_PCREL_7_15} +}; + +static reloc_howto_type * +bfd_elf32_bfd_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, + bfd_reloc_code_real_type code) +{ + unsigned int i; + + for (i = 0; + i < sizeof (s12z_reloc_map) / sizeof (struct s12z_reloc_map); + i++) + { + if (s12z_reloc_map[i].bfd_reloc_val == code) + { + return &elf_s12z_howto_table[s12z_reloc_map[i].elf_reloc_val]; + } + } + + printf ("%s:%d Not found type %d\n", __FILE__, __LINE__, code); + + return NULL; +} + +static reloc_howto_type * +bfd_elf32_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED, + const char *r_name) +{ + unsigned int i; + + printf ("%s:%d Looking up %s\n", __FILE__, __LINE__, r_name); + + for (i = 0; + i < (sizeof (elf_s12z_howto_table) + / sizeof (elf_s12z_howto_table[0])); + i++) + if (elf_s12z_howto_table[i].name != NULL + && strcasecmp (elf_s12z_howto_table[i].name, r_name) == 0) + return &elf_s12z_howto_table[i]; + + return NULL; +} + +/* Set the howto pointer for an S12Z ELF reloc. */ + +static bfd_boolean +s12z_info_to_howto_rel (bfd *abfd, + arelent *cache_ptr, Elf_Internal_Rela *dst) +{ + unsigned int r_type = ELF32_R_TYPE (dst->r_info); + + if (r_type >= (unsigned int) R_S12Z_max) + { + /* xgettext:c-format */ + _bfd_error_handler (_("%pB: unsupported relocation type %#x"), + abfd, r_type); + bfd_set_error (bfd_error_bad_value); + return FALSE; + } + + cache_ptr->howto = &elf_s12z_howto_table[r_type]; + return TRUE; +} + +static bfd_boolean +s12z_elf_set_mach_from_flags (bfd *abfd) +{ + bfd_default_set_arch_mach (abfd, bfd_arch_s12z, 0); // bfd_mach_s12z); + + return TRUE; +} + +#define ELF_ARCH bfd_arch_s12z +#define ELF_TARGET_ID 0 +#define ELF_MACHINE_CODE EM_S12Z +#define ELF_MAXPAGESIZE 0x1000 + +#define TARGET_BIG_SYM s12z_elf32_vec +#define TARGET_BIG_NAME "elf32-s12z" + +#define elf_info_to_howto NULL +#define elf_info_to_howto_rel s12z_info_to_howto_rel +#define elf_backend_object_p s12z_elf_set_mach_from_flags +#define elf_backend_final_write_processing NULL +#define elf_backend_can_gc_sections 1 + +#include "elf32-target.h" diff -Nru binutils-2.30.51.20180512/bfd/elf32-s390.c binutils-2.30.52.20180613/bfd/elf32-s390.c --- binutils-2.30.51.20180512/bfd/elf32-s390.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/elf32-s390.c 2018-06-04 21:27:35.000000000 +0200 @@ -3951,7 +3951,16 @@ va_end (ap); strncpy (data + 28, fname, 16); + DIAGNOSTIC_PUSH; + /* GCC 8.1 warns about 80 equals destination size with + -Wstringop-truncation: + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643 + */ +#if GCC_VERSION == 8001 + DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION; +#endif strncpy (data + 44, psargs, 80); + DIAGNOSTIC_POP; return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type, &data, sizeof (data)); } @@ -4049,7 +4058,6 @@ #define elf_backend_grok_psinfo elf_s390_grok_psinfo #define elf_backend_write_core_note elf_s390_write_core_note #define elf_backend_plt_sym_val elf_s390_plt_sym_val -#define elf_backend_add_symbol_hook elf_s390_add_symbol_hook #define elf_backend_sort_relocs_p elf_s390_elf_sort_relocs_p #define bfd_elf32_mkobject elf_s390_mkobject diff -Nru binutils-2.30.51.20180512/bfd/elf32-sparc.c binutils-2.30.52.20180613/bfd/elf32-sparc.c --- binutils-2.30.51.20180512/bfd/elf32-sparc.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/elf32-sparc.c 2018-06-04 21:27:35.000000000 +0200 @@ -175,25 +175,6 @@ } } -/* Hook called by the linker routine which adds symbols from an object - file. */ - -static bfd_boolean -elf32_sparc_add_symbol_hook (bfd * abfd, - struct bfd_link_info * info, - Elf_Internal_Sym * sym, - const char ** namep ATTRIBUTE_UNUSED, - flagword * flagsp ATTRIBUTE_UNUSED, - asection ** secp ATTRIBUTE_UNUSED, - bfd_vma * valp ATTRIBUTE_UNUSED) -{ - if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC - && (abfd->flags & DYNAMIC) == 0 - && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour) - elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc; - return TRUE; -} - #define TARGET_BIG_SYM sparc_elf32_vec #define TARGET_BIG_NAME "elf32-sparc" #define ELF_ARCH bfd_arch_sparc @@ -249,8 +230,6 @@ #define elf_backend_want_dynrelro 1 #define elf_backend_rela_normal 1 -#define elf_backend_add_symbol_hook elf32_sparc_add_symbol_hook - #define elf_backend_linux_prpsinfo32_ugid16 TRUE #include "elf32-target.h" diff -Nru binutils-2.30.51.20180512/bfd/elf32-tic6x.c binutils-2.30.52.20180613/bfd/elf32-tic6x.c --- binutils-2.30.51.20180512/bfd/elf32-tic6x.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/elf32-tic6x.c 2018-06-13 10:31:38.000000000 +0200 @@ -2972,6 +2972,19 @@ case R_C6000_SBR_H16_B: case R_C6000_SBR_H16_H: case R_C6000_SBR_H16_W: + { + /* These relocations implicitly reference __c6xabi_DSBT_BASE. + Add an explicit reference so that the symbol will be + provided by a linker script. */ + struct bfd_link_hash_entry *bh = NULL; + if (!_bfd_generic_link_add_one_symbol (info, abfd, + "__c6xabi_DSBT_BASE", + BSF_GLOBAL, + bfd_und_section_ptr, 0, + NULL, FALSE, FALSE, &bh)) + return FALSE; + ((struct elf_link_hash_entry *) bh)->non_elf = 0; + } if (h != NULL && bfd_link_executable (info)) { /* For B14-relative addresses, we might need a copy diff -Nru binutils-2.30.51.20180512/bfd/elf32-xtensa.c binutils-2.30.52.20180613/bfd/elf32-xtensa.c --- binutils-2.30.51.20180512/bfd/elf32-xtensa.c 2018-03-18 05:04:27.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/elf32-xtensa.c 2018-06-04 21:27:35.000000000 +0200 @@ -154,6 +154,11 @@ int elf32xtensa_no_literal_movement = 1; +/* Place property records for a section into individual property section + with xt.prop. prefix. */ + +bfd_boolean elf32xtensa_separate_props = FALSE; + /* Rename one of the generic section flags to better document how it is used here. */ /* Whether relocations have been processed. */ @@ -797,7 +802,7 @@ section. Sets TABLE_P and returns the number of entries. On error, returns a negative value. */ -static int +int xtensa_read_table_entries (bfd *abfd, asection *section, property_table_entry **table_p, @@ -6725,7 +6730,6 @@ static bfd_boolean check_section_ebb_reduces (const ebb_constraint *); static void text_action_add_proposed (text_action_list *, const ebb_constraint *, asection *); -static int compute_fill_extra_space (property_table_entry *); /* First pass: */ static bfd_boolean compute_removed_literals @@ -8131,7 +8135,7 @@ BFD_ASSERT (action->action == ta_fill); BFD_ASSERT (ebb->ends_unreachable->flags & XTENSA_PROP_UNREACHABLE); - extra_space = compute_fill_extra_space (ebb->ends_unreachable); + extra_space = xtensa_compute_fill_extra_space (ebb->ends_unreachable); br = action->removed_bytes + removed_bytes + extra_space; br = br & ((1 << ebb->sec->alignment_power ) - 1); @@ -8555,7 +8559,7 @@ int -compute_fill_extra_space (property_table_entry *entry) +xtensa_compute_fill_extra_space (property_table_entry *entry) { int fill_extra_space; @@ -8836,7 +8840,7 @@ do not add fill. */ the_add_entry = elf_xtensa_find_property_entry (prop_table, ptblsize, entry_sec_offset); - fill_extra_space = compute_fill_extra_space (the_add_entry); + fill_extra_space = xtensa_compute_fill_extra_space (the_add_entry); fa = find_fill_action (&relax_info->action_list, sec, entry_sec_offset); removed_diff = compute_removed_action_diff (fa, sec, entry_sec_offset, @@ -10987,10 +10991,30 @@ } +static char * +xtensa_add_names (const char *base, const char *suffix) +{ + if (suffix) + { + size_t base_len = strlen (base); + size_t suffix_len = strlen (suffix); + char *str = bfd_malloc (base_len + suffix_len + 1); + + memcpy (str, base, base_len); + memcpy (str + base_len, suffix, suffix_len + 1); + return str; + } + else + { + return strdup (base); + } +} + static int linkonce_len = sizeof (".gnu.linkonce.") - 1; static char * -xtensa_property_section_name (asection *sec, const char *base_name) +xtensa_property_section_name (asection *sec, const char *base_name, + bfd_boolean separate_sections) { const char *suffix, *group_name; char *prop_sec_name; @@ -11001,11 +11025,7 @@ suffix = strrchr (sec->name, '.'); if (suffix == sec->name) suffix = 0; - prop_sec_name = (char *) bfd_malloc (strlen (base_name) + 1 - + (suffix ? strlen (suffix) : 0)); - strcpy (prop_sec_name, base_name); - if (suffix) - strcat (prop_sec_name, suffix); + prop_sec_name = xtensa_add_names (base_name, suffix); } else if (strncmp (sec->name, ".gnu.linkonce.", linkonce_len) == 0) { @@ -11033,19 +11053,24 @@ strcat (prop_sec_name + linkonce_len, suffix); } else - prop_sec_name = strdup (base_name); + { + prop_sec_name = xtensa_add_names (base_name, + separate_sections ? sec->name : NULL); + } return prop_sec_name; } static asection * -xtensa_get_property_section (asection *sec, const char *base_name) +xtensa_get_separate_property_section (asection *sec, const char *base_name, + bfd_boolean separate_section) { char *prop_sec_name; asection *prop_sec; - prop_sec_name = xtensa_property_section_name (sec, base_name); + prop_sec_name = xtensa_property_section_name (sec, base_name, + separate_section); prop_sec = bfd_get_section_by_name_if (sec->owner, prop_sec_name, match_section_group, (void *) elf_group_name (sec)); @@ -11053,6 +11078,21 @@ return prop_sec; } +static asection * +xtensa_get_property_section (asection *sec, const char *base_name) +{ + asection *prop_sec; + + /* Try individual property section first. */ + prop_sec = xtensa_get_separate_property_section (sec, base_name, TRUE); + + /* Refer to a common property section if individual is not present. */ + if (!prop_sec) + prop_sec = xtensa_get_separate_property_section (sec, base_name, FALSE); + + return prop_sec; +} + asection * xtensa_make_property_section (asection *sec, const char *base_name) @@ -11061,7 +11101,8 @@ asection *prop_sec; /* Check if the section already exists. */ - prop_sec_name = xtensa_property_section_name (sec, base_name); + prop_sec_name = xtensa_property_section_name (sec, base_name, + elf32xtensa_separate_props); prop_sec = bfd_get_section_by_name_if (sec->owner, prop_sec_name, match_section_group, (void *) elf_group_name (sec)); diff -Nru binutils-2.30.51.20180512/bfd/elf64-ppc.c binutils-2.30.52.20180613/bfd/elf64-ppc.c --- binutils-2.30.51.20180512/bfd/elf64-ppc.c 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/elf64-ppc.c 2018-06-04 21:27:35.000000000 +0200 @@ -3035,13 +3035,22 @@ case NT_PRPSINFO: { - char data[136]; + char data[136] ATTRIBUTE_NONSTRING; va_list ap; va_start (ap, note_type); memset (data, 0, sizeof (data)); strncpy (data + 40, va_arg (ap, const char *), 16); + DIAGNOSTIC_PUSH; + /* GCC 8.1 warns about 80 equals destination size with + -Wstringop-truncation: + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643 + */ +#if GCC_VERSION == 8001 + DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION; +#endif strncpy (data + 56, va_arg (ap, const char *), 80); + DIAGNOSTIC_POP; va_end (ap); return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type, data, sizeof (data)); @@ -5034,11 +5043,6 @@ asection **sec, bfd_vma *value) { - if (ELF_ST_TYPE (isym->st_info) == STT_GNU_IFUNC - && (ibfd->flags & DYNAMIC) == 0 - && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour) - elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc; - if (*sec != NULL && strcmp ((*sec)->name, ".opd") == 0) { @@ -11760,7 +11764,7 @@ if (htab == NULL) return -1; - htab->sec_info_arr_size = bfd_get_next_section_id (); + htab->sec_info_arr_size = _bfd_section_id; amt = sizeof (*htab->sec_info) * (htab->sec_info_arr_size); htab->sec_info = bfd_zmalloc (amt); if (htab->sec_info == NULL) diff -Nru binutils-2.30.51.20180512/bfd/elf64-s390.c binutils-2.30.52.20180613/bfd/elf64-s390.c --- binutils-2.30.51.20180512/bfd/elf64-s390.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/elf64-s390.c 2018-06-04 21:27:35.000000000 +0200 @@ -3760,7 +3760,16 @@ va_end (ap); strncpy (data + 40, fname, 16); + DIAGNOSTIC_PUSH; + /* GCC 8.1 warns about 80 equals destination size with + -Wstringop-truncation: + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643 + */ +#if GCC_VERSION == 8001 + DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION; +#endif strncpy (data + 56, psargs, 80); + DIAGNOSTIC_POP; return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type, &data, sizeof (data)); } @@ -3962,7 +3971,6 @@ #define elf_backend_grok_psinfo elf_s390_grok_psinfo #define elf_backend_write_core_note elf_s390_write_core_note #define elf_backend_plt_sym_val elf_s390_plt_sym_val -#define elf_backend_add_symbol_hook elf_s390_add_symbol_hook #define elf_backend_sort_relocs_p elf_s390_elf_sort_relocs_p #define elf_backend_additional_program_headers elf_s390_additional_program_headers #define elf_backend_modify_segment_map elf_s390_modify_segment_map diff -Nru binutils-2.30.51.20180512/bfd/elf64-sparc.c binutils-2.30.52.20180613/bfd/elf64-sparc.c --- binutils-2.30.51.20180512/bfd/elf64-sparc.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/elf64-sparc.c 2018-06-04 21:27:35.000000000 +0200 @@ -444,11 +444,6 @@ { static const char *const stt_types[] = { "NOTYPE", "OBJECT", "FUNCTION" }; - if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC - && (abfd->flags & DYNAMIC) == 0 - && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour) - elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc; - if (ELF_ST_TYPE (sym->st_info) == STT_REGISTER) { int reg; diff -Nru binutils-2.30.51.20180512/bfd/elf64-x86-64.c binutils-2.30.52.20180613/bfd/elf64-x86-64.c --- binutils-2.30.51.20180512/bfd/elf64-x86-64.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/elf64-x86-64.c 2018-06-04 21:27:35.000000000 +0200 @@ -660,6 +660,14 @@ 0x66, 0x0f, 0x1f, 0x44, 0x00, 0x00 /* nopw 0x0(%rax,%rax,1) */ }; +/* The TLSDESC entry in a lazy procedure linkage table. */ +static const bfd_byte elf_x86_64_tlsdesc_plt_entry[LAZY_PLT_ENTRY_SIZE] = +{ + 0xf3, 0x0f, 0x1e, 0xfa, /* endbr64 */ + 0xff, 0x35, 8, 0, 0, 0, /* pushq GOT+8(%rip) */ + 0xff, 0x25, 16, 0, 0, 0 /* jmpq *GOT+TDG(%rip) */ +}; + /* .eh_frame covering the lazy .plt section. */ static const bfd_byte elf_x86_64_eh_frame_lazy_plt[] = @@ -834,6 +842,12 @@ LAZY_PLT_ENTRY_SIZE, /* plt0_entry_size */ elf_x86_64_lazy_plt_entry, /* plt_entry */ LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */ + elf_x86_64_tlsdesc_plt_entry, /* plt_tlsdesc_entry */ + LAZY_PLT_ENTRY_SIZE, /* plt_tlsdesc_entry_size */ + 6, /* plt_tlsdesc_got1_offset */ + 12, /* plt_tlsdesc_got2_offset */ + 10, /* plt_tlsdesc_got1_insn_end */ + 16, /* plt_tlsdesc_got2_insn_end */ 2, /* plt0_got1_offset */ 8, /* plt0_got2_offset */ 12, /* plt0_got2_insn_end */ @@ -866,6 +880,12 @@ LAZY_PLT_ENTRY_SIZE, /* plt0_entry_size */ elf_x86_64_lazy_bnd_plt_entry, /* plt_entry */ LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */ + elf_x86_64_tlsdesc_plt_entry, /* plt_tlsdesc_entry */ + LAZY_PLT_ENTRY_SIZE, /* plt_tlsdesc_entry_size */ + 6, /* plt_tlsdesc_got1_offset */ + 12, /* plt_tlsdesc_got2_offset */ + 10, /* plt_tlsdesc_got1_insn_end */ + 16, /* plt_tlsdesc_got2_insn_end */ 2, /* plt0_got1_offset */ 1+8, /* plt0_got2_offset */ 1+12, /* plt0_got2_insn_end */ @@ -898,6 +918,12 @@ LAZY_PLT_ENTRY_SIZE, /* plt0_entry_size */ elf_x86_64_lazy_ibt_plt_entry, /* plt_entry */ LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */ + elf_x86_64_tlsdesc_plt_entry, /* plt_tlsdesc_entry */ + LAZY_PLT_ENTRY_SIZE, /* plt_tlsdesc_entry_size */ + 6, /* plt_tlsdesc_got1_offset */ + 12, /* plt_tlsdesc_got2_offset */ + 10, /* plt_tlsdesc_got1_insn_end */ + 16, /* plt_tlsdesc_got2_insn_end */ 2, /* plt0_got1_offset */ 1+8, /* plt0_got2_offset */ 1+12, /* plt0_got2_insn_end */ @@ -919,6 +945,12 @@ LAZY_PLT_ENTRY_SIZE, /* plt0_entry_size */ elf_x32_lazy_ibt_plt_entry, /* plt_entry */ LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */ + elf_x86_64_tlsdesc_plt_entry, /* plt_tlsdesc_entry */ + LAZY_PLT_ENTRY_SIZE, /* plt_tlsdesc_entry_size */ + 6, /* plt_tlsdesc_got1_offset */ + 12, /* plt_tlsdesc_got2_offset */ + 10, /* plt_tlsdesc_got1_insn_end */ + 16, /* plt_tlsdesc_got2_insn_end */ 2, /* plt0_got1_offset */ 8, /* plt0_got2_offset */ 12, /* plt0_got2_insn_end */ @@ -4147,6 +4179,8 @@ sym->st_value = 0; } + _bfd_x86_elf_link_fixup_ifunc_symbol (info, htab, h, sym); + /* Don't generate dynamic GOT relocation against undefined weak symbol in executable. */ if (h->got.offset != (bfd_vma) -1 @@ -4415,19 +4449,12 @@ if (htab->tlsdesc_plt) { - /* The TLSDESC entry in a lazy procedure linkage table. */ - static const bfd_byte tlsdesc_plt_entry[LAZY_PLT_ENTRY_SIZE] = - { - 0xf3, 0x0f, 0x1e, 0xfa, /* endbr64 */ - 0xff, 0x35, 8, 0, 0, 0, /* pushq GOT+8(%rip) */ - 0xff, 0x25, 16, 0, 0, 0 /* jmpq *GOT+TDG(%rip) */ - }; - bfd_put_64 (output_bfd, (bfd_vma) 0, htab->elf.sgot->contents + htab->tlsdesc_got); memcpy (htab->elf.splt->contents + htab->tlsdesc_plt, - tlsdesc_plt_entry, LAZY_PLT_ENTRY_SIZE); + htab->lazy_plt->plt_tlsdesc_entry, + htab->lazy_plt->plt_tlsdesc_entry_size); /* Add offset for pushq GOT+8(%rip), since ENDBR64 uses 4 bytes and the instruction uses 6 bytes, subtract these @@ -4439,10 +4466,10 @@ - htab->elf.splt->output_section->vma - htab->elf.splt->output_offset - htab->tlsdesc_plt - - 4 - 6), + - htab->lazy_plt->plt_tlsdesc_got1_insn_end), (htab->elf.splt->contents + htab->tlsdesc_plt - + 4 + 2)); + + htab->lazy_plt->plt_tlsdesc_got1_offset)); /* Add offset for indirect branch via GOT+TDG, where TDG stands for htab->tlsdesc_got, subtracting the offset to the end of that instruction. */ @@ -4453,9 +4480,10 @@ - htab->elf.splt->output_section->vma - htab->elf.splt->output_offset - htab->tlsdesc_plt - - 4 - 6 - 6), + - htab->lazy_plt->plt_tlsdesc_got2_insn_end), (htab->elf.splt->contents - + htab->tlsdesc_plt + 4 + 6 + 2)); + + htab->tlsdesc_plt + + htab->lazy_plt->plt_tlsdesc_got2_offset)); } } @@ -5244,6 +5272,12 @@ NACL_PLT_ENTRY_SIZE, /* plt0_entry_size */ elf_x86_64_nacl_plt_entry, /* plt_entry */ NACL_PLT_ENTRY_SIZE, /* plt_entry_size */ + elf_x86_64_nacl_plt0_entry, /* plt_tlsdesc_entry */ + NACL_PLT_ENTRY_SIZE, /* plt_tlsdesc_entry_size */ + 2, /* plt_tlsdesc_got1_offset */ + 9, /* plt_tlsdesc_got2_offset */ + 6, /* plt_tlsdesc_got1_insn_end */ + 13, /* plt_tlsdesc_got2_insn_end */ 2, /* plt0_got1_offset */ 9, /* plt0_got2_offset */ 13, /* plt0_got2_insn_end */ diff -Nru binutils-2.30.51.20180512/bfd/elf-bfd.h binutils-2.30.52.20180613/bfd/elf-bfd.h --- binutils-2.30.51.20180512/bfd/elf-bfd.h 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/elf-bfd.h 2018-06-04 21:27:35.000000000 +0200 @@ -2086,6 +2086,8 @@ struct elf_link_hash_entry *); extern void _bfd_elf_link_hash_hide_symbol (struct bfd_link_info *, struct elf_link_hash_entry *, bfd_boolean); +extern void _bfd_elf_link_hide_symbol + (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *); extern bfd_boolean _bfd_elf_link_hash_fixup_symbol (struct bfd_link_info *, struct elf_link_hash_entry *); extern bfd_boolean _bfd_elf_link_hash_table_init @@ -2184,6 +2186,9 @@ extern const struct bfd_elf_special_section *_bfd_elf_get_sec_type_attr (bfd *, asection *); +extern bfd_boolean _bfd_elf_link_hide_sym_by_version + (struct bfd_link_info *, struct elf_link_hash_entry *); + /* If the target doesn't have reloc handling written yet: */ extern bfd_boolean _bfd_elf_no_info_to_howto (bfd *, arelent *, Elf_Internal_Rela *); diff -Nru binutils-2.30.51.20180512/bfd/elf.c binutils-2.30.52.20180613/bfd/elf.c --- binutils-2.30.51.20180512/bfd/elf.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/elf.c 2018-06-04 21:27:35.000000000 +0200 @@ -628,7 +628,8 @@ bfd_alloc2 (abfd, num_group, sizeof (Elf_Internal_Shdr *)); if (elf_tdata (abfd)->group_sect_ptr == NULL) return FALSE; - memset (elf_tdata (abfd)->group_sect_ptr, 0, num_group * sizeof (Elf_Internal_Shdr *)); + memset (elf_tdata (abfd)->group_sect_ptr, 0, + num_group * sizeof (Elf_Internal_Shdr *)); num_group = 0; for (i = 0; i < shnum; i++) @@ -709,13 +710,24 @@ |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD; break; } - if (idx >= shnum) + if (idx < shnum) + { + dest->shdr = elf_elfsections (abfd)[idx]; + /* PR binutils/23199: All sections in a + section group should be marked with + SHF_GROUP. But some tools generate + broken objects without SHF_GROUP. Fix + them up here. */ + dest->shdr->sh_flags |= SHF_GROUP; + } + if (idx >= shnum + || dest->shdr->sh_type == SHT_GROUP) { _bfd_error_handler - (_("%pB: invalid SHT_GROUP entry"), abfd); - idx = 0; + (_("%pB: invalid entry in SHT_GROUP section [%u]"), + abfd, i); + dest->shdr = NULL; } - dest->shdr = elf_elfsections (abfd)[idx]; } } } @@ -781,7 +793,8 @@ idx = (Elf_Internal_Group *) shdr->contents; n_elt = shdr->sh_size / 4; while (--n_elt != 0) - if ((s = (++idx)->shdr->bfd_section) != NULL + if ((++idx)->shdr != NULL + && (s = idx->shdr->bfd_section) != NULL && elf_next_in_group (s) != NULL) break; if (n_elt != 0) diff -Nru binutils-2.30.51.20180512/bfd/elf-ifunc.c binutils-2.30.52.20180613/bfd/elf-ifunc.c --- binutils-2.30.51.20180512/bfd/elf-ifunc.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/elf-ifunc.c 2018-05-16 15:49:14.000000000 +0200 @@ -131,8 +131,15 @@ the resolved function may be used. But in non-PIC executable, the address of its .plt slot may be used. Pointer equality may not work correctly. PIE or non-PLT reference should be used if - pointer equality is required here. */ + pointer equality is required here. + + If STT_GNU_IFUNC symbol is defined in position-dependent executable, + backend should change it to the normal function and set its address + to its PLT entry which should be resolved by R_*_IRELATIVE at + run-time. All external references should be resolved to its PLT in + executable. */ if (!need_dynreloc + && !(bfd_link_pde (info) && h->def_regular) && (h->dynindx != -1 || info->export_dynamic) && h->pointer_equality_needed) diff -Nru binutils-2.30.51.20180512/bfd/elflink.c binutils-2.30.52.20180613/bfd/elflink.c --- binutils-2.30.51.20180512/bfd/elflink.c 2018-03-25 07:24:05.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/elflink.c 2018-06-04 21:27:35.000000000 +0200 @@ -720,6 +720,7 @@ || h->ref_dynamic || bfd_link_dll (info) || elf_hash_table (info)->is_relocatable_executable) + && !h->forced_local && h->dynindx == -1) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) @@ -2221,6 +2222,115 @@ return TRUE; } +/* Return TRUE and set *HIDE to TRUE if the versioned symbol is + hidden. Set *T_P to NULL if there is no match. */ + +static bfd_boolean +_bfd_elf_link_hide_versioned_symbol (struct bfd_link_info *info, + struct elf_link_hash_entry *h, + const char *version_p, + struct bfd_elf_version_tree **t_p, + bfd_boolean *hide) +{ + struct bfd_elf_version_tree *t; + + /* Look for the version. If we find it, it is no longer weak. */ + for (t = info->version_info; t != NULL; t = t->next) + { + if (strcmp (t->name, version_p) == 0) + { + size_t len; + char *alc; + struct bfd_elf_version_expr *d; + + len = version_p - h->root.root.string; + alc = (char *) bfd_malloc (len); + if (alc == NULL) + return FALSE; + memcpy (alc, h->root.root.string, len - 1); + alc[len - 1] = '\0'; + if (alc[len - 2] == ELF_VER_CHR) + alc[len - 2] = '\0'; + + h->verinfo.vertree = t; + t->used = TRUE; + d = NULL; + + if (t->globals.list != NULL) + d = (*t->match) (&t->globals, NULL, alc); + + /* See if there is anything to force this symbol to + local scope. */ + if (d == NULL && t->locals.list != NULL) + { + d = (*t->match) (&t->locals, NULL, alc); + if (d != NULL + && h->dynindx != -1 + && ! info->export_dynamic) + *hide = TRUE; + } + + free (alc); + break; + } + } + + *t_p = t; + + return TRUE; +} + +/* Return TRUE if the symbol H is hidden by version script. */ + +bfd_boolean +_bfd_elf_link_hide_sym_by_version (struct bfd_link_info *info, + struct elf_link_hash_entry *h) +{ + const char *p; + bfd_boolean hide = FALSE; + const struct elf_backend_data *bed + = get_elf_backend_data (info->output_bfd); + + /* Version script only hides symbols defined in regular objects. */ + if (!h->def_regular && !ELF_COMMON_DEF_P (h)) + return TRUE; + + p = strchr (h->root.root.string, ELF_VER_CHR); + if (p != NULL && h->verinfo.vertree == NULL) + { + struct bfd_elf_version_tree *t; + + ++p; + if (*p == ELF_VER_CHR) + ++p; + + if (*p != '\0' + && _bfd_elf_link_hide_versioned_symbol (info, h, p, &t, &hide) + && hide) + { + if (hide) + (*bed->elf_backend_hide_symbol) (info, h, TRUE); + return TRUE; + } + } + + /* If we don't have a version for this symbol, see if we can find + something. */ + if (h->verinfo.vertree == NULL && info->version_info != NULL) + { + h->verinfo.vertree + = bfd_find_version_for_sym (info->version_info, + h->root.root.string, &hide); + if (h->verinfo.vertree != NULL && hide) + { + (*bed->elf_backend_hide_symbol) (info, h, TRUE); + return TRUE; + } + } + + return FALSE; +} + /* Figure out appropriate versions for all the symbols. We may not have the version number script until we have read all of the input files, so until that point we don't know which symbols should be @@ -2234,6 +2344,7 @@ const struct elf_backend_data *bed; struct elf_info_failed eif; char *p; + bfd_boolean hide; sinfo = (struct elf_info_failed *) data; info = sinfo->info; @@ -2253,6 +2364,7 @@ if (!h->def_regular) return TRUE; + hide = FALSE; bed = get_elf_backend_data (info->output_bfd); p = strchr (h->root.root.string, ELF_VER_CHR); if (p != NULL && h->verinfo.vertree == NULL) @@ -2267,50 +2379,15 @@ if (*p == '\0') return TRUE; - /* Look for the version. If we find it, it is no longer weak. */ - for (t = sinfo->info->version_info; t != NULL; t = t->next) + if (!_bfd_elf_link_hide_versioned_symbol (info, h, p, &t, &hide)) { - if (strcmp (t->name, p) == 0) - { - size_t len; - char *alc; - struct bfd_elf_version_expr *d; - - len = p - h->root.root.string; - alc = (char *) bfd_malloc (len); - if (alc == NULL) - { - sinfo->failed = TRUE; - return FALSE; - } - memcpy (alc, h->root.root.string, len - 1); - alc[len - 1] = '\0'; - if (alc[len - 2] == ELF_VER_CHR) - alc[len - 2] = '\0'; - - h->verinfo.vertree = t; - t->used = TRUE; - d = NULL; - - if (t->globals.list != NULL) - d = (*t->match) (&t->globals, NULL, alc); - - /* See if there is anything to force this symbol to - local scope. */ - if (d == NULL && t->locals.list != NULL) - { - d = (*t->match) (&t->locals, NULL, alc); - if (d != NULL - && h->dynindx != -1 - && ! info->export_dynamic) - (*bed->elf_backend_hide_symbol) (info, h, TRUE); - } - - free (alc); - break; - } + sinfo->failed = TRUE; + return FALSE; } + if (hide) + (*bed->elf_backend_hide_symbol) (info, h, TRUE); + /* If we are building an application, we need to create a version node for this version. */ if (t == NULL && bfd_link_executable (info)) @@ -2366,10 +2443,10 @@ /* If we don't have a version for this symbol, see if we can find something. */ - if (h->verinfo.vertree == NULL && sinfo->info->version_info != NULL) + if (!hide + && h->verinfo.vertree == NULL + && sinfo->info->version_info != NULL) { - bfd_boolean hide; - h->verinfo.vertree = bfd_find_version_for_sym (sinfo->info->version_info, h->root.root.string, &hide); @@ -4603,10 +4680,17 @@ (struct bfd_link_hash_entry **) sym_hash))) goto error_free_vers; - if ((flags & BSF_GNU_UNIQUE) - && (abfd->flags & DYNAMIC) == 0 - && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour) - elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_unique; + if ((abfd->flags & DYNAMIC) == 0 + && (bfd_get_flavour (info->output_bfd) + == bfd_target_elf_flavour)) + { + if (ELF_ST_TYPE (isym->st_info) == STT_GNU_IFUNC) + elf_tdata (info->output_bfd)->has_gnu_symbols + |= elf_gnu_symbol_ifunc; + if ((flags & BSF_GNU_UNIQUE)) + elf_tdata (info->output_bfd)->has_gnu_symbols + |= elf_gnu_symbol_unique; + } h = *sym_hash; /* We need to make sure that indirect symbol dynamic flags are @@ -7429,6 +7513,26 @@ } } +/* Hide a symbol. */ + +void +_bfd_elf_link_hide_symbol (bfd *output_bfd, + struct bfd_link_info *info, + struct bfd_link_hash_entry *h) +{ + if (is_elf_hash_table (info->hash)) + { + const struct elf_backend_data *bed + = get_elf_backend_data (output_bfd); + struct elf_link_hash_entry *eh + = (struct elf_link_hash_entry *) h; + bed->elf_backend_hide_symbol (info, eh, TRUE); + eh->def_dynamic = 0; + eh->ref_dynamic = 0; + eh->dynamic_def = 0; + } +} + /* Initialize an ELF linker hash table. *TABLE has been zeroed by our caller. */ diff -Nru binutils-2.30.51.20180512/bfd/elfnn-riscv.c binutils-2.30.52.20180613/bfd/elfnn-riscv.c --- binutils-2.30.51.20180512/bfd/elfnn-riscv.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/elfnn-riscv.c 2018-06-04 21:27:35.000000000 +0200 @@ -1001,7 +1001,8 @@ else { s->size += RISCV_ELF_WORD_BYTES; - if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, bfd_link_pic (info), h)) + if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, bfd_link_pic (info), h) + && ! UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) htab->elf.srelgot->size += sizeof (ElfNN_External_Rela); } } @@ -1040,7 +1041,8 @@ if (eh->dyn_relocs != NULL && h->root.type == bfd_link_hash_undefweak) { - if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT) + if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT + || UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) eh->dyn_relocs = NULL; /* Make sure undefined weak symbols are output as a dynamic @@ -1731,6 +1733,7 @@ int r_type = ELFNN_R_TYPE (rel->r_info), tls_type; reloc_howto_type *howto = riscv_elf_rtype_to_howto (input_bfd, r_type); const char *msg = NULL; + bfd_boolean resolved_to_zero; if (howto == NULL || r_type == R_RISCV_GNU_VTINHERIT || r_type == R_RISCV_GNU_VTENTRY) @@ -1785,6 +1788,9 @@ name = bfd_section_name (input_bfd, sec); } + resolved_to_zero = (h != NULL + && UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)); + switch (r_type) { case R_RISCV_NONE: @@ -1925,8 +1931,24 @@ } break; - case R_RISCV_CALL_PLT: case R_RISCV_CALL: + /* Handle a call to an undefined weak function. This won't be + relaxed, so we have to handle it here. */ + if (h != NULL && h->root.type == bfd_link_hash_undefweak + && h->plt.offset == MINUS_ONE) + { + /* We can use x0 as the base register. */ + bfd_vma insn = bfd_get_32 (input_bfd, + contents + rel->r_offset + 4); + insn &= ~(OP_MASK_RS1 << OP_SH_RS1); + bfd_put_32 (input_bfd, insn, contents + rel->r_offset + 4); + /* Set the relocation value so that we get 0 after the pc + relative adjustment. */ + relocation = sec_addr (input_section) + rel->r_offset; + } + /* Fall through. */ + + case R_RISCV_CALL_PLT: case R_RISCV_JAL: case R_RISCV_RVC_JUMP: if (bfd_link_pic (info) && h != NULL && h->plt.offset != MINUS_ONE) @@ -2032,7 +2054,8 @@ if ((bfd_link_pic (info) && (h == NULL - || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT + || (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT + && !resolved_to_zero) || h->root.type != bfd_link_hash_undefweak) && (! howto->pc_relative || !SYMBOL_CALLS_LOCAL (info, h))) @@ -2356,7 +2379,8 @@ } if (h->got.offset != (bfd_vma) -1 - && !(riscv_elf_hash_entry (h)->tls_type & (GOT_TLS_GD | GOT_TLS_IE))) + && !(riscv_elf_hash_entry (h)->tls_type & (GOT_TLS_GD | GOT_TLS_IE)) + && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) { asection *sgot; asection *srela; @@ -2617,6 +2641,14 @@ goto fail; } + /* Disallow linking RVE and non-RVE. */ + if ((old_flags ^ new_flags) & EF_RISCV_RVE) + { + (*_bfd_error_handler) + (_("%pB: can't link RVE with other target"), ibfd); + goto fail; + } + /* Allow linking RVC and non-RVC, and keep the RVC flag. */ elf_elfheader (obfd)->e_flags |= new_flags & EF_RISCV_RVC; @@ -2692,9 +2724,12 @@ call to SYMBOL as well. Since both __wrap_SYMBOL and SYMBOL reference the same symbol (which is __wrap_SYMBOL), but still exist as two different symbols in 'sym_hashes', we don't want to adjust - the global symbol __wrap_SYMBOL twice. - This check is only relevant when symbols are being wrapped. */ - if (link_info->wrap_hash != NULL) + the global symbol __wrap_SYMBOL twice. */ + /* The same problem occurs with symbols that are versioned_hidden, as + foo becomes an alias for foo@BAR, and hence they need the same + treatment. */ + if (link_info->wrap_hash != NULL + || sym_hash->versioned == versioned_hidden) { struct elf_link_hash_entry **cur_sym_hashes; diff -Nru binutils-2.30.51.20180512/bfd/elf-s390-common.c binutils-2.30.52.20180613/bfd/elf-s390-common.c --- binutils-2.30.51.20180512/bfd/elf-s390-common.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/elf-s390-common.c 2018-06-04 21:27:35.000000000 +0200 @@ -223,25 +223,6 @@ return TRUE; } -/* Pick ELFOSABI_GNU if IFUNC symbols are used. */ - -static bfd_boolean -elf_s390_add_symbol_hook (bfd *abfd, - struct bfd_link_info *info, - Elf_Internal_Sym *sym, - const char **namep ATTRIBUTE_UNUSED, - flagword *flagsp ATTRIBUTE_UNUSED, - asection **secp ATTRIBUTE_UNUSED, - bfd_vma *valp ATTRIBUTE_UNUSED) -{ - if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC - && (abfd->flags & DYNAMIC) == 0 - && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour) - elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc; - - return TRUE; -} - /* Whether to sort relocs output by ld -r or ld --emit-relocs, by r_offset. Don't do so for code sections. We want to keep ordering of GDCALL / PLT32DBL for TLS optimizations as is. On the other diff -Nru binutils-2.30.51.20180512/bfd/elfxx-aarch64.c binutils-2.30.52.20180613/bfd/elfxx-aarch64.c --- binutils-2.30.51.20180512/bfd/elfxx-aarch64.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/elfxx-aarch64.c 2018-06-04 21:27:35.000000000 +0200 @@ -558,25 +558,6 @@ return value; } -/* Hook called by the linker routine which adds symbols from an object - file. */ - -bfd_boolean -_bfd_aarch64_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info, - Elf_Internal_Sym *sym, - const char **namep ATTRIBUTE_UNUSED, - flagword *flagsp ATTRIBUTE_UNUSED, - asection **secp ATTRIBUTE_UNUSED, - bfd_vma *valp ATTRIBUTE_UNUSED) -{ - if (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC - && (abfd->flags & DYNAMIC) == 0 - && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour) - elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_ifunc; - - return TRUE; -} - /* Support for core dump NOTE sections. */ bfd_boolean @@ -659,7 +640,16 @@ va_start (ap, note_type); memset (data, 0, sizeof (data)); strncpy (data + 40, va_arg (ap, const char *), 16); + DIAGNOSTIC_PUSH; + /* GCC 8.1 warns about 80 equals destination size with + -Wstringop-truncation: + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643 + */ +#if GCC_VERSION == 8001 + DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION; +#endif strncpy (data + 56, va_arg (ap, const char *), 80); + DIAGNOSTIC_POP; va_end (ap); return elfcore_write_note (abfd, buf, bufsiz, "CORE", diff -Nru binutils-2.30.51.20180512/bfd/elfxx-aarch64.h binutils-2.30.52.20180613/bfd/elfxx-aarch64.h --- binutils-2.30.51.20180512/bfd/elfxx-aarch64.h 2018-01-05 03:08:28.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/elfxx-aarch64.h 2018-06-04 21:27:35.000000000 +0200 @@ -48,11 +48,6 @@ bfd_vma, bfd_boolean); extern bfd_boolean -_bfd_aarch64_elf_add_symbol_hook (bfd *, struct bfd_link_info *, - Elf_Internal_Sym *, const char **, - flagword *, asection **, bfd_vma *); - -extern bfd_boolean _bfd_aarch64_elf_grok_prstatus (bfd *, Elf_Internal_Note *); extern bfd_boolean @@ -61,7 +56,6 @@ extern char * _bfd_aarch64_elf_write_core_note (bfd *, char *, int *, int, ...); -#define elf_backend_add_symbol_hook _bfd_aarch64_elf_add_symbol_hook #define elf_backend_grok_prstatus _bfd_aarch64_elf_grok_prstatus #define elf_backend_grok_psinfo _bfd_aarch64_elf_grok_psinfo #define elf_backend_write_core_note _bfd_aarch64_elf_write_core_note diff -Nru binutils-2.30.51.20180512/bfd/elfxx-target.h binutils-2.30.52.20180613/bfd/elfxx-target.h --- binutils-2.30.51.20180512/bfd/elfxx-target.h 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/elfxx-target.h 2018-06-04 21:27:35.000000000 +0200 @@ -205,6 +205,10 @@ #define bfd_elfNN_bfd_define_common_symbol bfd_generic_define_common_symbol #endif +#ifndef bfd_elfNN_bfd_link_hide_symbol +#define bfd_elfNN_bfd_link_hide_symbol _bfd_elf_link_hide_symbol +#endif + #ifndef bfd_elfNN_bfd_lookup_section_flags #define bfd_elfNN_bfd_lookup_section_flags bfd_elf_lookup_section_flags #endif diff -Nru binutils-2.30.51.20180512/bfd/elfxx-x86.c binutils-2.30.52.20180613/bfd/elfxx-x86.c --- binutils-2.30.51.20180512/bfd/elfxx-x86.c 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/elfxx-x86.c 2018-06-13 10:31:38.000000000 +0200 @@ -849,6 +849,54 @@ return 0; } +/* Mark symbol, NAME, as locally defined by linker if it is referenced + and not defined in a relocatable object file. */ + +static void +elf_x86_linker_defined (struct bfd_link_info *info, const char *name) +{ + struct elf_link_hash_entry *h; + + h = elf_link_hash_lookup (elf_hash_table (info), name, + FALSE, FALSE, FALSE); + if (h == NULL) + return; + + while (h->root.type == bfd_link_hash_indirect) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + + if (h->root.type == bfd_link_hash_new + || h->root.type == bfd_link_hash_undefined + || h->root.type == bfd_link_hash_undefweak + || h->root.type == bfd_link_hash_common + || (!h->def_regular && h->def_dynamic)) + { + elf_x86_hash_entry (h)->local_ref = 2; + elf_x86_hash_entry (h)->linker_def = 1; + } +} + +/* Hide a linker-defined symbol, NAME, with hidden visibility. */ + +static void +elf_x86_hide_linker_defined (struct bfd_link_info *info, + const char *name) +{ + struct elf_link_hash_entry *h; + + h = elf_link_hash_lookup (elf_hash_table (info), name, + FALSE, FALSE, FALSE); + if (h == NULL) + return; + + while (h->root.type == bfd_link_hash_indirect) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + + if (ELF_ST_VISIBILITY (h->other) == STV_INTERNAL + || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN) + _bfd_elf_link_hash_hide_symbol (info, h, TRUE); +} + bfd_boolean _bfd_x86_elf_link_check_relocs (bfd *abfd, struct bfd_link_info *info) { @@ -879,17 +927,23 @@ /* "__ehdr_start" will be defined by linker as a hidden symbol later if it is referenced and not defined. */ - h = elf_link_hash_lookup (elf_hash_table (info), - "__ehdr_start", - FALSE, FALSE, FALSE); - if (h != NULL - && (h->root.type == bfd_link_hash_new - || h->root.type == bfd_link_hash_undefined - || h->root.type == bfd_link_hash_undefweak - || h->root.type == bfd_link_hash_common)) + elf_x86_linker_defined (info, "__ehdr_start"); + + if (bfd_link_executable (info)) + { + /* References to __bss_start, _end and _edata should be + locally resolved within executables. */ + elf_x86_linker_defined (info, "__bss_start"); + elf_x86_linker_defined (info, "_end"); + elf_x86_linker_defined (info, "_edata"); + } + else { - elf_x86_hash_entry (h)->local_ref = 2; - elf_x86_hash_entry (h)->linker_def = 1; + /* Hide hidden __bss_start, _end and _edata in shared + libraries. */ + elf_x86_hide_linker_defined (info, "__bss_start"); + elf_x86_hide_linker_defined (info, "_end"); + elf_x86_hide_linker_defined (info, "_edata"); } } } @@ -1705,6 +1759,52 @@ return TRUE; } +/* Change the STT_GNU_IFUNC symbol defined in position-dependent + executable into the normal function symbol and set its address + to its PLT entry, which should be resolved by R_*_IRELATIVE at + run-time. */ + +void +_bfd_x86_elf_link_fixup_ifunc_symbol (struct bfd_link_info *info, + struct elf_x86_link_hash_table *htab, + struct elf_link_hash_entry *h, + Elf_Internal_Sym *sym) +{ + if (bfd_link_pde (info) + && h->def_regular + && h->dynindx != -1 + && h->plt.offset != (bfd_vma) -1 + && h->type == STT_GNU_IFUNC + && h->pointer_equality_needed) + { + asection *plt_s; + bfd_vma plt_offset; + bfd *output_bfd = info->output_bfd; + + if (htab->plt_second) + { + struct elf_x86_link_hash_entry *eh + = (struct elf_x86_link_hash_entry *) h; + + plt_s = htab->plt_second; + plt_offset = eh->plt_second.offset; + } + else + { + plt_s = htab->elf.splt; + plt_offset = h->plt.offset; + } + + sym->st_size = 0; + sym->st_info = ELF_ST_INFO (ELF_ST_BIND (sym->st_info), STT_FUNC); + sym->st_shndx + = _bfd_elf_section_from_bfd_section (output_bfd, + plt_s->output_section); + sym->st_value = (plt_s->output_section->vma + + plt_s->output_offset + plt_offset); + } +} + /* Return TRUE if symbol should be hashed in the `.gnu.hash' section. */ bfd_boolean @@ -1967,10 +2067,8 @@ && htab->interp == NULL) || info->dynamic_undefined_weak == 0)) || ((h->def_regular || ELF_COMMON_DEF_P (h)) - && h->versioned == unversioned && info->version_info != NULL - && bfd_hide_sym_by_version (info->version_info, - h->root.root.string))) + && _bfd_elf_link_hide_sym_by_version (info, h))) { eh->local_ref = 2; return TRUE; diff -Nru binutils-2.30.51.20180512/bfd/elfxx-x86.h binutils-2.30.52.20180613/bfd/elfxx-x86.h --- binutils-2.30.51.20180512/bfd/elfxx-x86.h 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/elfxx-x86.h 2018-06-04 21:27:35.000000000 +0200 @@ -285,16 +285,30 @@ struct elf_x86_lazy_plt_layout { - /* The first entry in an absolute lazy procedure linkage table looks - like this. */ + /* The first entry in a lazy procedure linkage table looks like this. */ const bfd_byte *plt0_entry; unsigned int plt0_entry_size; /* Size of PLT0 entry. */ - /* Later entries in an absolute lazy procedure linkage table look - like this. */ + /* Later entries in a lazy procedure linkage table look like this. */ const bfd_byte *plt_entry; unsigned int plt_entry_size; /* Size of each PLT entry. */ + /* The TLSDESC entry in a lazy procedure linkage table looks like + this. This is for x86-64 only. */ + const bfd_byte *plt_tlsdesc_entry; + unsigned int plt_tlsdesc_entry_size; /* Size of TLSDESC entry. */ + + /* Offsets into the TLSDESC entry that are to be replaced with + GOT+8 and GOT+TDG. These are for x86-64 only. */ + unsigned int plt_tlsdesc_got1_offset; + unsigned int plt_tlsdesc_got2_offset; + + /* Offset of the end of the PC-relative instructions containing + plt_tlsdesc_got1_offset and plt_tlsdesc_got2_offset. These + are for x86-64 only. */ + unsigned int plt_tlsdesc_got1_insn_end; + unsigned int plt_tlsdesc_got2_insn_end; + /* Offsets into plt0_entry that are to be replaced with GOT[1] and GOT[2]. */ unsigned int plt0_got1_offset; @@ -336,10 +350,11 @@ struct elf_x86_non_lazy_plt_layout { - /* Entries in an absolute non-lazy procedure linkage table look like - this. */ + /* Entries in a non-lazy procedure linkage table look like this. */ const bfd_byte *plt_entry; - /* Entries in a PIC non-lazy procedure linkage table look like this. */ + /* Entries in a PIC non-lazy procedure linkage table look like this. + This is only used for i386 where absolute PLT and PIC PLT are + different. */ const bfd_byte *pic_plt_entry; unsigned int plt_entry_size; /* Size of each PLT entry. */ @@ -358,9 +373,7 @@ struct elf_x86_plt_layout { - /* The first entry in a lazy procedure linkage table looks like this. - This is only used for i386 where absolute PLT0 and PIC PLT0 are - different. */ + /* The first entry in a lazy procedure linkage table looks like this. */ const bfd_byte *plt0_entry; /* Entries in a procedure linkage table look like this. */ const bfd_byte *plt_entry; @@ -674,6 +687,10 @@ extern bfd * _bfd_x86_elf_link_setup_gnu_properties (struct bfd_link_info *, struct elf_x86_init_table *); +extern void _bfd_x86_elf_link_fixup_ifunc_symbol + (struct bfd_link_info *, struct elf_x86_link_hash_table *, + struct elf_link_hash_entry *, Elf_Internal_Sym *sym); + #define bfd_elf64_mkobject \ _bfd_x86_elf_mkobject #define bfd_elf32_mkobject \ diff -Nru binutils-2.30.51.20180512/bfd/format.c binutils-2.30.52.20180613/bfd/format.c --- binutils-2.30.51.20180512/bfd/format.c 2018-01-05 03:08:28.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/format.c 2018-05-16 15:49:14.000000000 +0200 @@ -103,6 +103,7 @@ struct bfd_section *sections; struct bfd_section *section_last; unsigned int section_count; + unsigned int section_id; struct bfd_hash_table section_htab; const struct bfd_build_id *build_id; }; @@ -125,6 +126,7 @@ preserve->sections = abfd->sections; preserve->section_last = abfd->section_last; preserve->section_count = abfd->section_count; + preserve->section_id = _bfd_section_id; preserve->section_htab = abfd->section_htab; preserve->marker = bfd_alloc (abfd, 1); preserve->build_id = abfd->build_id; @@ -138,12 +140,13 @@ /* Clear out a subset of BFD state. */ static void -bfd_reinit (bfd *abfd) +bfd_reinit (bfd *abfd, unsigned int section_id) { abfd->tdata.any = NULL; abfd->arch_info = &bfd_default_arch_struct; abfd->flags &= BFD_FLAGS_SAVED; bfd_section_list_clear (abfd); + _bfd_section_id = section_id; } /* Restores bfd state saved by bfd_preserve_save. */ @@ -160,6 +163,7 @@ abfd->sections = preserve->sections; abfd->section_last = preserve->section_last; abfd->section_count = preserve->section_count; + _bfd_section_id = preserve->section_id; abfd->build_id = preserve->build_id; /* bfd_release frees all memory more recently bfd_alloc'd than @@ -214,6 +218,7 @@ const bfd_target *save_targ, *right_targ, *ar_right_targ, *match_targ; int match_count, best_count, best_match; int ar_match_index; + unsigned int initial_section_id = _bfd_section_id; struct bfd_preserve preserve; if (matching != NULL) @@ -287,14 +292,13 @@ /* Don't check the default target twice. */ if (*target == &binary_vec - || (!abfd->target_defaulted && *target == save_targ) - || (*target)->match_priority > best_match) + || (!abfd->target_defaulted && *target == save_targ)) continue; /* If we already tried a match, the bfd is modified and may have sections attached, which will confuse the next _bfd_check_format call. */ - bfd_reinit (abfd); + bfd_reinit (abfd, initial_section_id); /* Change BFD's target temporarily. */ abfd->xvec = *target; @@ -329,9 +333,6 @@ || (bfd_has_map (abfd) && bfd_get_error () != bfd_error_wrong_object_format)) { - /* This format checks out as ok! */ - right_targ = temp; - /* If this is the default target, accept it, even if other targets might match. People who want those other targets have to set the GNUTARGET variable. */ @@ -347,7 +348,12 @@ best_match = match_priority; best_count = 0; } - best_count++; + if (match_priority <= best_match) + { + /* This format checks out as ok! */ + right_targ = temp; + best_count++; + } } else { @@ -446,7 +452,7 @@ state (except possibly for XVEC). */ if (match_targ != right_targ) { - bfd_reinit (abfd); + bfd_reinit (abfd, initial_section_id); if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0) goto err_ret; match_targ = BFD_SEND_FMT (abfd, _bfd_check_format, (abfd)); diff -Nru binutils-2.30.51.20180512/bfd/i386msdos.c binutils-2.30.52.20180613/bfd/i386msdos.c --- binutils-2.30.51.20180512/bfd/i386msdos.c 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/i386msdos.c 2018-06-04 21:27:35.000000000 +0200 @@ -230,6 +230,7 @@ #define msdos_section_already_linked \ _bfd_generic_section_already_linked #define msdos_bfd_define_common_symbol bfd_generic_define_common_symbol +#define msdos_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define msdos_bfd_define_start_stop bfd_generic_define_start_stop #define msdos_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define msdos_bfd_link_add_symbols _bfd_generic_link_add_symbols diff -Nru binutils-2.30.51.20180512/bfd/ihex.c binutils-2.30.52.20180613/bfd/ihex.c --- binutils-2.30.51.20180512/bfd/ihex.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/ihex.c 2018-06-04 21:27:35.000000000 +0200 @@ -943,6 +943,7 @@ #define ihex_bfd_discard_group bfd_generic_discard_group #define ihex_section_already_linked _bfd_generic_section_already_linked #define ihex_bfd_define_common_symbol bfd_generic_define_common_symbol +#define ihex_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define ihex_bfd_define_start_stop bfd_generic_define_start_stop #define ihex_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define ihex_bfd_link_add_symbols _bfd_generic_link_add_symbols diff -Nru binutils-2.30.51.20180512/bfd/libbfd.c binutils-2.30.52.20180613/bfd/libbfd.c --- binutils-2.30.51.20180512/bfd/libbfd.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/libbfd.c 2018-06-04 21:27:35.000000000 +0200 @@ -613,6 +613,27 @@ addr[1] = (data >> 8) & 0xff; } + +void +bfd_putb24 (bfd_vma data, void *p) +{ + bfd_byte *addr = (bfd_byte *) p; + addr[0] = (data >> 16) & 0xff; + addr[1] = (data >> 8) & 0xff; + addr[2] = data & 0xff; +} + + +void +bfd_putl24 (bfd_vma data, void *p) +{ + bfd_byte *addr = (bfd_byte *) p; + addr[0] = data & 0xff; + addr[1] = (data >> 8) & 0xff; + addr[2] = (data >> 16) & 0xff; +} + + bfd_vma bfd_getb32 (const void *p) { diff -Nru binutils-2.30.51.20180512/bfd/libbfd.h binutils-2.30.52.20180613/bfd/libbfd.h --- binutils-2.30.51.20180512/bfd/libbfd.h 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/libbfd.h 2018-06-04 21:27:35.000000000 +0200 @@ -27,6 +27,17 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ +#ifndef _LIBBFD_H +#define _LIBBFD_H 1 + +#ifndef ATTRIBUTE_HIDDEN +#if HAVE_HIDDEN +#define ATTRIBUTE_HIDDEN __attribute__ ((__visibility__ ("hidden"))) +#else +#define ATTRIBUTE_HIDDEN +#endif +#endif + #include "hashtab.h" #ifdef __cplusplus @@ -58,6 +69,9 @@ asection section; }; +/* Unique section id. */ +extern unsigned int _bfd_section_id ATTRIBUTE_HIDDEN; + /* tdata for an archive. For an input archive, cache needs to be free()'d. For an output archive, symdefs do. */ @@ -100,51 +114,49 @@ #define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size) extern void *bfd_malloc - (bfd_size_type); + (bfd_size_type) ATTRIBUTE_HIDDEN; extern void *bfd_realloc - (void *, bfd_size_type); + (void *, bfd_size_type) ATTRIBUTE_HIDDEN; extern void *bfd_realloc_or_free - (void *, bfd_size_type); + (void *, bfd_size_type) ATTRIBUTE_HIDDEN; extern void *bfd_zmalloc - (bfd_size_type); + (bfd_size_type) ATTRIBUTE_HIDDEN; extern void *bfd_malloc2 - (bfd_size_type, bfd_size_type); + (bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; extern void *bfd_realloc2 - (void *, bfd_size_type, bfd_size_type); + (void *, bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; extern void *bfd_zmalloc2 - (bfd_size_type, bfd_size_type); - -extern void _bfd_error_handler (const char *s, ...) ATTRIBUTE_PRINTF_1; + (bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; /* These routines allocate and free things on the BFD's objalloc. */ extern void *bfd_alloc2 - (bfd *, bfd_size_type, bfd_size_type); + (bfd *, bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; extern void *bfd_zalloc2 - (bfd *, bfd_size_type, bfd_size_type); + (bfd *, bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; extern void bfd_release - (bfd *, void *); + (bfd *, void *) ATTRIBUTE_HIDDEN; -bfd * _bfd_create_empty_archive_element_shell - (bfd *); -bfd * _bfd_look_for_bfd_in_cache - (bfd *, file_ptr); -bfd_boolean _bfd_add_bfd_to_archive_cache - (bfd *, file_ptr, bfd *); -bfd_boolean _bfd_generic_mkarchive - (bfd *); -char *_bfd_append_relative_path - (bfd *, char *); -const bfd_target *bfd_generic_archive_p - (bfd *); -bfd_boolean bfd_slurp_armap - (bfd *); +extern bfd * _bfd_create_empty_archive_element_shell + (bfd *) ATTRIBUTE_HIDDEN; +extern bfd * _bfd_look_for_bfd_in_cache + (bfd *, file_ptr) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_add_bfd_to_archive_cache + (bfd *, file_ptr, bfd *) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_generic_mkarchive + (bfd *) ATTRIBUTE_HIDDEN; +extern char *_bfd_append_relative_path + (bfd *, char *) ATTRIBUTE_HIDDEN; +extern const bfd_target *bfd_generic_archive_p + (bfd *) ATTRIBUTE_HIDDEN; +extern bfd_boolean bfd_slurp_armap + (bfd *) ATTRIBUTE_HIDDEN; #define bfd_slurp_bsd_armap bfd_slurp_armap #define bfd_slurp_coff_armap bfd_slurp_armap -bfd_boolean _bfd_archive_64_bit_slurp_armap - (bfd *); -bfd_boolean _bfd_archive_64_bit_write_armap - (bfd *, unsigned int, struct orl *, unsigned int, int); +extern bfd_boolean _bfd_archive_64_bit_slurp_armap + (bfd *) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_archive_64_bit_write_armap + (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN; #define _bfd_archive_64_bit_slurp_extended_name_table \ _bfd_slurp_extended_name_table #define _bfd_archive_64_bit_construct_extended_name_table \ @@ -163,101 +175,101 @@ bfd_generic_stat_arch_elt #define _bfd_archive_64_bit_update_armap_timestamp _bfd_bool_bfd_true -bfd_boolean _bfd_slurp_extended_name_table - (bfd *); +extern bfd_boolean _bfd_slurp_extended_name_table + (bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_construct_extended_name_table - (bfd *, bfd_boolean, char **, bfd_size_type *); -bfd_boolean _bfd_write_archive_contents - (bfd *); -bfd_boolean _bfd_compute_and_write_armap - (bfd *, unsigned int); -bfd *_bfd_get_elt_at_filepos - (bfd *, file_ptr); + (bfd *, bfd_boolean, char **, bfd_size_type *) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_write_archive_contents + (bfd *) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_compute_and_write_armap + (bfd *, unsigned int) ATTRIBUTE_HIDDEN; +extern bfd *_bfd_get_elt_at_filepos + (bfd *, file_ptr) ATTRIBUTE_HIDDEN; extern bfd *_bfd_generic_get_elt_at_index - (bfd *, symindex); -bfd * _bfd_new_bfd - (void); -bfd_boolean _bfd_free_cached_info - (bfd *); + (bfd *, symindex) ATTRIBUTE_HIDDEN; +extern bfd * _bfd_new_bfd + (void) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_free_cached_info + (bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_false - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_asymbol_false - (bfd *, asymbol *); + (bfd *, asymbol *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_false_error - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_link_false_error - (bfd *, struct bfd_link_info *); + (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_true - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_link_true - (bfd *, struct bfd_link_info *); + (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_bfd_true - (bfd *, bfd *); + (bfd *, bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_uint_true - (bfd *, unsigned int); + (bfd *, unsigned int) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_asection_bfd_asection_true - (bfd *, asection *, bfd *, asection *); + (bfd *, asection *, bfd *, asection *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_asymbol_bfd_asymbol_true - (bfd *, asymbol *, bfd *, asymbol *); + (bfd *, asymbol *, bfd *, asymbol *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_ptr_true - (bfd *, void *); + (bfd *, void *) ATTRIBUTE_HIDDEN; extern void *_bfd_ptr_bfd_null_error - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern int _bfd_int_bfd_0 - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern unsigned int _bfd_uint_bfd_0 - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern long _bfd_long_bfd_0 - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern long _bfd_long_bfd_n1_error - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern void _bfd_void_bfd - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern void _bfd_void_bfd_link - (bfd *, struct bfd_link_info *); + (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern void _bfd_void_bfd_asection - (bfd *, asection *); + (bfd *, asection *) ATTRIBUTE_HIDDEN; -bfd *_bfd_new_bfd_contained_in - (bfd *); -const bfd_target *_bfd_dummy_target - (bfd *); - -void bfd_dont_truncate_arname - (bfd *, const char *, char *); -void bfd_bsd_truncate_arname - (bfd *, const char *, char *); -void bfd_gnu_truncate_arname - (bfd *, const char *, char *); +extern bfd *_bfd_new_bfd_contained_in + (bfd *) ATTRIBUTE_HIDDEN; +extern const bfd_target *_bfd_dummy_target + (bfd *) ATTRIBUTE_HIDDEN; + +extern void bfd_dont_truncate_arname + (bfd *, const char *, char *) ATTRIBUTE_HIDDEN; +extern void bfd_bsd_truncate_arname + (bfd *, const char *, char *) ATTRIBUTE_HIDDEN; +extern void bfd_gnu_truncate_arname + (bfd *, const char *, char *) ATTRIBUTE_HIDDEN; -bfd_boolean _bfd_bsd_write_armap - (bfd *, unsigned int, struct orl *, unsigned int, int); +extern bfd_boolean _bfd_bsd_write_armap + (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN; -bfd_boolean _bfd_coff_write_armap - (bfd *, unsigned int, struct orl *, unsigned int, int); +extern bfd_boolean _bfd_coff_write_armap + (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN; extern void *_bfd_generic_read_ar_hdr - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern void _bfd_ar_spacepad - (char *, size_t, const char *, long); + (char *, size_t, const char *, long) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_ar_sizepad - (char *, size_t, bfd_size_type); + (char *, size_t, bfd_size_type) ATTRIBUTE_HIDDEN; extern void *_bfd_generic_read_ar_hdr_mag - (bfd *, const char *); + (bfd *, const char *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_generic_write_ar_hdr - (bfd *, bfd *); + (bfd *, bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bsd44_write_ar_hdr - (bfd *, bfd *); + (bfd *, bfd *) ATTRIBUTE_HIDDEN; -bfd * bfd_generic_openr_next_archived_file - (bfd *, bfd *); +extern bfd * bfd_generic_openr_next_archived_file + (bfd *, bfd *) ATTRIBUTE_HIDDEN; -int bfd_generic_stat_arch_elt - (bfd *, struct stat *); +extern int bfd_generic_stat_arch_elt + (bfd *, struct stat *) ATTRIBUTE_HIDDEN; #define _bfd_read_ar_hdr(abfd) \ BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd)) @@ -269,14 +281,14 @@ #define _bfd_generic_close_and_cleanup _bfd_archive_close_and_cleanup extern bfd_boolean _bfd_archive_close_and_cleanup - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; #define _bfd_generic_bfd_free_cached_info _bfd_bool_bfd_true extern bfd_boolean _bfd_generic_new_section_hook - (bfd *, asection *); + (bfd *, asection *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_generic_get_section_contents - (bfd *, asection *, void *, file_ptr, bfd_size_type); + (bfd *, asection *, void *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_generic_get_section_contents_in_window - (bfd *, asection *, bfd_window *, file_ptr, bfd_size_type); + (bfd *, asection *, bfd_window *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN; /* Generic routines to use for BFD_JUMP_TABLE_COPY. Use BFD_JUMP_TABLE_COPY (_bfd_generic). */ @@ -293,19 +305,20 @@ #define _bfd_generic_bfd_print_private_bfd_data _bfd_bool_bfd_ptr_true extern bfd_boolean _bfd_generic_init_private_section_data - (bfd *, asection *, bfd *, asection *, struct bfd_link_info *); + (bfd *, asection *, bfd *, asection *, struct bfd_link_info *) + ATTRIBUTE_HIDDEN; /* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file support. Use BFD_JUMP_TABLE_CORE (_bfd_nocore). */ extern char *_bfd_nocore_core_file_failing_command - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern int _bfd_nocore_core_file_failing_signal - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nocore_core_file_matches_executable_p - (bfd *, bfd *); + (bfd *, bfd *) ATTRIBUTE_HIDDEN; extern int _bfd_nocore_core_file_pid - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; /* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive file support. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive). */ @@ -313,19 +326,19 @@ #define _bfd_noarchive_slurp_armap _bfd_bool_bfd_false_error #define _bfd_noarchive_slurp_extended_name_table _bfd_bool_bfd_false_error extern bfd_boolean _bfd_noarchive_construct_extended_name_table - (bfd *, char **, bfd_size_type *, const char **); + (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN; extern void _bfd_noarchive_truncate_arname - (bfd *, const char *, char *); + (bfd *, const char *, char *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_noarchive_write_armap - (bfd *, unsigned int, struct orl *, unsigned int, int); + (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN; #define _bfd_noarchive_read_ar_hdr _bfd_ptr_bfd_null_error extern bfd_boolean _bfd_noarchive_write_ar_hdr - (bfd *, bfd *); + (bfd *, bfd *) ATTRIBUTE_HIDDEN; extern bfd * _bfd_noarchive_openr_next_archived_file - (bfd *, bfd *); + (bfd *, bfd *) ATTRIBUTE_HIDDEN; extern bfd * _bfd_noarchive_get_elt_at_index - (bfd *, symindex); + (bfd *, symindex) ATTRIBUTE_HIDDEN; #define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt #define _bfd_noarchive_update_armap_timestamp _bfd_bool_bfd_false_error @@ -336,7 +349,7 @@ #define _bfd_archive_bsd_slurp_extended_name_table \ _bfd_slurp_extended_name_table extern bfd_boolean _bfd_archive_bsd_construct_extended_name_table - (bfd *, char **, bfd_size_type *, const char **); + (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN; #define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname #define _bfd_archive_bsd_write_armap _bfd_bsd_write_armap #define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr @@ -347,7 +360,7 @@ #define _bfd_archive_bsd_generic_stat_arch_elt \ bfd_generic_stat_arch_elt extern bfd_boolean _bfd_archive_bsd_update_armap_timestamp - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get COFF style archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff). */ @@ -356,7 +369,7 @@ #define _bfd_archive_coff_slurp_extended_name_table \ _bfd_slurp_extended_name_table extern bfd_boolean _bfd_archive_coff_construct_extended_name_table - (bfd *, char **, bfd_size_type *, const char **); + (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN; #define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname #define _bfd_archive_coff_write_armap _bfd_coff_write_armap #define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr @@ -375,7 +388,7 @@ #define _bfd_archive_bsd44_slurp_extended_name_table \ _bfd_slurp_extended_name_table extern bfd_boolean _bfd_archive_bsd44_construct_extended_name_table - (bfd *, char **, bfd_size_type *, const char **); + (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN; #define _bfd_archive_bsd44_truncate_arname bfd_bsd_truncate_arname #define _bfd_archive_bsd44_write_armap _bfd_bsd_write_armap #define _bfd_archive_bsd44_read_ar_hdr _bfd_generic_read_ar_hdr @@ -392,7 +405,8 @@ archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_vms_lib). Some of them are irrelevant. */ -extern bfd_boolean _bfd_vms_lib_write_archive_contents (bfd *); +extern bfd_boolean _bfd_vms_lib_write_archive_contents + (bfd *) ATTRIBUTE_HIDDEN; #define _bfd_vms_lib_slurp_armap _bfd_noarchive_slurp_armap #define _bfd_vms_lib_slurp_extended_name_table \ _bfd_noarchive_slurp_extended_name_table @@ -402,114 +416,130 @@ #define _bfd_vms_lib_write_armap _bfd_noarchive_write_armap #define _bfd_vms_lib_read_ar_hdr _bfd_noarchive_read_ar_hdr #define _bfd_vms_lib_write_ar_hdr _bfd_noarchive_write_ar_hdr -extern bfd *_bfd_vms_lib_openr_next_archived_file (bfd *, bfd *); -extern bfd *_bfd_vms_lib_get_elt_at_index (bfd *, symindex); -extern int _bfd_vms_lib_generic_stat_arch_elt (bfd *, struct stat *); +extern bfd *_bfd_vms_lib_openr_next_archived_file + (bfd *, bfd *) ATTRIBUTE_HIDDEN; +extern bfd *_bfd_vms_lib_get_elt_at_index + (bfd *, symindex) ATTRIBUTE_HIDDEN; +extern int _bfd_vms_lib_generic_stat_arch_elt + (bfd *, struct stat *) ATTRIBUTE_HIDDEN; #define _bfd_vms_lib_update_armap_timestamp _bfd_bool_bfd_true /* Extra routines for VMS style archives. */ -extern symindex _bfd_vms_lib_find_symbol (bfd *, const char *); -extern bfd *_bfd_vms_lib_get_imagelib_file (bfd *); -extern const bfd_target *_bfd_vms_lib_alpha_archive_p (bfd *); -extern const bfd_target *_bfd_vms_lib_ia64_archive_p (bfd *); -extern bfd_boolean _bfd_vms_lib_alpha_mkarchive (bfd *); -extern bfd_boolean _bfd_vms_lib_ia64_mkarchive (bfd *); +extern symindex _bfd_vms_lib_find_symbol + (bfd *, const char *) ATTRIBUTE_HIDDEN; +extern bfd *_bfd_vms_lib_get_imagelib_file + (bfd *) ATTRIBUTE_HIDDEN; +extern const bfd_target *_bfd_vms_lib_alpha_archive_p + (bfd *) ATTRIBUTE_HIDDEN; +extern const bfd_target *_bfd_vms_lib_ia64_archive_p + (bfd *) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_vms_lib_alpha_mkarchive + (bfd *) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_vms_lib_ia64_mkarchive + (bfd *) ATTRIBUTE_HIDDEN; /* Routines to use for BFD_JUMP_TABLE_SYMBOLS where there is no symbol support. Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols). */ #define _bfd_nosymbols_get_symtab_upper_bound _bfd_long_bfd_n1_error extern long _bfd_nosymbols_canonicalize_symtab - (bfd *, asymbol **); + (bfd *, asymbol **) ATTRIBUTE_HIDDEN; #define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol extern void _bfd_nosymbols_print_symbol - (bfd *, void *, asymbol *, bfd_print_symbol_type); + (bfd *, void *, asymbol *, bfd_print_symbol_type) ATTRIBUTE_HIDDEN; extern void _bfd_nosymbols_get_symbol_info - (bfd *, asymbol *, symbol_info *); + (bfd *, asymbol *, symbol_info *) ATTRIBUTE_HIDDEN; extern const char * _bfd_nosymbols_get_symbol_version_string - (bfd *, asymbol *, bfd_boolean *); + (bfd *, asymbol *, bfd_boolean *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nosymbols_bfd_is_local_label_name - (bfd *, const char *); + (bfd *, const char *) ATTRIBUTE_HIDDEN; #define _bfd_nosymbols_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false extern alent *_bfd_nosymbols_get_lineno - (bfd *, asymbol *); + (bfd *, asymbol *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nosymbols_find_nearest_line (bfd *, asymbol **, asection *, bfd_vma, - const char **, const char **, unsigned int *, unsigned int *); + const char **, const char **, unsigned int *, unsigned int *) + ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nosymbols_find_line - (bfd *, asymbol **, asymbol *, const char **, unsigned int *); + (bfd *, asymbol **, asymbol *, const char **, unsigned int *) + ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nosymbols_find_inliner_info - (bfd *, const char **, const char **, unsigned int *); + (bfd *, const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN; extern asymbol *_bfd_nosymbols_bfd_make_debug_symbol - (bfd *, void *, unsigned long); + (bfd *, void *, unsigned long) ATTRIBUTE_HIDDEN; extern long _bfd_nosymbols_read_minisymbols - (bfd *, bfd_boolean, void **, unsigned int *); + (bfd *, bfd_boolean, void **, unsigned int *) ATTRIBUTE_HIDDEN; extern asymbol *_bfd_nosymbols_minisymbol_to_symbol - (bfd *, bfd_boolean, const void *, asymbol *); + (bfd *, bfd_boolean, const void *, asymbol *) ATTRIBUTE_HIDDEN; /* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc support. Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs). */ -extern long _bfd_norelocs_get_reloc_upper_bound (bfd *, asection *); -extern long _bfd_norelocs_canonicalize_reloc (bfd *, asection *, - arelent **, asymbol **); -extern void _bfd_norelocs_set_reloc (bfd *, asection *, - arelent **, unsigned int); +extern long _bfd_norelocs_get_reloc_upper_bound + (bfd *, asection *) ATTRIBUTE_HIDDEN; +extern long _bfd_norelocs_canonicalize_reloc + (bfd *, asection *, arelent **, asymbol **) ATTRIBUTE_HIDDEN; +extern void _bfd_norelocs_set_reloc + (bfd *, asection *, arelent **, unsigned int) ATTRIBUTE_HIDDEN; extern reloc_howto_type *_bfd_norelocs_bfd_reloc_type_lookup - (bfd *, bfd_reloc_code_real_type); + (bfd *, bfd_reloc_code_real_type) ATTRIBUTE_HIDDEN; extern reloc_howto_type *_bfd_norelocs_bfd_reloc_name_lookup - (bfd *, const char *); + (bfd *, const char *) ATTRIBUTE_HIDDEN; /* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not be written. Use BFD_JUMP_TABLE_WRITE (_bfd_nowrite). */ extern bfd_boolean _bfd_nowrite_set_arch_mach - (bfd *, enum bfd_architecture, unsigned long); + (bfd *, enum bfd_architecture, unsigned long) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nowrite_set_section_contents - (bfd *, asection *, const void *, file_ptr, bfd_size_type); + (bfd *, asection *, const void *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN; /* Generic routines to use for BFD_JUMP_TABLE_WRITE. Use BFD_JUMP_TABLE_WRITE (_bfd_generic). */ #define _bfd_generic_set_arch_mach bfd_default_set_arch_mach extern bfd_boolean _bfd_generic_set_section_contents - (bfd *, asection *, const void *, file_ptr, bfd_size_type); + (bfd *, asection *, const void *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN; /* Routines to use for BFD_JUMP_TABLE_LINK for targets which do not support linking. Use BFD_JUMP_TABLE_LINK (_bfd_nolink). */ extern int _bfd_nolink_sizeof_headers - (bfd *, struct bfd_link_info *); + (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern bfd_byte *_bfd_nolink_bfd_get_relocated_section_contents (bfd *, struct bfd_link_info *, struct bfd_link_order *, - bfd_byte *, bfd_boolean, asymbol **); + bfd_byte *, bfd_boolean, asymbol **) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nolink_bfd_relax_section - (bfd *, asection *, struct bfd_link_info *, bfd_boolean *); + (bfd *, asection *, struct bfd_link_info *, bfd_boolean *) ATTRIBUTE_HIDDEN; #define _bfd_nolink_bfd_gc_sections _bfd_bool_bfd_link_false_error extern bfd_boolean _bfd_nolink_bfd_lookup_section_flags - (struct bfd_link_info *, struct flag_info *, asection *); + (struct bfd_link_info *, struct flag_info *, asection *) ATTRIBUTE_HIDDEN; #define _bfd_nolink_bfd_merge_sections _bfd_bool_bfd_link_false_error extern bfd_boolean _bfd_nolink_bfd_is_group_section - (bfd *, const asection *); + (bfd *, const asection *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nolink_bfd_discard_group - (bfd *, asection *); + (bfd *, asection *) ATTRIBUTE_HIDDEN; extern struct bfd_link_hash_table *_bfd_nolink_bfd_link_hash_table_create - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; #define _bfd_nolink_bfd_link_add_symbols _bfd_bool_bfd_link_false_error extern void _bfd_nolink_bfd_link_just_syms - (asection *, struct bfd_link_info *); + (asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern void _bfd_nolink_bfd_copy_link_hash_symbol_type - (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *); + (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *) + ATTRIBUTE_HIDDEN; #define _bfd_nolink_bfd_final_link _bfd_bool_bfd_link_false_error extern bfd_boolean _bfd_nolink_bfd_link_split_section - (bfd *, struct bfd_section *); + (bfd *, struct bfd_section *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nolink_section_already_linked - (bfd *, asection *, struct bfd_link_info *); + (bfd *, asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nolink_bfd_define_common_symbol - (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *); + (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *) + ATTRIBUTE_HIDDEN; +#define _bfd_nolink_bfd_link_hide_symbol \ + _bfd_generic_link_hide_symbol extern struct bfd_link_hash_entry *_bfd_nolink_bfd_define_start_stop - (struct bfd_link_info *, const char *, asection *); + (struct bfd_link_info *, const char *, asection *) ATTRIBUTE_HIDDEN; #define _bfd_nolink_bfd_link_check_relocs \ _bfd_generic_link_check_relocs @@ -521,31 +551,31 @@ #define _bfd_nodynamic_canonicalize_dynamic_symtab \ _bfd_nosymbols_canonicalize_symtab extern long _bfd_nodynamic_get_synthetic_symtab - (bfd *, long, asymbol **, long, asymbol **, asymbol **); + (bfd *, long, asymbol **, long, asymbol **, asymbol **) ATTRIBUTE_HIDDEN; #define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_long_bfd_n1_error extern long _bfd_nodynamic_canonicalize_dynamic_reloc - (bfd *, arelent **, asymbol **); + (bfd *, arelent **, asymbol **) ATTRIBUTE_HIDDEN; /* Generic routine to determine of the given symbol is a local label. */ extern bfd_boolean bfd_generic_is_local_label_name - (bfd *, const char *); + (bfd *, const char *) ATTRIBUTE_HIDDEN; /* Generic minisymbol routines. */ extern long _bfd_generic_read_minisymbols - (bfd *, bfd_boolean, void **, unsigned int *); + (bfd *, bfd_boolean, void **, unsigned int *) ATTRIBUTE_HIDDEN; extern asymbol *_bfd_generic_minisymbol_to_symbol - (bfd *, bfd_boolean, const void *, asymbol *); + (bfd *, bfd_boolean, const void *, asymbol *) ATTRIBUTE_HIDDEN; /* Find the nearest line using .stab/.stabstr sections. */ extern bfd_boolean _bfd_stab_section_find_nearest_line (bfd *, asymbol **, asection *, bfd_vma, bfd_boolean *, - const char **, const char **, unsigned int *, void **); + const char **, const char **, unsigned int *, void **) ATTRIBUTE_HIDDEN; /* Find the nearest line using DWARF 1 debugging information. */ extern bfd_boolean _bfd_dwarf1_find_nearest_line (bfd *, asymbol **, asection *, bfd_vma, - const char **, const char **, unsigned int *); + const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN; struct dwarf_debug_section { @@ -556,39 +586,41 @@ /* Map of uncompressed DWARF debug section name to compressed one. It is terminated by NULL uncompressed_name. */ -extern const struct dwarf_debug_section dwarf_debug_sections[]; +extern const struct dwarf_debug_section dwarf_debug_sections[] ATTRIBUTE_HIDDEN; /* Find the nearest line using DWARF 2 debugging information. */ extern bfd_boolean _bfd_dwarf2_find_nearest_line (bfd *, asymbol **, asymbol *, asection *, bfd_vma, const char **, const char **, unsigned int *, unsigned int *, - const struct dwarf_debug_section *, unsigned int, void **); + const struct dwarf_debug_section *, unsigned int, void **) ATTRIBUTE_HIDDEN; /* Find the bias between DWARF addresses and real addresses. */ extern bfd_signed_vma _bfd_dwarf2_find_symbol_bias - (asymbol **, void **); + (asymbol **, void **) ATTRIBUTE_HIDDEN; /* Find inliner info after calling bfd_find_nearest_line. */ extern bfd_boolean _bfd_dwarf2_find_inliner_info - (bfd *, const char **, const char **, unsigned int *, void **); + (bfd *, const char **, const char **, unsigned int *, void **) + ATTRIBUTE_HIDDEN; /* Read DWARF 2 debugging information. */ extern bfd_boolean _bfd_dwarf2_slurp_debug_info (bfd *, bfd *, const struct dwarf_debug_section *, asymbol **, void **, - bfd_boolean); + bfd_boolean) ATTRIBUTE_HIDDEN; /* Clean up the data used to handle DWARF 2 debugging information. */ extern void _bfd_dwarf2_cleanup_debug_info - (bfd *, void **); + (bfd *, void **) ATTRIBUTE_HIDDEN; /* Create a new section entry. */ extern struct bfd_hash_entry *bfd_section_hash_newfunc - (struct bfd_hash_entry *, struct bfd_hash_table *, const char *); + (struct bfd_hash_entry *, struct bfd_hash_table *, const char *) + ATTRIBUTE_HIDDEN; /* A routine to create entries for a bfd_link_hash_table. */ extern struct bfd_hash_entry *_bfd_link_hash_newfunc (struct bfd_hash_entry *entry, struct bfd_hash_table *table, - const char *string); + const char *string) ATTRIBUTE_HIDDEN; /* Initialize a bfd_link_hash_table. */ extern bfd_boolean _bfd_link_hash_table_init @@ -596,26 +628,26 @@ struct bfd_hash_entry *(*) (struct bfd_hash_entry *, struct bfd_hash_table *, const char *), - unsigned int); + unsigned int) ATTRIBUTE_HIDDEN; /* Generic link hash table creation routine. */ extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; /* Generic link hash table destruction routine. */ extern void _bfd_generic_link_hash_table_free - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; /* Generic add symbol routine. */ extern bfd_boolean _bfd_generic_link_add_symbols - (bfd *, struct bfd_link_info *); + (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; /* Generic archive add symbol routine. */ extern bfd_boolean _bfd_generic_link_add_archive_symbols (bfd *, struct bfd_link_info *, bfd_boolean (*) (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, const char *, - bfd_boolean *)); + bfd_boolean *)) ATTRIBUTE_HIDDEN; /* Forward declaration to avoid prototype errors. */ typedef struct bfd_link_hash_entry _bfd_link_hash_entry; @@ -624,124 +656,131 @@ extern bfd_boolean _bfd_generic_link_add_one_symbol (struct bfd_link_info *, bfd *, const char *name, flagword, asection *, bfd_vma, const char *, bfd_boolean copy, - bfd_boolean constructor, struct bfd_link_hash_entry **); + bfd_boolean constructor, struct bfd_link_hash_entry **) ATTRIBUTE_HIDDEN; /* Generic routine to mark section as supplying symbols only. */ extern void _bfd_generic_link_just_syms - (asection *, struct bfd_link_info *); + (asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; /* Generic routine that does nothing. */ extern void _bfd_generic_copy_link_hash_symbol_type - (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *); + (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *) + ATTRIBUTE_HIDDEN; /* Generic link routine. */ extern bfd_boolean _bfd_generic_final_link - (bfd *, struct bfd_link_info *); + (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_generic_link_split_section - (bfd *, struct bfd_section *); + (bfd *, struct bfd_section *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_generic_section_already_linked - (bfd *, asection *, struct bfd_link_info *); + (bfd *, asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; /* Generic reloc_link_order processing routine. */ extern bfd_boolean _bfd_generic_reloc_link_order - (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *); + (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *) + ATTRIBUTE_HIDDEN; /* Default link order processing routine. */ extern bfd_boolean _bfd_default_link_order - (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *); + (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *) + ATTRIBUTE_HIDDEN; /* Count the number of reloc entries in a link order list. */ extern unsigned int _bfd_count_link_order_relocs - (struct bfd_link_order *); + (struct bfd_link_order *) ATTRIBUTE_HIDDEN; /* Final link relocation routine. */ extern bfd_reloc_status_type _bfd_final_link_relocate (reloc_howto_type *, bfd *, asection *, bfd_byte *, - bfd_vma, bfd_vma, bfd_vma); + bfd_vma, bfd_vma, bfd_vma) ATTRIBUTE_HIDDEN; /* Relocate a particular location by a howto and a value. */ extern bfd_reloc_status_type _bfd_relocate_contents - (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *); + (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *) ATTRIBUTE_HIDDEN; /* Clear a given location using a given howto. */ -extern void _bfd_clear_contents (reloc_howto_type *howto, bfd *input_bfd, - asection *input_section, bfd_byte *location); +extern void _bfd_clear_contents + (reloc_howto_type *, bfd *, asection *, bfd_byte *) ATTRIBUTE_HIDDEN; /* Link stabs in sections in the first pass. */ extern bfd_boolean _bfd_link_section_stabs (bfd *, struct stab_info *, asection *, asection *, void **, - bfd_size_type *); + bfd_size_type *) ATTRIBUTE_HIDDEN; /* Eliminate stabs for discarded functions and symbols. */ extern bfd_boolean _bfd_discard_section_stabs - (bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *); + (bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *) + ATTRIBUTE_HIDDEN; /* Write out the .stab section when linking stabs in sections. */ extern bfd_boolean _bfd_write_section_stabs - (bfd *, struct stab_info *, asection *, void **, bfd_byte *); + (bfd *, struct stab_info *, asection *, void **, bfd_byte *) + ATTRIBUTE_HIDDEN; /* Write out the .stabstr string table when linking stabs in sections. */ extern bfd_boolean _bfd_write_stab_strings - (bfd *, struct stab_info *); + (bfd *, struct stab_info *) ATTRIBUTE_HIDDEN; /* Find an offset within a .stab section when linking stabs in sections. */ extern bfd_vma _bfd_stab_section_offset - (asection *, void *, bfd_vma); + (asection *, void *, bfd_vma) ATTRIBUTE_HIDDEN; /* Register a SEC_MERGE section as a candidate for merging. */ extern bfd_boolean _bfd_add_merge_section - (bfd *, void **, asection *, void **); + (bfd *, void **, asection *, void **) ATTRIBUTE_HIDDEN; /* Attempt to merge SEC_MERGE sections. */ extern bfd_boolean _bfd_merge_sections - (bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *)); + (bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *)) + ATTRIBUTE_HIDDEN; /* Write out a merged section. */ extern bfd_boolean _bfd_write_merged_section - (bfd *, asection *, void *); + (bfd *, asection *, void *) ATTRIBUTE_HIDDEN; /* Find an offset within a modified SEC_MERGE section. */ extern bfd_vma _bfd_merged_section_offset - (bfd *, asection **, void *, bfd_vma); + (bfd *, asection **, void *, bfd_vma) ATTRIBUTE_HIDDEN; /* Tidy up when done. */ -extern void _bfd_merge_sections_free (void *); +extern void _bfd_merge_sections_free (void *) ATTRIBUTE_HIDDEN; /* Create a string table. */ extern struct bfd_strtab_hash *_bfd_stringtab_init - (void); + (void) ATTRIBUTE_HIDDEN; /* Create an XCOFF .debug section style string table. */ extern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init - (void); + (void) ATTRIBUTE_HIDDEN; /* Free a string table. */ extern void _bfd_stringtab_free - (struct bfd_strtab_hash *); + (struct bfd_strtab_hash *) ATTRIBUTE_HIDDEN; /* Get the size of a string table. */ extern bfd_size_type _bfd_stringtab_size - (struct bfd_strtab_hash *); + (struct bfd_strtab_hash *) ATTRIBUTE_HIDDEN; /* Add a string to a string table. */ extern bfd_size_type _bfd_stringtab_add - (struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy); + (struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy) + ATTRIBUTE_HIDDEN; /* Write out a string table. */ extern bfd_boolean _bfd_stringtab_emit - (bfd *, struct bfd_strtab_hash *); + (bfd *, struct bfd_strtab_hash *) ATTRIBUTE_HIDDEN; /* Macros to tell if bfds are read or write enabled. @@ -757,8 +796,8 @@ #define bfd_write_p(abfd) \ ((abfd)->direction == write_direction || (abfd)->direction == both_direction) -void bfd_assert - (const char*,int); +extern void bfd_assert + (const char*,int) ATTRIBUTE_HIDDEN; #define BFD_ASSERT(x) \ do { if (!(x)) bfd_assert(__FILE__,__LINE__); } while (0) @@ -767,7 +806,7 @@ do { bfd_assert(__FILE__,__LINE__); } while (0) extern void _bfd_abort - (const char *, int, const char *) ATTRIBUTE_NORETURN; + (const char *, int, const char *) ATTRIBUTE_NORETURN ATTRIBUTE_HIDDEN; /* if gcc >= 2.6, we can give a function name, too */ #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) @@ -779,17 +818,20 @@ /* Manipulate a system FILE but using BFD's "file_ptr", rather than the system "off_t" or "off64_t", as the offset. */ -extern file_ptr _bfd_real_ftell (FILE *file); -extern int _bfd_real_fseek (FILE *file, file_ptr offset, int whence); -extern FILE *_bfd_real_fopen (const char *filename, const char *modes); +extern file_ptr _bfd_real_ftell + (FILE *) ATTRIBUTE_HIDDEN; +extern int _bfd_real_fseek + (FILE *, file_ptr, int) ATTRIBUTE_HIDDEN; +extern FILE *_bfd_real_fopen + (const char *, const char *) ATTRIBUTE_HIDDEN; /* List of supported target vectors, and the default vector (if bfd_default_vector[0] is NULL, there is no default). */ -extern const bfd_target * const *bfd_target_vector; -extern const bfd_target *bfd_default_vector[]; +extern const bfd_target * const *bfd_target_vector ATTRIBUTE_HIDDEN; +extern const bfd_target *bfd_default_vector[] ATTRIBUTE_HIDDEN; /* List of associated target vectors. */ -extern const bfd_target * const *bfd_associated_vector; +extern const bfd_target * const *bfd_associated_vector ATTRIBUTE_HIDDEN; /* Functions shared by the ECOFF and MIPS ELF backends, which have no other common header files. */ @@ -801,18 +843,18 @@ extern bfd_boolean _bfd_ecoff_locate_line (bfd *, asection *, bfd_vma, struct ecoff_debug_info * const, const struct ecoff_debug_swap * const, struct ecoff_find_line *, - const char **, const char **, unsigned int *); + const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_ecoff_get_accumulated_pdr - (void *, bfd_byte *); + (void *, bfd_byte *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_ecoff_get_accumulated_sym - (void *, bfd_byte *); + (void *, bfd_byte *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_ecoff_get_accumulated_ss - (void *, bfd_byte *); + (void *, bfd_byte *) ATTRIBUTE_HIDDEN; extern bfd_vma _bfd_get_gp_value - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern void _bfd_set_gp_value - (bfd *, bfd_vma); + (bfd *, bfd_vma) ATTRIBUTE_HIDDEN; /* Function shared by the COFF and ELF SH backends, which have no other common header files. */ @@ -821,7 +863,7 @@ extern bfd_boolean _bfd_sh_align_load_span (bfd *, asection *, bfd_byte *, bfd_boolean (*) (bfd *, asection *, void *, bfd_byte *, bfd_vma), - void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *); + void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *) ATTRIBUTE_HIDDEN; #endif /* This is the shape of the elements inside the already_linked hash @@ -841,17 +883,21 @@ }; extern struct bfd_section_already_linked_hash_entry * - bfd_section_already_linked_table_lookup (const char *); + bfd_section_already_linked_table_lookup (const char *) ATTRIBUTE_HIDDEN; extern bfd_boolean bfd_section_already_linked_table_insert - (struct bfd_section_already_linked_hash_entry *, asection *); + (struct bfd_section_already_linked_hash_entry *, asection *) + ATTRIBUTE_HIDDEN; extern void bfd_section_already_linked_table_traverse (bfd_boolean (*) (struct bfd_section_already_linked_hash_entry *, - void *), void *); + void *), void *) ATTRIBUTE_HIDDEN; -extern bfd_vma _bfd_read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *); -extern bfd_signed_vma _bfd_read_signed_leb128 (bfd *, bfd_byte *, unsigned int *); -extern bfd_vma _bfd_safe_read_leb128 (bfd *, bfd_byte *, unsigned int *, - bfd_boolean, const bfd_byte * const); +extern bfd_vma _bfd_read_unsigned_leb128 + (bfd *, bfd_byte *, unsigned int *) ATTRIBUTE_HIDDEN; +extern bfd_signed_vma _bfd_read_signed_leb128 + (bfd *, bfd_byte *, unsigned int *) ATTRIBUTE_HIDDEN; +extern bfd_vma _bfd_safe_read_leb128 + (bfd *, bfd_byte *, unsigned int *, bfd_boolean, const bfd_byte * const) + ATTRIBUTE_HIDDEN; /* Extracted from libbfd.c. */ bfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int); @@ -2466,6 +2512,7 @@ "BFD_RELOC_M68HC12_10_PCREL", "BFD_RELOC_M68HC12_LO8XG", "BFD_RELOC_M68HC12_HI8XG", + "BFD_RELOC_S12Z_15_PCREL", "BFD_RELOC_16C_NUM08", "BFD_RELOC_16C_NUM08_C", "BFD_RELOC_16C_NUM16", @@ -3228,3 +3275,4 @@ #ifdef __cplusplus } #endif +#endif diff -Nru binutils-2.30.51.20180512/bfd/libbfd-in.h binutils-2.30.52.20180613/bfd/libbfd-in.h --- binutils-2.30.51.20180512/bfd/libbfd-in.h 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/libbfd-in.h 2018-06-04 21:27:35.000000000 +0200 @@ -22,6 +22,17 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ +#ifndef _LIBBFD_H +#define _LIBBFD_H 1 + +#ifndef ATTRIBUTE_HIDDEN +#if HAVE_HIDDEN +#define ATTRIBUTE_HIDDEN __attribute__ ((__visibility__ ("hidden"))) +#else +#define ATTRIBUTE_HIDDEN +#endif +#endif + #include "hashtab.h" #ifdef __cplusplus @@ -53,6 +64,9 @@ asection section; }; +/* Unique section id. */ +extern unsigned int _bfd_section_id ATTRIBUTE_HIDDEN; + /* tdata for an archive. For an input archive, cache needs to be free()'d. For an output archive, symdefs do. */ @@ -95,51 +109,49 @@ #define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size) extern void *bfd_malloc - (bfd_size_type); + (bfd_size_type) ATTRIBUTE_HIDDEN; extern void *bfd_realloc - (void *, bfd_size_type); + (void *, bfd_size_type) ATTRIBUTE_HIDDEN; extern void *bfd_realloc_or_free - (void *, bfd_size_type); + (void *, bfd_size_type) ATTRIBUTE_HIDDEN; extern void *bfd_zmalloc - (bfd_size_type); + (bfd_size_type) ATTRIBUTE_HIDDEN; extern void *bfd_malloc2 - (bfd_size_type, bfd_size_type); + (bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; extern void *bfd_realloc2 - (void *, bfd_size_type, bfd_size_type); + (void *, bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; extern void *bfd_zmalloc2 - (bfd_size_type, bfd_size_type); - -extern void _bfd_error_handler (const char *s, ...) ATTRIBUTE_PRINTF_1; + (bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; /* These routines allocate and free things on the BFD's objalloc. */ extern void *bfd_alloc2 - (bfd *, bfd_size_type, bfd_size_type); + (bfd *, bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; extern void *bfd_zalloc2 - (bfd *, bfd_size_type, bfd_size_type); + (bfd *, bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; extern void bfd_release - (bfd *, void *); + (bfd *, void *) ATTRIBUTE_HIDDEN; -bfd * _bfd_create_empty_archive_element_shell - (bfd *); -bfd * _bfd_look_for_bfd_in_cache - (bfd *, file_ptr); -bfd_boolean _bfd_add_bfd_to_archive_cache - (bfd *, file_ptr, bfd *); -bfd_boolean _bfd_generic_mkarchive - (bfd *); -char *_bfd_append_relative_path - (bfd *, char *); -const bfd_target *bfd_generic_archive_p - (bfd *); -bfd_boolean bfd_slurp_armap - (bfd *); +extern bfd * _bfd_create_empty_archive_element_shell + (bfd *) ATTRIBUTE_HIDDEN; +extern bfd * _bfd_look_for_bfd_in_cache + (bfd *, file_ptr) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_add_bfd_to_archive_cache + (bfd *, file_ptr, bfd *) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_generic_mkarchive + (bfd *) ATTRIBUTE_HIDDEN; +extern char *_bfd_append_relative_path + (bfd *, char *) ATTRIBUTE_HIDDEN; +extern const bfd_target *bfd_generic_archive_p + (bfd *) ATTRIBUTE_HIDDEN; +extern bfd_boolean bfd_slurp_armap + (bfd *) ATTRIBUTE_HIDDEN; #define bfd_slurp_bsd_armap bfd_slurp_armap #define bfd_slurp_coff_armap bfd_slurp_armap -bfd_boolean _bfd_archive_64_bit_slurp_armap - (bfd *); -bfd_boolean _bfd_archive_64_bit_write_armap - (bfd *, unsigned int, struct orl *, unsigned int, int); +extern bfd_boolean _bfd_archive_64_bit_slurp_armap + (bfd *) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_archive_64_bit_write_armap + (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN; #define _bfd_archive_64_bit_slurp_extended_name_table \ _bfd_slurp_extended_name_table #define _bfd_archive_64_bit_construct_extended_name_table \ @@ -158,101 +170,101 @@ bfd_generic_stat_arch_elt #define _bfd_archive_64_bit_update_armap_timestamp _bfd_bool_bfd_true -bfd_boolean _bfd_slurp_extended_name_table - (bfd *); +extern bfd_boolean _bfd_slurp_extended_name_table + (bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_construct_extended_name_table - (bfd *, bfd_boolean, char **, bfd_size_type *); -bfd_boolean _bfd_write_archive_contents - (bfd *); -bfd_boolean _bfd_compute_and_write_armap - (bfd *, unsigned int); -bfd *_bfd_get_elt_at_filepos - (bfd *, file_ptr); + (bfd *, bfd_boolean, char **, bfd_size_type *) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_write_archive_contents + (bfd *) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_compute_and_write_armap + (bfd *, unsigned int) ATTRIBUTE_HIDDEN; +extern bfd *_bfd_get_elt_at_filepos + (bfd *, file_ptr) ATTRIBUTE_HIDDEN; extern bfd *_bfd_generic_get_elt_at_index - (bfd *, symindex); -bfd * _bfd_new_bfd - (void); -bfd_boolean _bfd_free_cached_info - (bfd *); + (bfd *, symindex) ATTRIBUTE_HIDDEN; +extern bfd * _bfd_new_bfd + (void) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_free_cached_info + (bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_false - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_asymbol_false - (bfd *, asymbol *); + (bfd *, asymbol *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_false_error - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_link_false_error - (bfd *, struct bfd_link_info *); + (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_true - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_link_true - (bfd *, struct bfd_link_info *); + (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_bfd_true - (bfd *, bfd *); + (bfd *, bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_uint_true - (bfd *, unsigned int); + (bfd *, unsigned int) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_asection_bfd_asection_true - (bfd *, asection *, bfd *, asection *); + (bfd *, asection *, bfd *, asection *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_asymbol_bfd_asymbol_true - (bfd *, asymbol *, bfd *, asymbol *); + (bfd *, asymbol *, bfd *, asymbol *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bool_bfd_ptr_true - (bfd *, void *); + (bfd *, void *) ATTRIBUTE_HIDDEN; extern void *_bfd_ptr_bfd_null_error - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern int _bfd_int_bfd_0 - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern unsigned int _bfd_uint_bfd_0 - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern long _bfd_long_bfd_0 - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern long _bfd_long_bfd_n1_error - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern void _bfd_void_bfd - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern void _bfd_void_bfd_link - (bfd *, struct bfd_link_info *); + (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern void _bfd_void_bfd_asection - (bfd *, asection *); + (bfd *, asection *) ATTRIBUTE_HIDDEN; -bfd *_bfd_new_bfd_contained_in - (bfd *); -const bfd_target *_bfd_dummy_target - (bfd *); - -void bfd_dont_truncate_arname - (bfd *, const char *, char *); -void bfd_bsd_truncate_arname - (bfd *, const char *, char *); -void bfd_gnu_truncate_arname - (bfd *, const char *, char *); +extern bfd *_bfd_new_bfd_contained_in + (bfd *) ATTRIBUTE_HIDDEN; +extern const bfd_target *_bfd_dummy_target + (bfd *) ATTRIBUTE_HIDDEN; + +extern void bfd_dont_truncate_arname + (bfd *, const char *, char *) ATTRIBUTE_HIDDEN; +extern void bfd_bsd_truncate_arname + (bfd *, const char *, char *) ATTRIBUTE_HIDDEN; +extern void bfd_gnu_truncate_arname + (bfd *, const char *, char *) ATTRIBUTE_HIDDEN; -bfd_boolean _bfd_bsd_write_armap - (bfd *, unsigned int, struct orl *, unsigned int, int); +extern bfd_boolean _bfd_bsd_write_armap + (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN; -bfd_boolean _bfd_coff_write_armap - (bfd *, unsigned int, struct orl *, unsigned int, int); +extern bfd_boolean _bfd_coff_write_armap + (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN; extern void *_bfd_generic_read_ar_hdr - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern void _bfd_ar_spacepad - (char *, size_t, const char *, long); + (char *, size_t, const char *, long) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_ar_sizepad - (char *, size_t, bfd_size_type); + (char *, size_t, bfd_size_type) ATTRIBUTE_HIDDEN; extern void *_bfd_generic_read_ar_hdr_mag - (bfd *, const char *); + (bfd *, const char *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_generic_write_ar_hdr - (bfd *, bfd *); + (bfd *, bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_bsd44_write_ar_hdr - (bfd *, bfd *); + (bfd *, bfd *) ATTRIBUTE_HIDDEN; -bfd * bfd_generic_openr_next_archived_file - (bfd *, bfd *); +extern bfd * bfd_generic_openr_next_archived_file + (bfd *, bfd *) ATTRIBUTE_HIDDEN; -int bfd_generic_stat_arch_elt - (bfd *, struct stat *); +extern int bfd_generic_stat_arch_elt + (bfd *, struct stat *) ATTRIBUTE_HIDDEN; #define _bfd_read_ar_hdr(abfd) \ BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd)) @@ -264,14 +276,14 @@ #define _bfd_generic_close_and_cleanup _bfd_archive_close_and_cleanup extern bfd_boolean _bfd_archive_close_and_cleanup - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; #define _bfd_generic_bfd_free_cached_info _bfd_bool_bfd_true extern bfd_boolean _bfd_generic_new_section_hook - (bfd *, asection *); + (bfd *, asection *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_generic_get_section_contents - (bfd *, asection *, void *, file_ptr, bfd_size_type); + (bfd *, asection *, void *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_generic_get_section_contents_in_window - (bfd *, asection *, bfd_window *, file_ptr, bfd_size_type); + (bfd *, asection *, bfd_window *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN; /* Generic routines to use for BFD_JUMP_TABLE_COPY. Use BFD_JUMP_TABLE_COPY (_bfd_generic). */ @@ -288,19 +300,20 @@ #define _bfd_generic_bfd_print_private_bfd_data _bfd_bool_bfd_ptr_true extern bfd_boolean _bfd_generic_init_private_section_data - (bfd *, asection *, bfd *, asection *, struct bfd_link_info *); + (bfd *, asection *, bfd *, asection *, struct bfd_link_info *) + ATTRIBUTE_HIDDEN; /* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file support. Use BFD_JUMP_TABLE_CORE (_bfd_nocore). */ extern char *_bfd_nocore_core_file_failing_command - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern int _bfd_nocore_core_file_failing_signal - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nocore_core_file_matches_executable_p - (bfd *, bfd *); + (bfd *, bfd *) ATTRIBUTE_HIDDEN; extern int _bfd_nocore_core_file_pid - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; /* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive file support. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive). */ @@ -308,19 +321,19 @@ #define _bfd_noarchive_slurp_armap _bfd_bool_bfd_false_error #define _bfd_noarchive_slurp_extended_name_table _bfd_bool_bfd_false_error extern bfd_boolean _bfd_noarchive_construct_extended_name_table - (bfd *, char **, bfd_size_type *, const char **); + (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN; extern void _bfd_noarchive_truncate_arname - (bfd *, const char *, char *); + (bfd *, const char *, char *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_noarchive_write_armap - (bfd *, unsigned int, struct orl *, unsigned int, int); + (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN; #define _bfd_noarchive_read_ar_hdr _bfd_ptr_bfd_null_error extern bfd_boolean _bfd_noarchive_write_ar_hdr - (bfd *, bfd *); + (bfd *, bfd *) ATTRIBUTE_HIDDEN; extern bfd * _bfd_noarchive_openr_next_archived_file - (bfd *, bfd *); + (bfd *, bfd *) ATTRIBUTE_HIDDEN; extern bfd * _bfd_noarchive_get_elt_at_index - (bfd *, symindex); + (bfd *, symindex) ATTRIBUTE_HIDDEN; #define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt #define _bfd_noarchive_update_armap_timestamp _bfd_bool_bfd_false_error @@ -331,7 +344,7 @@ #define _bfd_archive_bsd_slurp_extended_name_table \ _bfd_slurp_extended_name_table extern bfd_boolean _bfd_archive_bsd_construct_extended_name_table - (bfd *, char **, bfd_size_type *, const char **); + (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN; #define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname #define _bfd_archive_bsd_write_armap _bfd_bsd_write_armap #define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr @@ -342,7 +355,7 @@ #define _bfd_archive_bsd_generic_stat_arch_elt \ bfd_generic_stat_arch_elt extern bfd_boolean _bfd_archive_bsd_update_armap_timestamp - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get COFF style archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff). */ @@ -351,7 +364,7 @@ #define _bfd_archive_coff_slurp_extended_name_table \ _bfd_slurp_extended_name_table extern bfd_boolean _bfd_archive_coff_construct_extended_name_table - (bfd *, char **, bfd_size_type *, const char **); + (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN; #define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname #define _bfd_archive_coff_write_armap _bfd_coff_write_armap #define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr @@ -370,7 +383,7 @@ #define _bfd_archive_bsd44_slurp_extended_name_table \ _bfd_slurp_extended_name_table extern bfd_boolean _bfd_archive_bsd44_construct_extended_name_table - (bfd *, char **, bfd_size_type *, const char **); + (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN; #define _bfd_archive_bsd44_truncate_arname bfd_bsd_truncate_arname #define _bfd_archive_bsd44_write_armap _bfd_bsd_write_armap #define _bfd_archive_bsd44_read_ar_hdr _bfd_generic_read_ar_hdr @@ -387,7 +400,8 @@ archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_vms_lib). Some of them are irrelevant. */ -extern bfd_boolean _bfd_vms_lib_write_archive_contents (bfd *); +extern bfd_boolean _bfd_vms_lib_write_archive_contents + (bfd *) ATTRIBUTE_HIDDEN; #define _bfd_vms_lib_slurp_armap _bfd_noarchive_slurp_armap #define _bfd_vms_lib_slurp_extended_name_table \ _bfd_noarchive_slurp_extended_name_table @@ -397,114 +411,130 @@ #define _bfd_vms_lib_write_armap _bfd_noarchive_write_armap #define _bfd_vms_lib_read_ar_hdr _bfd_noarchive_read_ar_hdr #define _bfd_vms_lib_write_ar_hdr _bfd_noarchive_write_ar_hdr -extern bfd *_bfd_vms_lib_openr_next_archived_file (bfd *, bfd *); -extern bfd *_bfd_vms_lib_get_elt_at_index (bfd *, symindex); -extern int _bfd_vms_lib_generic_stat_arch_elt (bfd *, struct stat *); +extern bfd *_bfd_vms_lib_openr_next_archived_file + (bfd *, bfd *) ATTRIBUTE_HIDDEN; +extern bfd *_bfd_vms_lib_get_elt_at_index + (bfd *, symindex) ATTRIBUTE_HIDDEN; +extern int _bfd_vms_lib_generic_stat_arch_elt + (bfd *, struct stat *) ATTRIBUTE_HIDDEN; #define _bfd_vms_lib_update_armap_timestamp _bfd_bool_bfd_true /* Extra routines for VMS style archives. */ -extern symindex _bfd_vms_lib_find_symbol (bfd *, const char *); -extern bfd *_bfd_vms_lib_get_imagelib_file (bfd *); -extern const bfd_target *_bfd_vms_lib_alpha_archive_p (bfd *); -extern const bfd_target *_bfd_vms_lib_ia64_archive_p (bfd *); -extern bfd_boolean _bfd_vms_lib_alpha_mkarchive (bfd *); -extern bfd_boolean _bfd_vms_lib_ia64_mkarchive (bfd *); +extern symindex _bfd_vms_lib_find_symbol + (bfd *, const char *) ATTRIBUTE_HIDDEN; +extern bfd *_bfd_vms_lib_get_imagelib_file + (bfd *) ATTRIBUTE_HIDDEN; +extern const bfd_target *_bfd_vms_lib_alpha_archive_p + (bfd *) ATTRIBUTE_HIDDEN; +extern const bfd_target *_bfd_vms_lib_ia64_archive_p + (bfd *) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_vms_lib_alpha_mkarchive + (bfd *) ATTRIBUTE_HIDDEN; +extern bfd_boolean _bfd_vms_lib_ia64_mkarchive + (bfd *) ATTRIBUTE_HIDDEN; /* Routines to use for BFD_JUMP_TABLE_SYMBOLS where there is no symbol support. Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols). */ #define _bfd_nosymbols_get_symtab_upper_bound _bfd_long_bfd_n1_error extern long _bfd_nosymbols_canonicalize_symtab - (bfd *, asymbol **); + (bfd *, asymbol **) ATTRIBUTE_HIDDEN; #define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol extern void _bfd_nosymbols_print_symbol - (bfd *, void *, asymbol *, bfd_print_symbol_type); + (bfd *, void *, asymbol *, bfd_print_symbol_type) ATTRIBUTE_HIDDEN; extern void _bfd_nosymbols_get_symbol_info - (bfd *, asymbol *, symbol_info *); + (bfd *, asymbol *, symbol_info *) ATTRIBUTE_HIDDEN; extern const char * _bfd_nosymbols_get_symbol_version_string - (bfd *, asymbol *, bfd_boolean *); + (bfd *, asymbol *, bfd_boolean *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nosymbols_bfd_is_local_label_name - (bfd *, const char *); + (bfd *, const char *) ATTRIBUTE_HIDDEN; #define _bfd_nosymbols_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false extern alent *_bfd_nosymbols_get_lineno - (bfd *, asymbol *); + (bfd *, asymbol *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nosymbols_find_nearest_line (bfd *, asymbol **, asection *, bfd_vma, - const char **, const char **, unsigned int *, unsigned int *); + const char **, const char **, unsigned int *, unsigned int *) + ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nosymbols_find_line - (bfd *, asymbol **, asymbol *, const char **, unsigned int *); + (bfd *, asymbol **, asymbol *, const char **, unsigned int *) + ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nosymbols_find_inliner_info - (bfd *, const char **, const char **, unsigned int *); + (bfd *, const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN; extern asymbol *_bfd_nosymbols_bfd_make_debug_symbol - (bfd *, void *, unsigned long); + (bfd *, void *, unsigned long) ATTRIBUTE_HIDDEN; extern long _bfd_nosymbols_read_minisymbols - (bfd *, bfd_boolean, void **, unsigned int *); + (bfd *, bfd_boolean, void **, unsigned int *) ATTRIBUTE_HIDDEN; extern asymbol *_bfd_nosymbols_minisymbol_to_symbol - (bfd *, bfd_boolean, const void *, asymbol *); + (bfd *, bfd_boolean, const void *, asymbol *) ATTRIBUTE_HIDDEN; /* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc support. Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs). */ -extern long _bfd_norelocs_get_reloc_upper_bound (bfd *, asection *); -extern long _bfd_norelocs_canonicalize_reloc (bfd *, asection *, - arelent **, asymbol **); -extern void _bfd_norelocs_set_reloc (bfd *, asection *, - arelent **, unsigned int); +extern long _bfd_norelocs_get_reloc_upper_bound + (bfd *, asection *) ATTRIBUTE_HIDDEN; +extern long _bfd_norelocs_canonicalize_reloc + (bfd *, asection *, arelent **, asymbol **) ATTRIBUTE_HIDDEN; +extern void _bfd_norelocs_set_reloc + (bfd *, asection *, arelent **, unsigned int) ATTRIBUTE_HIDDEN; extern reloc_howto_type *_bfd_norelocs_bfd_reloc_type_lookup - (bfd *, bfd_reloc_code_real_type); + (bfd *, bfd_reloc_code_real_type) ATTRIBUTE_HIDDEN; extern reloc_howto_type *_bfd_norelocs_bfd_reloc_name_lookup - (bfd *, const char *); + (bfd *, const char *) ATTRIBUTE_HIDDEN; /* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not be written. Use BFD_JUMP_TABLE_WRITE (_bfd_nowrite). */ extern bfd_boolean _bfd_nowrite_set_arch_mach - (bfd *, enum bfd_architecture, unsigned long); + (bfd *, enum bfd_architecture, unsigned long) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nowrite_set_section_contents - (bfd *, asection *, const void *, file_ptr, bfd_size_type); + (bfd *, asection *, const void *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN; /* Generic routines to use for BFD_JUMP_TABLE_WRITE. Use BFD_JUMP_TABLE_WRITE (_bfd_generic). */ #define _bfd_generic_set_arch_mach bfd_default_set_arch_mach extern bfd_boolean _bfd_generic_set_section_contents - (bfd *, asection *, const void *, file_ptr, bfd_size_type); + (bfd *, asection *, const void *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN; /* Routines to use for BFD_JUMP_TABLE_LINK for targets which do not support linking. Use BFD_JUMP_TABLE_LINK (_bfd_nolink). */ extern int _bfd_nolink_sizeof_headers - (bfd *, struct bfd_link_info *); + (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern bfd_byte *_bfd_nolink_bfd_get_relocated_section_contents (bfd *, struct bfd_link_info *, struct bfd_link_order *, - bfd_byte *, bfd_boolean, asymbol **); + bfd_byte *, bfd_boolean, asymbol **) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nolink_bfd_relax_section - (bfd *, asection *, struct bfd_link_info *, bfd_boolean *); + (bfd *, asection *, struct bfd_link_info *, bfd_boolean *) ATTRIBUTE_HIDDEN; #define _bfd_nolink_bfd_gc_sections _bfd_bool_bfd_link_false_error extern bfd_boolean _bfd_nolink_bfd_lookup_section_flags - (struct bfd_link_info *, struct flag_info *, asection *); + (struct bfd_link_info *, struct flag_info *, asection *) ATTRIBUTE_HIDDEN; #define _bfd_nolink_bfd_merge_sections _bfd_bool_bfd_link_false_error extern bfd_boolean _bfd_nolink_bfd_is_group_section - (bfd *, const asection *); + (bfd *, const asection *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nolink_bfd_discard_group - (bfd *, asection *); + (bfd *, asection *) ATTRIBUTE_HIDDEN; extern struct bfd_link_hash_table *_bfd_nolink_bfd_link_hash_table_create - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; #define _bfd_nolink_bfd_link_add_symbols _bfd_bool_bfd_link_false_error extern void _bfd_nolink_bfd_link_just_syms - (asection *, struct bfd_link_info *); + (asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern void _bfd_nolink_bfd_copy_link_hash_symbol_type - (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *); + (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *) + ATTRIBUTE_HIDDEN; #define _bfd_nolink_bfd_final_link _bfd_bool_bfd_link_false_error extern bfd_boolean _bfd_nolink_bfd_link_split_section - (bfd *, struct bfd_section *); + (bfd *, struct bfd_section *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nolink_section_already_linked - (bfd *, asection *, struct bfd_link_info *); + (bfd *, asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_nolink_bfd_define_common_symbol - (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *); + (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *) + ATTRIBUTE_HIDDEN; +#define _bfd_nolink_bfd_link_hide_symbol \ + _bfd_generic_link_hide_symbol extern struct bfd_link_hash_entry *_bfd_nolink_bfd_define_start_stop - (struct bfd_link_info *, const char *, asection *); + (struct bfd_link_info *, const char *, asection *) ATTRIBUTE_HIDDEN; #define _bfd_nolink_bfd_link_check_relocs \ _bfd_generic_link_check_relocs @@ -516,31 +546,31 @@ #define _bfd_nodynamic_canonicalize_dynamic_symtab \ _bfd_nosymbols_canonicalize_symtab extern long _bfd_nodynamic_get_synthetic_symtab - (bfd *, long, asymbol **, long, asymbol **, asymbol **); + (bfd *, long, asymbol **, long, asymbol **, asymbol **) ATTRIBUTE_HIDDEN; #define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_long_bfd_n1_error extern long _bfd_nodynamic_canonicalize_dynamic_reloc - (bfd *, arelent **, asymbol **); + (bfd *, arelent **, asymbol **) ATTRIBUTE_HIDDEN; /* Generic routine to determine of the given symbol is a local label. */ extern bfd_boolean bfd_generic_is_local_label_name - (bfd *, const char *); + (bfd *, const char *) ATTRIBUTE_HIDDEN; /* Generic minisymbol routines. */ extern long _bfd_generic_read_minisymbols - (bfd *, bfd_boolean, void **, unsigned int *); + (bfd *, bfd_boolean, void **, unsigned int *) ATTRIBUTE_HIDDEN; extern asymbol *_bfd_generic_minisymbol_to_symbol - (bfd *, bfd_boolean, const void *, asymbol *); + (bfd *, bfd_boolean, const void *, asymbol *) ATTRIBUTE_HIDDEN; /* Find the nearest line using .stab/.stabstr sections. */ extern bfd_boolean _bfd_stab_section_find_nearest_line (bfd *, asymbol **, asection *, bfd_vma, bfd_boolean *, - const char **, const char **, unsigned int *, void **); + const char **, const char **, unsigned int *, void **) ATTRIBUTE_HIDDEN; /* Find the nearest line using DWARF 1 debugging information. */ extern bfd_boolean _bfd_dwarf1_find_nearest_line (bfd *, asymbol **, asection *, bfd_vma, - const char **, const char **, unsigned int *); + const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN; struct dwarf_debug_section { @@ -551,39 +581,41 @@ /* Map of uncompressed DWARF debug section name to compressed one. It is terminated by NULL uncompressed_name. */ -extern const struct dwarf_debug_section dwarf_debug_sections[]; +extern const struct dwarf_debug_section dwarf_debug_sections[] ATTRIBUTE_HIDDEN; /* Find the nearest line using DWARF 2 debugging information. */ extern bfd_boolean _bfd_dwarf2_find_nearest_line (bfd *, asymbol **, asymbol *, asection *, bfd_vma, const char **, const char **, unsigned int *, unsigned int *, - const struct dwarf_debug_section *, unsigned int, void **); + const struct dwarf_debug_section *, unsigned int, void **) ATTRIBUTE_HIDDEN; /* Find the bias between DWARF addresses and real addresses. */ extern bfd_signed_vma _bfd_dwarf2_find_symbol_bias - (asymbol **, void **); + (asymbol **, void **) ATTRIBUTE_HIDDEN; /* Find inliner info after calling bfd_find_nearest_line. */ extern bfd_boolean _bfd_dwarf2_find_inliner_info - (bfd *, const char **, const char **, unsigned int *, void **); + (bfd *, const char **, const char **, unsigned int *, void **) + ATTRIBUTE_HIDDEN; /* Read DWARF 2 debugging information. */ extern bfd_boolean _bfd_dwarf2_slurp_debug_info (bfd *, bfd *, const struct dwarf_debug_section *, asymbol **, void **, - bfd_boolean); + bfd_boolean) ATTRIBUTE_HIDDEN; /* Clean up the data used to handle DWARF 2 debugging information. */ extern void _bfd_dwarf2_cleanup_debug_info - (bfd *, void **); + (bfd *, void **) ATTRIBUTE_HIDDEN; /* Create a new section entry. */ extern struct bfd_hash_entry *bfd_section_hash_newfunc - (struct bfd_hash_entry *, struct bfd_hash_table *, const char *); + (struct bfd_hash_entry *, struct bfd_hash_table *, const char *) + ATTRIBUTE_HIDDEN; /* A routine to create entries for a bfd_link_hash_table. */ extern struct bfd_hash_entry *_bfd_link_hash_newfunc (struct bfd_hash_entry *entry, struct bfd_hash_table *table, - const char *string); + const char *string) ATTRIBUTE_HIDDEN; /* Initialize a bfd_link_hash_table. */ extern bfd_boolean _bfd_link_hash_table_init @@ -591,26 +623,26 @@ struct bfd_hash_entry *(*) (struct bfd_hash_entry *, struct bfd_hash_table *, const char *), - unsigned int); + unsigned int) ATTRIBUTE_HIDDEN; /* Generic link hash table creation routine. */ extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; /* Generic link hash table destruction routine. */ extern void _bfd_generic_link_hash_table_free - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; /* Generic add symbol routine. */ extern bfd_boolean _bfd_generic_link_add_symbols - (bfd *, struct bfd_link_info *); + (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; /* Generic archive add symbol routine. */ extern bfd_boolean _bfd_generic_link_add_archive_symbols (bfd *, struct bfd_link_info *, bfd_boolean (*) (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, const char *, - bfd_boolean *)); + bfd_boolean *)) ATTRIBUTE_HIDDEN; /* Forward declaration to avoid prototype errors. */ typedef struct bfd_link_hash_entry _bfd_link_hash_entry; @@ -619,124 +651,131 @@ extern bfd_boolean _bfd_generic_link_add_one_symbol (struct bfd_link_info *, bfd *, const char *name, flagword, asection *, bfd_vma, const char *, bfd_boolean copy, - bfd_boolean constructor, struct bfd_link_hash_entry **); + bfd_boolean constructor, struct bfd_link_hash_entry **) ATTRIBUTE_HIDDEN; /* Generic routine to mark section as supplying symbols only. */ extern void _bfd_generic_link_just_syms - (asection *, struct bfd_link_info *); + (asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; /* Generic routine that does nothing. */ extern void _bfd_generic_copy_link_hash_symbol_type - (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *); + (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *) + ATTRIBUTE_HIDDEN; /* Generic link routine. */ extern bfd_boolean _bfd_generic_final_link - (bfd *, struct bfd_link_info *); + (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_generic_link_split_section - (bfd *, struct bfd_section *); + (bfd *, struct bfd_section *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_generic_section_already_linked - (bfd *, asection *, struct bfd_link_info *); + (bfd *, asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; /* Generic reloc_link_order processing routine. */ extern bfd_boolean _bfd_generic_reloc_link_order - (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *); + (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *) + ATTRIBUTE_HIDDEN; /* Default link order processing routine. */ extern bfd_boolean _bfd_default_link_order - (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *); + (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *) + ATTRIBUTE_HIDDEN; /* Count the number of reloc entries in a link order list. */ extern unsigned int _bfd_count_link_order_relocs - (struct bfd_link_order *); + (struct bfd_link_order *) ATTRIBUTE_HIDDEN; /* Final link relocation routine. */ extern bfd_reloc_status_type _bfd_final_link_relocate (reloc_howto_type *, bfd *, asection *, bfd_byte *, - bfd_vma, bfd_vma, bfd_vma); + bfd_vma, bfd_vma, bfd_vma) ATTRIBUTE_HIDDEN; /* Relocate a particular location by a howto and a value. */ extern bfd_reloc_status_type _bfd_relocate_contents - (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *); + (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *) ATTRIBUTE_HIDDEN; /* Clear a given location using a given howto. */ -extern void _bfd_clear_contents (reloc_howto_type *howto, bfd *input_bfd, - asection *input_section, bfd_byte *location); +extern void _bfd_clear_contents + (reloc_howto_type *, bfd *, asection *, bfd_byte *) ATTRIBUTE_HIDDEN; /* Link stabs in sections in the first pass. */ extern bfd_boolean _bfd_link_section_stabs (bfd *, struct stab_info *, asection *, asection *, void **, - bfd_size_type *); + bfd_size_type *) ATTRIBUTE_HIDDEN; /* Eliminate stabs for discarded functions and symbols. */ extern bfd_boolean _bfd_discard_section_stabs - (bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *); + (bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *) + ATTRIBUTE_HIDDEN; /* Write out the .stab section when linking stabs in sections. */ extern bfd_boolean _bfd_write_section_stabs - (bfd *, struct stab_info *, asection *, void **, bfd_byte *); + (bfd *, struct stab_info *, asection *, void **, bfd_byte *) + ATTRIBUTE_HIDDEN; /* Write out the .stabstr string table when linking stabs in sections. */ extern bfd_boolean _bfd_write_stab_strings - (bfd *, struct stab_info *); + (bfd *, struct stab_info *) ATTRIBUTE_HIDDEN; /* Find an offset within a .stab section when linking stabs in sections. */ extern bfd_vma _bfd_stab_section_offset - (asection *, void *, bfd_vma); + (asection *, void *, bfd_vma) ATTRIBUTE_HIDDEN; /* Register a SEC_MERGE section as a candidate for merging. */ extern bfd_boolean _bfd_add_merge_section - (bfd *, void **, asection *, void **); + (bfd *, void **, asection *, void **) ATTRIBUTE_HIDDEN; /* Attempt to merge SEC_MERGE sections. */ extern bfd_boolean _bfd_merge_sections - (bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *)); + (bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *)) + ATTRIBUTE_HIDDEN; /* Write out a merged section. */ extern bfd_boolean _bfd_write_merged_section - (bfd *, asection *, void *); + (bfd *, asection *, void *) ATTRIBUTE_HIDDEN; /* Find an offset within a modified SEC_MERGE section. */ extern bfd_vma _bfd_merged_section_offset - (bfd *, asection **, void *, bfd_vma); + (bfd *, asection **, void *, bfd_vma) ATTRIBUTE_HIDDEN; /* Tidy up when done. */ -extern void _bfd_merge_sections_free (void *); +extern void _bfd_merge_sections_free (void *) ATTRIBUTE_HIDDEN; /* Create a string table. */ extern struct bfd_strtab_hash *_bfd_stringtab_init - (void); + (void) ATTRIBUTE_HIDDEN; /* Create an XCOFF .debug section style string table. */ extern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init - (void); + (void) ATTRIBUTE_HIDDEN; /* Free a string table. */ extern void _bfd_stringtab_free - (struct bfd_strtab_hash *); + (struct bfd_strtab_hash *) ATTRIBUTE_HIDDEN; /* Get the size of a string table. */ extern bfd_size_type _bfd_stringtab_size - (struct bfd_strtab_hash *); + (struct bfd_strtab_hash *) ATTRIBUTE_HIDDEN; /* Add a string to a string table. */ extern bfd_size_type _bfd_stringtab_add - (struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy); + (struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy) + ATTRIBUTE_HIDDEN; /* Write out a string table. */ extern bfd_boolean _bfd_stringtab_emit - (bfd *, struct bfd_strtab_hash *); + (bfd *, struct bfd_strtab_hash *) ATTRIBUTE_HIDDEN; /* Macros to tell if bfds are read or write enabled. @@ -752,8 +791,8 @@ #define bfd_write_p(abfd) \ ((abfd)->direction == write_direction || (abfd)->direction == both_direction) -void bfd_assert - (const char*,int); +extern void bfd_assert + (const char*,int) ATTRIBUTE_HIDDEN; #define BFD_ASSERT(x) \ do { if (!(x)) bfd_assert(__FILE__,__LINE__); } while (0) @@ -762,7 +801,7 @@ do { bfd_assert(__FILE__,__LINE__); } while (0) extern void _bfd_abort - (const char *, int, const char *) ATTRIBUTE_NORETURN; + (const char *, int, const char *) ATTRIBUTE_NORETURN ATTRIBUTE_HIDDEN; /* if gcc >= 2.6, we can give a function name, too */ #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) @@ -774,17 +813,20 @@ /* Manipulate a system FILE but using BFD's "file_ptr", rather than the system "off_t" or "off64_t", as the offset. */ -extern file_ptr _bfd_real_ftell (FILE *file); -extern int _bfd_real_fseek (FILE *file, file_ptr offset, int whence); -extern FILE *_bfd_real_fopen (const char *filename, const char *modes); +extern file_ptr _bfd_real_ftell + (FILE *) ATTRIBUTE_HIDDEN; +extern int _bfd_real_fseek + (FILE *, file_ptr, int) ATTRIBUTE_HIDDEN; +extern FILE *_bfd_real_fopen + (const char *, const char *) ATTRIBUTE_HIDDEN; /* List of supported target vectors, and the default vector (if bfd_default_vector[0] is NULL, there is no default). */ -extern const bfd_target * const *bfd_target_vector; -extern const bfd_target *bfd_default_vector[]; +extern const bfd_target * const *bfd_target_vector ATTRIBUTE_HIDDEN; +extern const bfd_target *bfd_default_vector[] ATTRIBUTE_HIDDEN; /* List of associated target vectors. */ -extern const bfd_target * const *bfd_associated_vector; +extern const bfd_target * const *bfd_associated_vector ATTRIBUTE_HIDDEN; /* Functions shared by the ECOFF and MIPS ELF backends, which have no other common header files. */ @@ -796,18 +838,18 @@ extern bfd_boolean _bfd_ecoff_locate_line (bfd *, asection *, bfd_vma, struct ecoff_debug_info * const, const struct ecoff_debug_swap * const, struct ecoff_find_line *, - const char **, const char **, unsigned int *); + const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_ecoff_get_accumulated_pdr - (void *, bfd_byte *); + (void *, bfd_byte *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_ecoff_get_accumulated_sym - (void *, bfd_byte *); + (void *, bfd_byte *) ATTRIBUTE_HIDDEN; extern bfd_boolean _bfd_ecoff_get_accumulated_ss - (void *, bfd_byte *); + (void *, bfd_byte *) ATTRIBUTE_HIDDEN; extern bfd_vma _bfd_get_gp_value - (bfd *); + (bfd *) ATTRIBUTE_HIDDEN; extern void _bfd_set_gp_value - (bfd *, bfd_vma); + (bfd *, bfd_vma) ATTRIBUTE_HIDDEN; /* Function shared by the COFF and ELF SH backends, which have no other common header files. */ @@ -816,7 +858,7 @@ extern bfd_boolean _bfd_sh_align_load_span (bfd *, asection *, bfd_byte *, bfd_boolean (*) (bfd *, asection *, void *, bfd_byte *, bfd_vma), - void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *); + void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *) ATTRIBUTE_HIDDEN; #endif /* This is the shape of the elements inside the already_linked hash @@ -836,14 +878,18 @@ }; extern struct bfd_section_already_linked_hash_entry * - bfd_section_already_linked_table_lookup (const char *); + bfd_section_already_linked_table_lookup (const char *) ATTRIBUTE_HIDDEN; extern bfd_boolean bfd_section_already_linked_table_insert - (struct bfd_section_already_linked_hash_entry *, asection *); + (struct bfd_section_already_linked_hash_entry *, asection *) + ATTRIBUTE_HIDDEN; extern void bfd_section_already_linked_table_traverse (bfd_boolean (*) (struct bfd_section_already_linked_hash_entry *, - void *), void *); + void *), void *) ATTRIBUTE_HIDDEN; -extern bfd_vma _bfd_read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *); -extern bfd_signed_vma _bfd_read_signed_leb128 (bfd *, bfd_byte *, unsigned int *); -extern bfd_vma _bfd_safe_read_leb128 (bfd *, bfd_byte *, unsigned int *, - bfd_boolean, const bfd_byte * const); +extern bfd_vma _bfd_read_unsigned_leb128 + (bfd *, bfd_byte *, unsigned int *) ATTRIBUTE_HIDDEN; +extern bfd_signed_vma _bfd_read_signed_leb128 + (bfd *, bfd_byte *, unsigned int *) ATTRIBUTE_HIDDEN; +extern bfd_vma _bfd_safe_read_leb128 + (bfd *, bfd_byte *, unsigned int *, bfd_boolean, const bfd_byte * const) + ATTRIBUTE_HIDDEN; diff -Nru binutils-2.30.51.20180512/bfd/libcoff.h binutils-2.30.52.20180613/bfd/libcoff.h --- binutils-2.30.51.20180512/bfd/libcoff.h 2018-01-05 03:08:28.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/libcoff.h 2018-06-04 21:27:35.000000000 +0200 @@ -23,6 +23,9 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ +#ifndef _LIBCOFF_H +#define _LIBCOFF_H 1 + #include "bfdlink.h" #include "coff-bfd.h" @@ -973,3 +976,4 @@ #ifdef __cplusplus } #endif +#endif diff -Nru binutils-2.30.51.20180512/bfd/libcoff-in.h binutils-2.30.52.20180613/bfd/libcoff-in.h --- binutils-2.30.51.20180512/bfd/libcoff-in.h 2018-01-05 03:08:28.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/libcoff-in.h 2018-06-04 21:27:35.000000000 +0200 @@ -19,6 +19,9 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ +#ifndef _LIBCOFF_H +#define _LIBCOFF_H 1 + #include "bfdlink.h" #include "coff-bfd.h" diff -Nru binutils-2.30.51.20180512/bfd/linker.c binutils-2.30.52.20180613/bfd/linker.c --- binutils-2.30.51.20180512/bfd/linker.c 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/linker.c 2018-06-04 21:27:35.000000000 +0200 @@ -3112,6 +3112,32 @@ /* FUNCTION + _bfd_generic_link_hide_symbol + +SYNOPSIS + void _bfd_generic_link_hide_symbol + (bfd *output_bfd, struct bfd_link_info *info, + struct bfd_link_hash_entry *h); + +DESCRIPTION + Hide symbol @var{h}. + This is an internal function. It should not be called from + outside the BFD library. + +.#define bfd_link_hide_symbol(output_bfd, info, h) \ +. BFD_SEND (output_bfd, _bfd_link_hide_symbol, (output_bfd, info, h)) +. +*/ + +void +_bfd_generic_link_hide_symbol (bfd *output_bfd ATTRIBUTE_UNUSED, + struct bfd_link_info *info ATTRIBUTE_UNUSED, + struct bfd_link_hash_entry *h ATTRIBUTE_UNUSED) +{ +} + +/* +FUNCTION bfd_generic_define_start_stop SYNOPSIS diff -Nru binutils-2.30.51.20180512/bfd/mach-o-target.c binutils-2.30.52.20180613/bfd/mach-o-target.c --- binutils-2.30.51.20180512/bfd/mach-o-target.c 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/mach-o-target.c 2018-06-04 21:27:35.000000000 +0200 @@ -55,6 +55,7 @@ #define bfd_mach_o_bfd_discard_group bfd_generic_discard_group #define bfd_mach_o_section_already_linked _bfd_generic_section_already_linked #define bfd_mach_o_bfd_define_common_symbol bfd_generic_define_common_symbol +#define bfd_mach_o_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define bfd_mach_o_bfd_define_start_stop bfd_generic_define_start_stop #define bfd_mach_o_bfd_copy_private_bfd_data _bfd_generic_bfd_copy_private_bfd_data #define bfd_mach_o_core_file_matches_executable_p generic_core_file_matches_executable_p diff -Nru binutils-2.30.51.20180512/bfd/Makefile.am binutils-2.30.52.20180613/bfd/Makefile.am --- binutils-2.30.51.20180512/bfd/Makefile.am 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/Makefile.am 2018-06-04 21:27:35.000000000 +0200 @@ -123,6 +123,7 @@ cpu-m68hc11.lo \ cpu-m68hc12.lo \ cpu-m9s12x.lo \ + cpu-s12z.lo \ cpu-m9s12xg.lo \ cpu-m68k.lo \ cpu-mcore.lo \ @@ -207,6 +208,7 @@ cpu-m68hc11.c \ cpu-m68hc12.c \ cpu-m9s12x.c \ + cpu-s12z.c \ cpu-m9s12xg.c \ cpu-m68k.c \ cpu-mcore.c \ @@ -322,6 +324,7 @@ elf32-m68hc12.lo \ elf32-m68hc1x.lo \ elf32-m68k.lo \ + elf32-s12z.lo \ elf32-mcore.lo \ elf32-mep.lo \ elf32-metag.lo \ @@ -458,6 +461,7 @@ elf32-m68hc12.c \ elf32-m68hc1x.c \ elf32-m68k.c \ + elf32-s12z.c \ elf32-mcore.c \ elf32-mep.c \ elf32-metag.c \ diff -Nru binutils-2.30.51.20180512/bfd/Makefile.in binutils-2.30.52.20180613/bfd/Makefile.in --- binutils-2.30.51.20180512/bfd/Makefile.in 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/Makefile.in 2018-06-04 21:27:35.000000000 +0200 @@ -456,6 +456,7 @@ cpu-m68hc11.lo \ cpu-m68hc12.lo \ cpu-m9s12x.lo \ + cpu-s12z.lo \ cpu-m9s12xg.lo \ cpu-m68k.lo \ cpu-mcore.lo \ @@ -540,6 +541,7 @@ cpu-m68hc11.c \ cpu-m68hc12.c \ cpu-m9s12x.c \ + cpu-s12z.c \ cpu-m9s12xg.c \ cpu-m68k.c \ cpu-mcore.c \ @@ -656,6 +658,7 @@ elf32-m68hc12.lo \ elf32-m68hc1x.lo \ elf32-m68k.lo \ + elf32-s12z.lo \ elf32-mcore.lo \ elf32-mep.lo \ elf32-metag.lo \ @@ -792,6 +795,7 @@ elf32-m68hc12.c \ elf32-m68hc1x.c \ elf32-m68k.c \ + elf32-s12z.c \ elf32-mcore.c \ elf32-mep.c \ elf32-metag.c \ @@ -1276,6 +1280,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-rl78.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-rs6000.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-rx.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-s12z.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-s390.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-score.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-sh.Plo@am__quote@ @@ -1361,6 +1366,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-riscv.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-rl78.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-rx.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-s12z.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-s390.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-score.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-score7.Plo@am__quote@ diff -Nru binutils-2.30.51.20180512/bfd/mmo.c binutils-2.30.52.20180613/bfd/mmo.c --- binutils-2.30.51.20180512/bfd/mmo.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/mmo.c 2018-06-04 21:27:35.000000000 +0200 @@ -3318,6 +3318,7 @@ #define mmo_section_already_linked \ _bfd_generic_section_already_linked #define mmo_bfd_define_common_symbol bfd_generic_define_common_symbol +#define mmo_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define mmo_bfd_define_start_stop bfd_generic_define_start_stop /* We want to copy time of creation, otherwise we'd use diff -Nru binutils-2.30.51.20180512/bfd/pef.c binutils-2.30.52.20180613/bfd/pef.c --- binutils-2.30.51.20180512/bfd/pef.c 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/pef.c 2018-06-04 21:27:35.000000000 +0200 @@ -59,6 +59,7 @@ #define bfd_pef_bfd_discard_group bfd_generic_discard_group #define bfd_pef_section_already_linked _bfd_generic_section_already_linked #define bfd_pef_bfd_define_common_symbol bfd_generic_define_common_symbol +#define bfd_pef_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define bfd_pef_bfd_define_start_stop bfd_generic_define_start_stop #define bfd_pef_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define bfd_pef_bfd_link_add_symbols _bfd_generic_link_add_symbols diff -Nru binutils-2.30.51.20180512/bfd/plugin.c binutils-2.30.52.20180613/bfd/plugin.c --- binutils-2.30.51.20180512/bfd/plugin.c 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/plugin.c 2018-06-13 10:31:38.000000000 +0200 @@ -105,6 +105,7 @@ #define bfd_plugin_bfd_discard_group bfd_generic_discard_group #define bfd_plugin_section_already_linked _bfd_generic_section_already_linked #define bfd_plugin_bfd_define_common_symbol bfd_generic_define_common_symbol +#define bfd_plugin_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define bfd_plugin_bfd_define_start_stop bfd_generic_define_start_stop #define bfd_plugin_bfd_copy_link_hash_symbol_type _bfd_generic_copy_link_hash_symbol_type #define bfd_plugin_bfd_link_check_relocs _bfd_generic_link_check_relocs @@ -165,14 +166,22 @@ bfd *iobfd; iobfd = ibfd; - if (ibfd->my_archive && !bfd_is_thin_archive (ibfd->my_archive)) - iobfd = ibfd->my_archive; + while (iobfd->my_archive + && !bfd_is_thin_archive (iobfd->my_archive)) + iobfd = iobfd->my_archive; file->name = iobfd->filename; if (!iobfd->iostream && !bfd_open_file (iobfd)) return 0; - file->fd = fileno ((FILE *) iobfd->iostream); + /* The plugin API expects that the file descriptor won't be closed + and reused as done by the bfd file cache. So open it again. + dup isn't good enough. plugin IO uses lseek/read while BFD uses + fseek/fread. It isn't wise to mix the unistd and stdio calls on + the same underlying file descriptor. */ + file->fd = open (file->name, O_RDONLY | O_BINARY); + if (file->fd < 0) + return 0; if (iobfd == ibfd) { @@ -196,12 +205,12 @@ int claimed = 0; struct ld_plugin_input_file file; + file.handle = abfd; if (!bfd_plugin_open_input (abfd, &file)) return 0; - file.handle = abfd; - off_t cur_offset = lseek (file.fd, 0, SEEK_CUR); claim_file (&file, &claimed); - lseek (file.fd, cur_offset, SEEK_SET); + if (!claimed) + close (file.fd); return claimed; } diff -Nru binutils-2.30.51.20180512/bfd/po/pt.po binutils-2.30.52.20180613/bfd/po/pt.po --- binutils-2.30.51.20180512/bfd/po/pt.po 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/po/pt.po 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,8766 @@ +# Portuguese translations for GNU binutils package. +# Copyright (C) 2018 Free Software Foundation, Inc. +# This file is distributed under the same license as the binutils package. +# Pedro Albuquerque , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: bfd-2.30.0\n" +"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" +"POT-Creation-Date: 2018-01-13 13:44+0000\n" +"PO-Revision-Date: 2018-05-11 10:07+0100\n" +"Last-Translator: Pedro Albuquerque \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 2.91.6\n" + +#: aout-adobe.c:126 +#, c-format +msgid "%B: Unknown section type in a.out.adobe file: %x\n" +msgstr "%B: tipo de secção desconhecido em ficheiro a.out.adobe: %x\n" + +#: aout-cris.c:200 +#, c-format +msgid "%B: Invalid relocation type exported: %d" +msgstr "%B: tipo de relocalização exportado inválido: %d" + +#: aout-cris.c:244 +#, c-format +msgid "%B: Invalid relocation type imported: %d" +msgstr "%B: tipo de relocalização importado inválido: %d" + +#: aout-cris.c:256 +#, c-format +msgid "%B: Bad relocation record imported: %d" +msgstr "%B: registo de relocalização importado inválido: %d" + +#: aoutx.h:1284 aoutx.h:1636 pdp11.c:1152 pdp11.c:1413 +#, c-format +msgid "%B: can not represent section `%A' in a.out object file format" +msgstr "%B: impossível representar secção \"%A\" num formato de ficheiro objecto a.out" + +#: aoutx.h:1600 pdp11.c:1385 +#, c-format +msgid "%B: can not represent section for symbol `%s' in a.out object file format" +msgstr "%B: impossível representar secção para símbolo\"%s\" num formato de ficheiro objecto a.out" + +#: aoutx.h:1603 vms-alpha.c:7853 +msgid "*unknown*" +msgstr "*desconhecido*" + +#: aoutx.h:2422 aoutx.h:2440 +msgid "%B: attempt to write out unknown reloc type" +msgstr "%B tentativa de escrever tipo de reloc desconhecido" + +#: aoutx.h:4093 aoutx.h:4414 +msgid "%P: %B: unexpected relocation type\n" +msgstr "%P: %B: tipo de relocalização inesperado\n" + +#: aoutx.h:5440 pdp11.c:3708 +#, c-format +msgid "%B: relocatable link from %s to %s not supported" +msgstr "%B: ligação relocalizável de %s para %s não suportado" + +#: archive.c:2305 +msgid "Warning: writing archive was slow: rewriting timestamp\n" +msgstr "Aviso: escrita do arquivo lenta: a reescrever o carimbo\n" + +#: archive.c:2421 linker.c:1410 +msgid "%B: plugin needed to handle lto object" +msgstr "%B: extensão precisou de gerir objecto lto" + +#: archive.c:2650 +msgid "Reading archive file mod timestamp" +msgstr "A ler carimbo de mod de ficheiro de arquivo" + +#: archive.c:2674 +msgid "Writing updated armap timestamp" +msgstr "A escrever carimbo armap actualizado" + +#: bfd.c:454 +msgid "No error" +msgstr "Sem erro" + +#: bfd.c:455 +msgid "System call error" +msgstr "Erro de chamada do sistema" + +#: bfd.c:456 +msgid "Invalid bfd target" +msgstr "Alvo bfd inválido" + +#: bfd.c:457 +msgid "File in wrong format" +msgstr "Ficheiro em formato errado" + +#: bfd.c:458 +msgid "Archive object file in wrong format" +msgstr "Ficheiro objecto de arquivo em formato errado" + +#: bfd.c:459 +msgid "Invalid operation" +msgstr "Operação inválida" + +#: bfd.c:460 +msgid "Memory exhausted" +msgstr "Memória esgotada" + +#: bfd.c:461 +msgid "No symbols" +msgstr "Sem símbolos" + +#: bfd.c:462 +msgid "Archive has no index; run ranlib to add one" +msgstr "Arquivo sem índice; execute ranlib para adicionar um" + +#: bfd.c:463 +msgid "No more archived files" +msgstr "Sem mais ficheiros de arquivo" + +#: bfd.c:464 +msgid "Malformed archive" +msgstr "Arquivo mal formado" + +#: bfd.c:465 +msgid "DSO missing from command line" +msgstr "DSO em falta da linha de comandos" + +#: bfd.c:466 +msgid "File format not recognized" +msgstr "Formato de ficheiro não reconhecido" + +#: bfd.c:467 +msgid "File format is ambiguous" +msgstr "Formato de ficheiro ambíguo" + +#: bfd.c:468 +msgid "Section has no contents" +msgstr "Secção sem conteúdo" + +#: bfd.c:469 +msgid "Nonrepresentable section on output" +msgstr "Secção não representável na saída" + +#: bfd.c:470 +msgid "Symbol needs debug section which does not exist" +msgstr "Símbolo precisa de secção de depuração que não existe" + +#: bfd.c:471 +msgid "Bad value" +msgstr "Mau valor" + +#: bfd.c:472 +msgid "File truncated" +msgstr "Ficheiro truncado" + +#: bfd.c:473 +msgid "File too big" +msgstr "Ficheiro muito grande" + +#: bfd.c:474 +#, c-format +msgid "Error reading %s: %s" +msgstr "Erro ao ler %s: %s" + +#: bfd.c:475 +msgid "#" +msgstr "#" + +#: bfd.c:1442 +#, c-format +msgid "BFD %s assertion fail %s:%d" +msgstr "BFD falha de asserção %s %s:%d" + +#: bfd.c:1455 +#, c-format +msgid "BFD %s internal error, aborting at %s:%d in %s\n" +msgstr "BFD erro interno %s, a abortar em %s:%d em %s\n" + +#: bfd.c:1460 +#, c-format +msgid "BFD %s internal error, aborting at %s:%d\n" +msgstr "BFD erro interno %s, a abortar em %s:%d\n" + +#: bfd.c:1462 +msgid "Please report this bug.\n" +msgstr "Por favor, reporte este erro.\n" + +#: bfdwin.c:206 +#, c-format +msgid "not mapping: data=%lx mapped=%d\n" +msgstr "não mapeado: dados=%lx mapeado=%d\n" + +#: bfdwin.c:209 +#, c-format +msgid "not mapping: env var not set\n" +msgstr "não mapeado: env var não definida\n" + +#: binary.c:276 +#, c-format +msgid "warning: writing section `%A' at huge (ie negative) file offset" +msgstr "aviso: secção de escrita \"%A\" em enorme (negativo) desvio de ficheiro" + +#: bout.c:1142 elf-m10300.c:2647 elf32-avr.c:2484 elf32-frv.c:5633 +#: elf64-ia64-vms.c:353 elfxx-sparc.c:2817 reloc.c:8059 reloc16.c:156 +#: elf32-ia64.c:351 elf64-ia64.c:351 +msgid "%P%F: --relax and -r may not be used together\n" +msgstr "%P%F: --relax e -r não podem ser usadas em conjunto\n" + +#: cache.c:273 +#, c-format +msgid "reopening %B: %s\n" +msgstr "a reabrir %B: %s\n" + +#: coff-alpha.c:450 +msgid "" +"%B: Cannot handle compressed Alpha binaries.\n" +" Use compiler flags, or objZ, to generate uncompressed binaries." +msgstr "" +"%B: impossível gerir binários Alpha comprimidos.\n" +" Use bandeiras do compilador ou objZ para gerar binários descomprimidos." + +#: coff-alpha.c:602 +msgid "%B: unknown/unsupported relocation type %d" +msgstr "%B: tipo de relocalização %d desconhecido/não suportado" + +#: coff-alpha.c:851 coff-alpha.c:888 coff-alpha.c:1961 coff-mips.c:950 +msgid "GP relative relocation used when GP not defined" +msgstr "Usada relocalização relativa GP sem GP definido" + +#: coff-alpha.c:1444 +msgid "using multiple gp values" +msgstr "a usar múltiplos valores gp" + +#: coff-alpha.c:1503 +msgid "%B: unsupported relocation: ALPHA_R_GPRELHIGH" +msgstr "%B: relocalização não suportada: ALPHA_R_GPRELHIGH" + +#: coff-alpha.c:1510 +msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW" +msgstr "%B: relocalização não suportada: ALPHA_R_GPRELLOW" + +#: coff-alpha.c:1518 elf32-i370.c:1081 elf32-m32r.c:2404 +#: elf32-microblaze.c:932 elf64-alpha.c:4098 elf64-alpha.c:4246 +#: elf64-ia64-vms.c:3430 elf32-ia64.c:3847 elf64-ia64.c:3847 +#, c-format +msgid "%B: unknown relocation type %d" +msgstr "%B: tipo de relocalização desconhecido %d" + +#: coff-arm.c:1037 +#, c-format +msgid "%B: unable to find THUMB glue '%s' for `%s'" +msgstr "%B: impossível encontrar cola THUMB \"%s\" para \"%s\"" + +#: coff-arm.c:1066 +#, c-format +msgid "%B: unable to find ARM glue '%s' for `%s'" +msgstr "%B: impossível encontrar cola ARM \"%s\" para \"%s\"" + +#: coff-arm.c:1368 elf32-arm.c:8896 +#, c-format +msgid "" +"%B(%s): warning: interworking not enabled.\n" +" first occurrence: %B: arm call to thumb" +msgstr "" +"%B(%s): aviso: interworking não activo.\n" +" primeira ocorrência: %B: chamada arm a thumb" + +#: coff-arm.c:1458 +#, c-format +msgid "" +"%B(%s): warning: interworking not enabled.\n" +" first occurrence: %B: thumb call to arm\n" +" consider relinking with --support-old-code enabled" +msgstr "" +"%B(%s): aviso: interworking não activo.\n" +" primeira ocorrência: %B: chamada thumb a arm\n" +" considere religação com --support-old-code activo" + +#: coff-arm.c:1751 coff-tic80.c:672 cofflink.c:3127 +#, c-format +msgid "%B: bad reloc address %#Lx in section `%A'" +msgstr "%B: mau endereço reloc %#Lx na secção \"%A\"" + +#: coff-arm.c:2076 +#, c-format +msgid "%B: illegal symbol index in reloc: %ld" +msgstr "%B: índice de símbolo ilegal na reloc: %ld" + +#: coff-arm.c:2208 +#, c-format +msgid "error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d" +msgstr "erro: %B está compilado para APCS-%d, enquanto %B está compilado para APCS-%d" + +#: coff-arm.c:2221 elf32-arm.c:19582 +#, c-format +msgid "error: %B passes floats in float registers, whereas %B passes them in integer registers" +msgstr "erro: %B passa flutuantes em registos flutuantes, enquanto %B os passa em registos inteiros" + +#: coff-arm.c:2226 elf32-arm.c:19586 +#, c-format +msgid "error: %B passes floats in integer registers, whereas %B passes them in float registers" +msgstr "erro: %B passa flutuantes em registos inteiros, enquanto %B os passa em registos flutuantes" + +#: coff-arm.c:2238 +#, c-format +msgid "error: %B is compiled as position independent code, whereas target %B is absolute position" +msgstr "erro: %B está compilado como código independente da posição, enquanto destino %B é de posição absoluta" + +#: coff-arm.c:2243 +#, c-format +msgid "error: %B is compiled as absolute position code, whereas target %B is position independent" +msgstr "erro: %B está compilado como código de posição absoluta, enquanto destino %B é de posição independente" + +#: coff-arm.c:2270 elf32-arm.c:19651 +#, c-format +msgid "Warning: %B supports interworking, whereas %B does not" +msgstr "Aviso: %B suporta interworking, enquanto %B não" + +#: coff-arm.c:2275 elf32-arm.c:19657 +#, c-format +msgid "Warning: %B does not support interworking, whereas %B does" +msgstr "Aviso: %B não suporta interworking, enquanto %B sim" + +#: coff-arm.c:2298 +#, c-format +msgid "private flags = %x:" +msgstr "bandeiras privadas = %x:" + +#: coff-arm.c:2306 elf32-arm.c:14160 +#, c-format +msgid " [floats passed in float registers]" +msgstr " [flutuantes passados em registos flutuantes]" + +#: coff-arm.c:2308 +#, c-format +msgid " [floats passed in integer registers]" +msgstr " [flutuantes passados em registos inteiros]" + +#: coff-arm.c:2311 elf32-arm.c:14163 +#, c-format +msgid " [position independent]" +msgstr " [posição independente]" + +#: coff-arm.c:2313 +#, c-format +msgid " [absolute position]" +msgstr " [posição absoluta]" + +#: coff-arm.c:2317 +#, c-format +msgid " [interworking flag not initialised]" +msgstr " [bandeira interworking não inicializada]" + +#: coff-arm.c:2319 +#, c-format +msgid " [interworking supported]" +msgstr " [interworking suportado]" + +#: coff-arm.c:2321 +#, c-format +msgid " [interworking not supported]" +msgstr " [interworking não suportado]" + +#: coff-arm.c:2366 elf32-arm.c:13021 +msgid "Warning: Not setting interworking flag of %B since it has already been specified as non-interworking" +msgstr "Aviso: bandeira %B de interworking não definida porque já foi especificada como não-interworking" + +#: coff-arm.c:2369 elf32-arm.c:13025 +msgid "Warning: Clearing the interworking flag of %B due to outside request" +msgstr "Aviso: a limpar bandeira %B de interworking devido a pedido externo" + +#: coff-arm.c:2426 elf32-arm.c:13070 +#, c-format +msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it" +msgstr "Aviso: a limpar bandeira %B de interworking devido a código não interworking em %B que lhe foi ligado" + +#: coff-h8300.c:1068 +#, c-format +msgid "cannot handle R_MEM_INDIRECT reloc when using %s output" +msgstr "impossível gerir reloc R_MEM_INDIRECT enquanto usa saída %s" + +#: coff-i860.c:151 +#, c-format +msgid "relocation `%s' not yet implemented" +msgstr "relocalização \"%s\" ainda não implementada" + +#: coff-i860.c:613 coff-tic4x.c:227 coff-tic54x.c:365 coffcode.h:5343 +#, c-format +msgid "%B: warning: illegal symbol index %ld in relocs" +msgstr "%B: aviso: índice de símbolo %ld ilegal em relocs" + +#: coff-i960.c:122 coff-i960.c:475 +msgid "uncertain calling convention for non-COFF symbol" +msgstr "convenção de chamada incerta para símbolo não-COFF" + +#: coff-m68k.c:488 elf32-bfin.c:5340 elf32-cr16.c:2801 elf32-m68k.c:4385 +msgid "unsupported reloc type" +msgstr "tipo de reloc não suportado" + +#: coff-mips.c:640 elf32-mips.c:1744 elf32-score.c:430 elf32-score7.c:330 +#: elf64-mips.c:3135 elfn32-mips.c:2958 +msgid "GP relative relocation when _gp not defined" +msgstr "Relocalização relativa GP com _gp não definido" + +#: coff-rs6000.c:2773 +#, c-format +msgid "%B: unsupported relocation type 0x%02x" +msgstr "%B: tipo de relocalização 0x%02x não suportado" + +#: coff-rs6000.c:2859 +#, c-format +msgid "%B: TOC reloc at %#Lx to symbol `%s' with no TOC entry" +msgstr "%B: reloc TOC em %#Lx para símbolo \"%s\" sem entrada TOC" + +#: coff-rs6000.c:3605 coff64-rs6000.c:2150 +#, c-format +msgid "%B: symbol `%s' has unrecognized smclas %d" +msgstr "%B: símbolo \"%s\" tem smclas %d não reconhecido" + +#: coff-sh.c:504 +#, c-format +msgid "SH Error: unknown reloc type %d" +msgstr "Erro SH: tipo de reloc %d não suportado" + +#: coff-sh.c:778 elf32-sh.c:580 +#, c-format +msgid "%B: %#Lx: warning: bad R_SH_USES offset" +msgstr "%B: %#Lx: aviso: mau desvio R_SH_USES" + +#: coff-sh.c:789 +#, c-format +msgid "%B: %#Lx: warning: R_SH_USES points to unrecognized insn %#x" +msgstr "%B: %#Lx: aviso: R_SH_USES aponta para insn %#x não reconhecido" + +#: coff-sh.c:807 elf32-sh.c:610 +#, c-format +msgid "%B: %#Lx: warning: bad R_SH_USES load offset" +msgstr "%B: %#Lx: aviso: mau desvio de carga R_SH_USES" + +#: coff-sh.c:832 elf32-sh.c:626 +#, c-format +msgid "%B: %#Lx: warning: could not find expected reloc" +msgstr "%B: %#Lx: aviso: impossível encontrar reloc esperado" + +#: coff-sh.c:849 elf32-sh.c:655 +#, c-format +msgid "%B: %#Lx: warning: symbol in unexpected section" +msgstr "%B: %#Lx: aviso: símbolo em secção inesperada" + +#: coff-sh.c:975 elf32-sh.c:785 +#, c-format +msgid "%B: %#Lx: warning: could not find expected COUNT reloc" +msgstr "%B: %#Lx: aviso: impossível encontrar reloc COUNT" + +#: coff-sh.c:985 elf32-sh.c:795 +#, c-format +msgid "%B: %#Lx: warning: bad count" +msgstr "%B: %#Lx: aviso: má contagem" + +#: coff-sh.c:1357 coff-sh.c:2645 elf32-sh.c:1199 elf32-sh.c:1570 +#, c-format +msgid "%B: %#Lx: fatal: reloc overflow while relaxing" +msgstr "%B: %#Lx: fatal: transporte reloc ao relaxar" + +#: coff-sh.c:1452 +msgid "%B: fatal: generic symbols retrieved before relaxing" +msgstr "%B: fatal: obtidos símbolos genéricos antes de relaxar" + +#: coff-sh.c:2783 cofflink.c:2965 +#, c-format +msgid "%B: illegal symbol index %ld in relocs" +msgstr "%B: índice de símbolo %ld ilegal em relocs" + +#: coff-tic4x.c:183 coff-tic54x.c:278 coff-tic80.c:441 +#, c-format +msgid "Unrecognized reloc type 0x%x" +msgstr "tipo de reloc 0x%x não reconhecido" + +#: coff-w65.c:352 +#, c-format +msgid "ignoring reloc %s\n" +msgstr "a ignorar reloc %s\n" + +#: coffcode.h:968 +msgid "%B: unable to load COMDAT section name" +msgstr "%B: impossível carregar nome de secção COMDAT" + +#. Malformed input files can trigger this test. +#. cf PR 21781. +#: coffcode.h:1003 +msgid "%B: error: unexpected symbol '%s' in COMDAT section" +msgstr "%B: erro: símbolo \"%s\" inesperado em secção COMDAT" + +#: coffcode.h:1015 +#, c-format +msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'" +msgstr "%B: aviso: símbolo \"%s\" COMDAT não corresponde ao nome de secção \"%s\"" + +#: coffcode.h:1025 +#, c-format +msgid "%B: warning: No symbol for section '%s' found" +msgstr "%B: aviso: símbolo para secção \"%s\" não encontrado" + +#. Generate a warning message rather using the 'unhandled' +#. variable as this will allow some .sys files generate by +#. other toolchains to be processed. See bugzilla issue 196. +#: coffcode.h:1251 +#, c-format +msgid "%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s" +msgstr "%B: aviso: a ignorar bandeira de secção IMAGE_SCN_MEM_NOT_PAGED na secção %s" + +#: coffcode.h:1320 +#, c-format +msgid "%B (%s): Section flag %s (%#lx) ignored" +msgstr "%B (%s): bandeira de secção %s (%#lx) ignorada" + +#: coffcode.h:1950 +msgid "%B: warning: claims to have 0xffff relocs, without overflow" +msgstr "%B: aviso: afirma ter 0xffff relocs, sem transporte" + +#: coffcode.h:2466 +#, c-format +msgid "Unrecognized TI COFF target id '0x%x'" +msgstr "TI COFF id de alvo \"0x%x\" não reconhecida" + +#: coffcode.h:2784 +#, c-format +msgid "%B: reloc against a non-existent symbol index: %ld" +msgstr "%B: reloc contra índice de símbolo não existente: %ld" + +#: coffcode.h:3187 +#, c-format +msgid "%B: page size is too large (0x%x)" +msgstr "%B: tamanho de página muito grande (0x%x)" + +#: coffcode.h:3347 +#, c-format +msgid "%B: too many sections (%d)" +msgstr "%B: demasiadas secções (%d)" + +#: coffcode.h:3768 +#, c-format +msgid "%B: section %A: string table overflow at offset %ld" +msgstr "%B: secção %A: transporte na tabela de símbolo no desvio %ld" + +#: coffcode.h:3873 +#, c-format +msgid "%B:%s section %s: alignment 2**%u not representable" +msgstr "%B:%s secção %s: alinhamento 2**%u não representável" + +#: coffcode.h:4592 +msgid "%B: warning: line number count (%#lx) exceeds section size (%#lx)" +msgstr "%B: aviso: total de número de linha (%#lx) excede tamanho de secção (%#lx)" + +#: coffcode.h:4607 +msgid "%B: warning: line number table read failed" +msgstr "%B: aviso: falha ao ler tabela de número de linha" + +#: coffcode.h:4641 coffcode.h:4655 +#, c-format +msgid "%B: warning: illegal symbol index 0x%lx in line number entry %d" +msgstr "%B: aviso: índice de símbolo 0x%lx ilegal em entrada de número de linha %d" + +#: coffcode.h:4669 +#, c-format +msgid "%B: warning: illegal symbol in line number entry %d" +msgstr "%B: aviso: símbolo ilegal em entrada de número de linha %d" + +#: coffcode.h:4682 +#, c-format +msgid "%B: warning: duplicate line number information for `%s'" +msgstr "%B: aviso: informação de número de linha duplicada para \"%s\"" + +#: coffcode.h:5103 +#, c-format +msgid "%B: Unrecognized storage class %d for %s symbol `%s'" +msgstr "%B: classe de armazenamento %d não reconhecida para %s símbolo \"%s\"" + +#: coffcode.h:5236 +#, c-format +msgid "warning: %B: local symbol `%s' has no section" +msgstr "aviso: %B: símbolo local \"%s\" não tem secção" + +#: coffcode.h:5383 +#, c-format +msgid "%B: illegal relocation type %d at address %#Lx" +msgstr "%B: tipo de relocalização %d ilegal no endereço %#Lx" + +#: coffgen.c:178 elf.c:1198 +#, c-format +msgid "%B: unable to initialize compress status for section %s" +msgstr "%B: impossível inicializar estado comprimido para secção %s" + +#: coffgen.c:202 elf.c:1209 +#, c-format +msgid "%B: unable to initialize decompress status for section %s" +msgstr "%B: impossível inicializar estado descomprimido para secção %s" + +#: coffgen.c:1649 +msgid "%B: corrupt symbol count: %#Lx" +msgstr "%B: total de símbolos corrupto: %#Lx" + +#. PR 21013: Provide an error message when the alloc fails. +#: coffgen.c:1658 +msgid "%B: not enough memory to allocate space for %#Lx symbols of size %#Lx" +msgstr "%B: memória insuficiente para alocar espaço para %#Lx símbolos de tamanho %#Lx" + +#: coffgen.c:1725 +#, c-format +msgid "%B: bad string table size %Lu" +msgstr "%B: mau tamanho de tabela de cadeias %Lu" + +#: coffgen.c:1902 coffgen.c:1962 coffgen.c:1980 cofflink.c:2045 +#: xcofflink.c:4507 +msgid "" +msgstr "" + +#: coffgen.c:2104 +#, c-format +msgid " %s" +msgstr " %s" + +#: coffgen.c:2683 elflink.c:14149 linker.c:2940 +msgid "%F%P: already_linked_table: %E\n" +msgstr "%F%P: already_linked_table: %E\n" + +#: coffgen.c:3024 elflink.c:13151 +#, c-format +msgid "Removing unused section '%A' in file '%B'" +msgstr "A remover secção \"%A\" não usada no ficheiro \"%B\"" + +#: coffgen.c:3101 elflink.c:13369 +msgid "Warning: gc-sections option ignored" +msgstr "Aviso: opção gc-sections ignorada" + +#: cofflink.c:352 +#, c-format +msgid "Warning: symbol `%s' is both section and non-section" +msgstr "Aviso: símbolo \"%s\" é secção e não-secção em simultâneo" + +#: cofflink.c:454 elf64-ia64-vms.c:5186 elflink.c:4831 +#, c-format +msgid "Warning: type of symbol `%s' changed from %d to %d in %B" +msgstr "Aviso: tipo de símbolo \"%s\" alterado de %d para %d em %B" + +#: cofflink.c:2373 +#, c-format +msgid "%B: relocs in section `%A', but it has no contents" +msgstr "%B: relocs na secção \"%A\", mas não tem conteúdo" + +#: cofflink.c:2436 elflink.c:10664 +#, c-format +msgid "%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n" +msgstr "%X\"%s\" referenciado na secção \"%A\" de %B: definido em secção descartada \"%A\" de %B\n" + +#: cofflink.c:2734 +#, c-format +msgid "%B: %A: reloc overflow: %#x > 0xffff" +msgstr "%B: %A: transporte de reloc: %#x > 0xffff" + +#: cofflink.c:2742 +#, c-format +msgid "%B: warning: %A: line number overflow: %#x > 0xffff" +msgstr "%B: aviso: %A: transporte de número de linha: %#x > 0xffff" + +#: coffswap.h:811 +#, c-format +msgid "%B: warning: %s: line number overflow: 0x%lx > 0xffff" +msgstr "%B: aviso: %s: transporte de número de linha: 0x%lx > 0xffff" + +#: coffswap.h:825 +#, c-format +msgid "%B: %s: reloc overflow: 0x%lx > 0xffff" +msgstr "%B: %s: transporte de reloc: 0x%lx > 0xffff" + +#: compress.c:255 +#, c-format +msgid "error: %B(%A) is too large (%#Lx bytes)" +msgstr "erro: %B(%A) é muito grande (%#Lx bytes)" + +#: cpu-arm.c:192 cpu-arm.c:204 +#, c-format +msgid "error: %B is compiled for the EP9312, whereas %B is compiled for XScale" +msgstr "erro: %B está compilado para EP9312, enquanto %B está compilado para XScale" + +#: cpu-arm.c:338 +#, c-format +msgid "warning: unable to update contents of %s section in %B" +msgstr "aviso: impossível actualizar conteúdo da secção %s em %B" + +#: dwarf2.c:543 +#, c-format +msgid "Dwarf Error: Can't find %s section." +msgstr "Erro Dwarf: impossível encontrar a secção %s." + +#: dwarf2.c:572 +#, c-format +msgid "Dwarf Error: Offset (%llu) greater than or equal to %s size (%Lu)." +msgstr "Erro Dwarf: desvio (%llu) maior ou igual a tamanho %s (%Lu)." + +#: dwarf2.c:1089 +msgid "Dwarf Error: Info pointer extends beyond end of attributes" +msgstr "Erro Dwarf: ponteiro de informação excede o final dos atributos" + +#: dwarf2.c:1261 +#, c-format +msgid "Dwarf Error: Invalid or unhandled FORM value: %#x." +msgstr "Erro Dwarf: valor FORM inválido ou não gerido: %#x." + +#: dwarf2.c:1567 +msgid "Dwarf Error: mangled line number section (bad file number)." +msgstr "Erro Dwarf: secção de número de linha modificada (mau nº de ficheiro)." + +#: dwarf2.c:1912 +msgid "Dwarf Error: Zero format count." +msgstr "Erro Dwarf: total de formato zero." + +#: dwarf2.c:1921 +#, c-format +msgid "Dwarf Error: data count (%Lx) larger than buffer size." +msgstr "Erro Dwarf: total de dados (%Lx) maior que o tamanho do buffer." + +#: dwarf2.c:1962 +#, c-format +msgid "Dwarf Error: Unknown format content type %Lu." +msgstr "Erro Dwarf: tipo de formato de conteúdo %Lu desconhecido." + +#: dwarf2.c:2042 +#, c-format +msgid "Dwarf Error: Line info section is too small (%Ld)" +msgstr "Erro Dwarf: secção de informação da linha muito pequena (%Ld)" + +#: dwarf2.c:2072 +#, c-format +msgid "Dwarf Error: Line info data is bigger (%#Lx) than the space remaining in the section (%#lx)" +msgstr "Erro Dwarf: secção de informação da linha maior (%#Lx) que o espaço restante na secção (%#lx)" + +#: dwarf2.c:2085 +#, c-format +msgid "Dwarf Error: Unhandled .debug_line version %d." +msgstr "Erro Dwarf: versão %d .debug_line version não gerida." + +#: dwarf2.c:2095 +msgid "Dwarf Error: Ran out of room reading prologue" +msgstr "Erro Dwarf: sem espaço ao ler o prólogo" + +#: dwarf2.c:2113 +#, c-format +msgid "Dwarf Error: Line info unsupported segment selector size %u." +msgstr "Erro Dwarf: tamanho %u do selector de segmento de informação de linha não suportado" + +#: dwarf2.c:2140 +msgid "Dwarf Error: Invalid maximum operations per instruction." +msgstr "Erro Dwarf: máximo de operações por instrução inválido." + +#: dwarf2.c:2159 +msgid "Dwarf Error: Ran out of room reading opcodes" +msgstr "Erro Dwarf: sem espaço ao ler opcodes" + +#: dwarf2.c:2332 +msgid "Dwarf Error: mangled line number section." +msgstr "Erro Dwarf: secção de número de linha modificada." + +#: dwarf2.c:2833 dwarf2.c:2894 +msgid "Dwarf Error: Invalid abstract instance DIE ref." +msgstr "Erro Dwarf: instância DIE ref abstracta inválida." + +#: dwarf2.c:2870 +#, c-format +msgid "Dwarf Error: Unable to read alt ref %llu." +msgstr "Erro Dwarf: impossível ler referência alternativa %llu." + +#: dwarf2.c:2911 dwarf2.c:3076 dwarf2.c:3428 +#, c-format +msgid "Dwarf Error: Could not find abbrev number %u." +msgstr "Erro Dwarf: impossível encontrar número abbrev %u." + +#: dwarf2.c:2928 +msgid "Dwarf Error: Abstract instance recursion detected." +msgstr "Erro Dwarf: detectada recursividade em instância abstracta." + +#: dwarf2.c:3347 +#, c-format +msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3, 4 and 5 information." +msgstr "Erro Dwarf: encontrada versão dwarf \"%u\", este leitor só gere informação das versões 2, 3, 4 e 5." + +#: dwarf2.c:3391 +#, c-format +msgid "Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'." +msgstr "Erro Dwarf: encontrado tamanho de endereço \"%u\", este leitor não gere tamanhos maiores que \"%u\"." + +#: dwarf2.c:3494 +msgid "Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form." +msgstr "Erro Dwarf: encontrado atributo DW_AT_comp_dir com uma forma não-cadeia." + +#: ecoff.c:964 +#, c-format +msgid "%B: warning: isymMax (%ld) is greater than ifdMax (%ld)" +msgstr "%B: aviso: isymMax (%ld) é maior que ifdMax (%ld)" + +#: ecoff.c:1261 +#, c-format +msgid "Unknown basic type %d" +msgstr "Tipo básico %d desconhecido" + +#: ecoff.c:1518 +#, c-format +msgid "" +"\n" +" End+1 symbol: %ld" +msgstr "" +"\n" +" Símbolo End+1: %ld" + +#: ecoff.c:1525 ecoff.c:1528 +#, c-format +msgid "" +"\n" +" First symbol: %ld" +msgstr "" +"\n" +" Primeiro símbolo: %ld" + +#: ecoff.c:1541 +#, c-format +msgid "" +"\n" +" End+1 symbol: %-7ld Type: %s" +msgstr "" +"\n" +" Símbolo End+1: %-7ld Tipo: %s" + +#: ecoff.c:1548 +#, c-format +msgid "" +"\n" +" Local symbol: %ld" +msgstr "" +"\n" +" Símbolo local: %ld" + +#: ecoff.c:1556 +#, c-format +msgid "" +"\n" +" struct; End+1 symbol: %ld" +msgstr "" +"\n" +" struct; símbolo End+1: %ld" + +#: ecoff.c:1561 +#, c-format +msgid "" +"\n" +" union; End+1 symbol: %ld" +msgstr "" +"\n" +" union; símbolo End+1: %ld" + +#: ecoff.c:1566 +#, c-format +msgid "" +"\n" +" enum; End+1 symbol: %ld" +msgstr "" +"\n" +" enum; símbolo End+1: %ld" + +#: ecoff.c:1572 +#, c-format +msgid "" +"\n" +" Type: %s" +msgstr "" +"\n" +" Tipo: %s" + +#: elf-attrs.c:475 +msgid "%B: error: attribute section length too small: %ld" +msgstr "%B: erro: tamanho da secção de atributo muito pequeno: %ld" + +#: elf-attrs.c:603 +#, c-format +msgid "error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchain" +msgstr "erro: %B: objecto tem conteúdo especifico do fabricante que tem de ser processado por \"%s\"" + +#: elf-attrs.c:613 +#, c-format +msgid "error: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'" +msgstr "erro: %B: etiqueta do objecto \"%d, %s\" é incompatível com etiqueta \"%d, %s\"" + +#: elf-eh-frame.c:942 +#, c-format +msgid "discarding zero address range FDE in %B(%A).\n" +msgstr "a descartar intervalo FDE de endereço zero em %B(%A).\n" + +#: elf-eh-frame.c:1047 +#, c-format +msgid "%P: error in %B(%A); no .eh_frame_hdr table will be created.\n" +msgstr "%P: erro em %B(%A); não será criada nenhuma tabela .eh_frame_hdr.\n" + +#: elf-eh-frame.c:1537 +#, c-format +msgid "%P: FDE encoding in %B(%A) prevents .eh_frame_hdr table being created.\n" +msgstr "%P: codificação FDE em %B(%A) impede a criação de tabela .eh_frame_hdr.\n" + +#: elf-eh-frame.c:1544 +msgid "%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.\n" +msgstr "%P: largados mais avisos sobre a codificação FDE impedir a geração de .eh_frame_hdr.\n" + +#: elf-eh-frame.c:1866 +#, c-format +msgid "%B: %A not in order" +msgstr "%B: %A não está em ordem" + +#: elf-eh-frame.c:1880 +#, c-format +msgid "%B: %A invalid input section size" +msgstr "%B: %A tamanho inválido de secção de entrada" + +#: elf-eh-frame.c:1888 +#, c-format +msgid "%B: %A points past end of text section" +msgstr "%B: %A aponta para lá do fim da secção de texto" + +#: elf-eh-frame.c:2137 +msgid "%P: DW_EH_PE_datarel unspecified for this architecture.\n" +msgstr "%P: DW_EH_PE_datarel não especificado para esta arquitectura.\n" + +#: elf-eh-frame.c:2307 +#, c-format +msgid "Invalid output section for .eh_frame_entry: %A" +msgstr "Secção de saída inválida para .eh_frame_entry: %A" + +#: elf-eh-frame.c:2330 +#, c-format +msgid "Invalid contents in %A section" +msgstr "Conteúdo inválido na secção %A" + +#: elf-eh-frame.c:2486 +msgid "%P: .eh_frame_hdr entry overflow.\n" +msgstr "%P: transporte na entrada .eh_frame_hdr.\n" + +#: elf-eh-frame.c:2489 +msgid "%P: .eh_frame_hdr refers to overlapping FDEs.\n" +msgstr "%P: .eh_frame_hdr refere FDEs sobrepostos.\n" + +#: elf-ifunc.c:142 +#, c-format +msgid "%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie\n" +msgstr "%F%P: símbolo \"%s\" STT_GNU_IFUNC dinâmico com igualdade de ponteiro em \"%B\" não pode ser usado ao fazer um executável; recompile com -fPIE e volte a ligar com -pie\n" + +#: elf-m10200.c:425 elf-m10300.c:2145 elf32-avr.c:1502 elf32-bfin.c:3116 +#: elf32-cr16.c:1462 elf32-cr16c.c:780 elf32-cris.c:2030 elf32-crx.c:924 +#: elf32-d10v.c:509 elf32-epiphany.c:563 elf32-fr30.c:591 elf32-frv.c:4041 +#: elf32-ft32.c:485 elf32-h8300.c:522 elf32-i860.c:1210 elf32-ip2k.c:1475 +#: elf32-iq2000.c:689 elf32-lm32.c:1106 elf32-m32c.c:622 elf32-m32r.c:3031 +#: elf32-m68hc1x.c:1265 elf32-mep.c:524 elf32-metag.c:1985 +#: elf32-microblaze.c:1556 elf32-moxie.c:285 elf32-mt.c:400 elf32-nds32.c:5328 +#: elf32-or1k.c:1238 elf32-score.c:2731 elf32-score7.c:2540 elf32-spu.c:5076 +#: elf32-tilepro.c:3497 elf32-v850.c:2283 elf32-visium.c:677 +#: elf32-xstormy16.c:923 elf64-mmix.c:1538 elfxx-tilegx.c:3857 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2237 +msgid "internal error: out of range error" +msgstr "erro interno: erro fora do intervalo" + +#: elf-m10200.c:429 elf-m10300.c:2149 elf32-avr.c:1506 elf32-bfin.c:3120 +#: elf32-cr16.c:1466 elf32-cr16c.c:784 elf32-cris.c:2034 elf32-crx.c:928 +#: elf32-d10v.c:513 elf32-fr30.c:595 elf32-frv.c:4045 elf32-ft32.c:489 +#: elf32-h8300.c:526 elf32-i860.c:1214 elf32-iq2000.c:693 elf32-lm32.c:1110 +#: elf32-m32c.c:626 elf32-m32r.c:3035 elf32-m68hc1x.c:1269 elf32-mep.c:528 +#: elf32-metag.c:1989 elf32-microblaze.c:1560 elf32-moxie.c:289 +#: elf32-msp430.c:1357 elf32-nds32.c:5332 elf32-or1k.c:1242 elf32-score.c:2735 +#: elf32-score7.c:2544 elf32-spu.c:5080 elf32-tilepro.c:3501 elf32-v850.c:2287 +#: elf32-visium.c:681 elf32-xstormy16.c:927 elf64-mmix.c:1542 +#: elfxx-mips.c:10265 elfxx-tilegx.c:3861 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2241 +msgid "internal error: unsupported relocation error" +msgstr "erro interno: erro relocalização não suportada" + +#: elf-m10200.c:433 elf32-cr16.c:1470 elf32-cr16c.c:788 elf32-crx.c:932 +#: elf32-d10v.c:517 elf32-h8300.c:530 elf32-lm32.c:1114 elf32-m32r.c:3039 +#: elf32-m68hc1x.c:1273 elf32-microblaze.c:1564 elf32-nds32.c:5336 +#: elf32-score.c:2739 elf32-score7.c:2548 elf32-spu.c:5084 +msgid "internal error: dangerous error" +msgstr "erro interno: erro perigoso" + +#: elf-m10200.c:437 elf-m10300.c:2166 elf32-avr.c:1514 elf32-bfin.c:3128 +#: elf32-cr16.c:1474 elf32-cr16c.c:792 elf32-cris.c:2042 elf32-crx.c:936 +#: elf32-d10v.c:521 elf32-epiphany.c:578 elf32-fr30.c:603 elf32-frv.c:4053 +#: elf32-ft32.c:497 elf32-h8300.c:534 elf32-i860.c:1222 elf32-ip2k.c:1490 +#: elf32-iq2000.c:701 elf32-lm32.c:1118 elf32-m32c.c:634 elf32-m32r.c:3043 +#: elf32-m68hc1x.c:1277 elf32-mep.c:536 elf32-metag.c:1997 +#: elf32-microblaze.c:1568 elf32-moxie.c:297 elf32-msp430.c:1365 +#: elf32-mt.c:408 elf32-nds32.c:5340 elf32-or1k.c:1250 elf32-score.c:2748 +#: elf32-score7.c:2552 elf32-spu.c:5088 elf32-tilepro.c:3509 elf32-v850.c:2307 +#: elf32-visium.c:689 elf32-xstormy16.c:935 elf64-mmix.c:1550 +#: elfxx-tilegx.c:3869 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2249 +msgid "internal error: unknown error" +msgstr "erro interno: erro desconhecido" + +#: elf-m10300.c:812 +#, c-format +msgid "%B: unrecognised MN10300 reloc number: %d" +msgstr "%B: número reloc MN10300 não reconhecido: %d" + +#: elf-m10300.c:1028 +#, c-format +msgid "%B: Unsupported transition from %s to %s" +msgstr "%B: transição %s para %s não suportada" + +#: elf-m10300.c:1197 +#, c-format +msgid "%B: %s' accessed both as normal and thread local symbol" +msgstr "%B: %s acedido como símbolo local normal e de fio, em simultâneo" + +#: elf-m10300.c:2093 elf32-arm.c:12536 elf32-i386.c:3433 elf32-m32r.c:2526 +#: elf32-m68k.c:3895 elf32-s390.c:3204 elf32-sh.c:4121 elf32-tilepro.c:3401 +#: elf32-xtensa.c:2939 elf64-s390.c:3118 elf64-sh64.c:1636 elf64-x86-64.c:3790 +#: elfxx-sparc.c:3918 elfxx-tilegx.c:3781 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5001 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6457 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2206 +#, c-format +msgid "%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'" +msgstr "%B(%A+%#Lx): relocalização %s insolúvel contra o símbolo \"%s\"" + +#: elf-m10300.c:2154 +msgid "error: inappropriate relocation type for shared library (did you forget -fpic?)" +msgstr "erro: tipo de relocalização inapropriado para biblioteca partilhada (esqueceu-se de -fpic?)" + +#: elf-m10300.c:2158 +#, c-format +msgid "%B: taking the address of protected function '%s' cannot be done when making a shared library" +msgstr "%B: tirar o endereço da função protegida \"%s\" não pode ser feito ao fazer uma biblioteca partilhada" + +#: elf-m10300.c:2161 +msgid "internal error: suspicious relocation type used in shared library" +msgstr "erro interno: tipo de relocalização suspeito usado em biblioteca partilhada" + +#: elf-properties.c:65 +msgid "%B: out of memory in _bfd_elf_get_property" +msgstr "%B: sem memória em _bfd_elf_get_property" + +#: elf-properties.c:91 +msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx" +msgstr "aviso: %B: tamanho GNU_PROPERTY_TYPE (%ld) corrupto: %#lx" + +#: elf-properties.c:112 +msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x" +msgstr "aviso: %B: GNU_PROPERTY_TYPE (%ld) corrupto ,tipo (0x%x) datasz: 0x%x" + +#: elf-properties.c:151 +msgid "warning: %B: corrupt stack size: 0x%x" +msgstr "aviso: %B:tamanho de stack corrupto: 0x%x" + +#: elf-properties.c:169 +msgid "warning: %B: corrupt no copy on protected size: 0x%x" +msgstr "aviso: %B: tamanho corrupto de não copiar se protegido: 0x%x" + +#: elf-properties.c:186 +msgid "warning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x" +msgstr "aviso: %B: GNU_PROPERTY_TYPE (%ld) não suportada, tipo: 0x%x" + +#. PR 17512: file: f057ec89. +#: elf.c:343 +#, c-format +msgid "%B: attempt to load strings from a non-string section (number %d)" +msgstr "%B: tentativa de carregar cadeias de secção não-cadeia (número %d)" + +#: elf.c:358 +#, c-format +msgid "%B: invalid string offset %u >= %Lu for section `%s'" +msgstr "%B: desvio de cadeia inválido %u >= %Lu para secção \"%s\"" + +#: elf.c:497 /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:7535 +#, c-format +msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section" +msgstr "%B número de símbolo %lu referencia secção SHT_SYMTAB_SHNDX não existente" + +#: elf.c:661 +#, c-format +msgid "%B: corrupt size field in group section header: %#Lx" +msgstr "%B: campo de tamanho corrupto no cabeçalho da secção de grupo: %#Lx" + +#: elf.c:676 +#, c-format +msgid "%B: invalid size field in group section header: %#Lx" +msgstr "%B: campo de tamanho inválido no cabeçalho da secção de grupo: %#Lx" + +#: elf.c:712 +msgid "%B: invalid SHT_GROUP entry" +msgstr "%B: entrada SHT_GROUP inválida" + +#: elf.c:731 +msgid "%B: no valid group sections found" +msgstr "%B: sem secções de grupo válidas" + +#. See PR 21957 for a reproducer. +#: elf.c:760 +#, c-format +msgid "%B: group section '%A' has no contents" +msgstr "%B: secção de grupo \"%A\" não tem conteúdo" + +#: elf.c:820 +#, c-format +msgid "%B: no group info for section '%A'" +msgstr "%B: sem informação de grupo para secção \"%A\"" + +#: elf.c:851 elf.c:3862 elflink.c:11252 +#, c-format +msgid "%B: warning: sh_link not set for section `%A'" +msgstr "%B: aviso: sh_link não definido para a secção \"%A\"" + +#: elf.c:871 +#, c-format +msgid "%B: sh_link [%d] in section `%A' is incorrect" +msgstr "%B: sh_link [%d] na secção \"%A\" está incorrecto" + +#: elf.c:884 +#, c-format +msgid "%B: SHT_GROUP section [index %d] has no SHF_GROUP sections" +msgstr "%B: secção SHT_GROUP [índice %d] não tem secções SHF_GROUP" + +#: elf.c:905 +#, c-format +msgid "%B: section group entry number %u is corrupt" +msgstr "%B: entrada do grupo de secção número %u está corrompida" + +#: elf.c:928 +#, c-format +msgid "%B: unknown type [%#x] section `%s' in group [%A]" +msgstr "%B: secção tipo [%#x] \"%s\" desconhecida no grupo [%A]" + +#: elf.c:1390 +#, c-format +msgid "%B: Invalid sh_link field (%d) in section number %d" +msgstr "%B: sh_link field (%d) inválido no número da secção %d" + +#: elf.c:1406 +#, c-format +msgid "%B: Failed to find link section for section %d" +msgstr "%B: falha ao procurar secção de ligação para a secção %d" + +#: elf.c:1433 +#, c-format +msgid "%B: Failed to find info section for section %d" +msgstr "%B: falha ao procurar secção de informação para a secção %d" + +#: elf.c:1605 +#, c-format +msgid "" +"\n" +"Program Header:\n" +msgstr "" +"\n" +"Cabeçalho do programa:\n" + +#: elf.c:1647 +#, c-format +msgid "" +"\n" +"Dynamic Section:\n" +msgstr "" +"\n" +"Secção dinâmica:\n" + +#: elf.c:1788 +#, c-format +msgid "" +"\n" +"Version definitions:\n" +msgstr "" +"\n" +"Definições da versão:\n" + +#: elf.c:1813 +#, c-format +msgid "" +"\n" +"Version References:\n" +msgstr "" +"\n" +"Referências da versão:\n" + +#: elf.c:1818 +#, c-format +msgid " required from %s:\n" +msgstr " requerido de %s:\n" + +#: elf.c:2016 +msgid "%B: warning: loop in section dependencies detected" +msgstr "%B: aviso: detectado ciclo em dependências da secção" + +#: elf.c:2124 +#, c-format +msgid "%B: warning: multiple symbol tables detected - ignoring the table in section %u" +msgstr "%B: aviso: detectadas múltiplas tabelas de símbolo - a ignorar a tabela na secção %u" + +#: elf.c:2208 +#, c-format +msgid "%B: warning: multiple dynamic symbol tables detected - ignoring the table in section %u" +msgstr "%B: aviso: detectadas múltiplas tabelas de símbolo dinâmico - a ignorar a tabela na secção %u" + +#: elf.c:2321 +#, c-format +msgid "%B: invalid link %u for reloc section %s (index %u)" +msgstr "%B: ligação inválida %u para secção reloc %s (índice %u)" + +#: elf.c:2480 elf.c:2495 elf.c:2506 elf.c:2519 +#, c-format +msgid "%B: unknown type [%#x] section `%s'" +msgstr "%B: tipo desconhecido [%#x], secção \"%s\"" + +#: elf.c:3224 +#, c-format +msgid "%B: error: Alignment power %d of section `%A' is too big" +msgstr "%B: erro: poder de alinhamento %d da secção \"%A\" é muito grande" + +#: elf.c:3254 +#, c-format +msgid "warning: section `%A' type changed to PROGBITS" +msgstr "aviso: tipo da secção \"%A\" alterou-se para PROGBITS" + +#: elf.c:3730 +#, c-format +msgid "%B: too many sections: %u" +msgstr "%B: demasiadas secções: %u" + +#: elf.c:3815 +#, c-format +msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'" +msgstr "%B: sh_link da secção \"%A\" aponta para secção descartada \"%A\" de \"%B\"" + +#: elf.c:3840 +#, c-format +msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'" +msgstr "%B: sh_link da secção \"%A\" aponta para secção removida \"%A\" de \"%B\"" + +#: elf.c:4392 +#, c-format +msgid "%B: GNU_MBIN section `%A' has invalid sh_info field: %d" +msgstr "%B: secção \"%A\" de GNU_MBIN tem campo sh_info inválido: %d" + +#: elf.c:4951 +msgid "%B: TLS sections are not adjacent:" +msgstr "%B: secções TLS não adjacentes:" + +#: elf.c:4958 +#, c-format +msgid "\t TLS: %A" +msgstr "\t TLS: %A" + +#: elf.c:4962 +#, c-format +msgid "\tnon-TLS: %A" +msgstr "\tnão-TLS: %A" + +#: elf.c:5458 +msgid "%B: The first section in the PT_DYNAMIC segment is not the .dynamic section" +msgstr "%B: a primeira secção no segmento PT_DYNAMIC não é a secção .dynamic" + +#: elf.c:5486 +msgid "%B: Not enough room for program headers, try linking with -N" +msgstr "%B: sem espaço para cabeçalhos do programa, tente ligar com -N" + +#: elf.c:5574 +#, c-format +msgid "%B: section %A lma %#Lx adjusted to %#Lx" +msgstr "%B: secção %A lma %#Lx ajustada para %#Lx" + +#: elf.c:5711 +#, c-format +msgid "%B: section `%A' can't be allocated in segment %d" +msgstr "%B: secção \"%A\" não pode ser alocada no segmento %d" + +#: elf.c:5759 +#, c-format +msgid "%B: warning: allocated section `%s' not in segment" +msgstr "%B: aviso: secção alocada \"%s\" não está no segmento" + +#: elf.c:5957 +msgid "%B: error: non-load segment %d includes file header and/or program header" +msgstr "%B: erro: segmento %d não carga inclui cabeçalho de ficheiro e/ou de programa" + +#. The fix for this error is usually to edit the linker script being +#. used and set up the program headers manually. Either that or +#. leave room for the headers at the start of the SECTIONS. +#: elf.c:6134 +msgid "%B: error: PHDR segment not covered by LOAD segment" +msgstr "%B: erro: segmento PHDR não coberto pelo segmento LOAD" + +#: elf.c:6478 +#, c-format +msgid "%B: symbol `%s' required but not present" +msgstr "%B: símbolo \"%s\" requerido mas não presente" + +#: elf.c:6821 +#, c-format +msgid "%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this intentional?" +msgstr "%B: aviso: detectado segmento carregável vazio em vaddr=%#Lx, é intencional?" + +#: elf.c:7435 +#, c-format +msgid "%B: warning: segment alignment of %#Lx is too large" +msgstr "%B: aviso: alinhamento do segmento de %#Lx é muito grande" + +#: elf.c:7916 +#, c-format +msgid "Unable to find equivalent output section for symbol '%s' from section '%s'" +msgstr "Impossível encontrar secção de saída equivalente para símbolo \"%s\" da secção \"%s\"" + +#: elf.c:8249 +msgid "%B: .gnu.version_r invalid entry" +msgstr "%B: entrada .gnu.version_r inválida" + +#: elf.c:8376 +msgid "%B: .gnu.version_d invalid entry" +msgstr "%B: entrada .gnu.version_d inválida" + +#: elf.c:8928 +#, c-format +msgid "%B: unsupported relocation type %s" +msgstr "%B: tipo de relocalização %s não suportado" + +#: elf32-arc.c:433 elf32-frv.c:6623 elf32-iq2000.c:866 elf32-m32c.c:912 +#: elf32-mt.c:560 elf32-rl78.c:1257 elf32-rx.c:3178 elf32-visium.c:837 +#: elf64-ppc.c:6067 +#, c-format +msgid "private flags = 0x%lx:" +msgstr "bandeiras privadas = 0x%lx:" + +#: elf32-arc.c:611 +msgid "Warning: %B: Conflicting platform configuration %s with %s.\n" +msgstr "Aviso: %B: conflito na configuração de plataforma %s com %s.\n" + +#: elf32-arc.c:630 +msgid "error: %B: unable to merge CPU base attributes %s with %s.\n" +msgstr "erro: %B: impossível unir atributos base CPU %s com %s.\n" + +#: elf32-arc.c:667 +msgid "error: %B: unable to merge ISA extension attributes %s.\n" +msgstr "erro: %B: impossível unir atributos de extensão ISA %s.\n" + +#: elf32-arc.c:691 +msgid "error: %B: conflicting ISA extension attributes %s with %s.\n" +msgstr "erro: %B: conflito de atributos de extensão ISA %s com %s.\n" + +#: elf32-arc.c:726 +msgid "error: %B: cannot mix rf16 with full register set %B.\n" +msgstr "erro: %B: impossível misturar rf16 com conjunto de registo completo %B.\n" + +#: elf32-arc.c:752 +msgid "error: %B: conflicting attributes %s: %s with %s.\n" +msgstr "erro: %B: conflito de atributos %s: %s com %s.\n" + +#: elf32-arc.c:777 +msgid "error: %B: conflicting attributes %s.\n" +msgstr "erro: %B: conflito de atributos %s.\n" + +#: elf32-arc.c:877 +#, c-format +msgid "ERROR: Attempting to link %B with a binary %B of different architecture" +msgstr "ERRO: tentativa de ligar %B com um binário %B de diferente arquitectura" + +#: elf32-arc.c:891 elf32-i370.c:359 elf32-iq2000.c:842 elf32-m32c.c:887 +#: elf32-m68hc1x.c:1384 elf32-ppc.c:4846 elf64-sparc.c:727 elfxx-mips.c:15082 +#, c-format +msgid "%B: uses different e_flags (%#x) fields than previous modules (%#x)" +msgstr "%B: usa campos e_flags diferentes (%#x) dos módulos anteriores (%#x)" + +#: elf32-arc.c:980 +msgid "Error: The ARC4 architecture is no longer supported.\n" +msgstr "Erro: a arquitectura ARC4 já não é suportada.\n" + +#: elf32-arc.c:986 +msgid "" +"Warning: unset or old architecture flags. \n" +"\t Use default machine.\n" +msgstr "" +"Aviso: bandeiras não definidas ou de arquitectura antiga. \n" +"\t Use a máquina predefinida.\n" + +#: elf32-arc.c:1119 +#, c-format +msgid "%B(%A+%#Lx): CMEM relocation to `%s' is invalid, 16 MSB should be %#x (value is %#Lx)" +msgstr "%B(%A+%#Lx): relocalização CMEM para \"%s\" é inválida, 16 MSB deveria ser %#x (o valor é %#Lx)" + +#: elf32-arc.c:1130 +#, c-format +msgid "%B(%A+%#Lx): CMEM relocation to `%s+%#Lx' is invalid, 16 MSB should be %#x (value is %#Lx)" +msgstr "%B(%A+%#Lx): relocalização CMEM para \"%s+%#Lx\" é inválida, 16 MSB deveria ser %#x (o valor é %#Lx)" + +#: elf32-arc.c:1836 +msgid "GOT and PLT relocations cannot be fixed with a non dynamic linker." +msgstr "Relocalizações GOT e PLT não podem ser reparadas com um linker não dinâmico." + +#: elf32-arc.c:1860 elf32-rl78.c:1095 elf32-rx.c:1449 +#, c-format +msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area" +msgstr "%B(%A): aviso: acesso não alinhado ao símbolo \"%s\" na área de dados pequenos" + +#: elf32-arc.c:1865 elf32-rl78.c:1100 elf32-rx.c:1454 +#, c-format +msgid "%B(%A): internal error: out of range error" +msgstr "%B(%A): erro interno: erro fora do intervalo" + +#: elf32-arc.c:1870 elf32-rl78.c:1105 elf32-rx.c:1459 +#, c-format +msgid "%B(%A): internal error: unsupported relocation error" +msgstr "%B(%A): erro interno: erro relocalização não suportada" + +#: elf32-arc.c:1875 elf32-rl78.c:1110 elf32-rx.c:1464 +#, c-format +msgid "%B(%A): internal error: dangerous relocation" +msgstr "%B(%A): erro interno: relocalização perigosa" + +#: elf32-arc.c:1880 elf32-rl78.c:1115 elf32-rx.c:1469 +#, c-format +msgid "%B(%A): internal error: unknown error" +msgstr "%B(%A): erro interno: erro desconhecido" + +#: elf32-arc.c:1968 elf32-arm.c:14521 elf32-metag.c:2252 elfxx-mips.c:8889 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:7103 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:471 +#, c-format +msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC" +msgstr "%B: relocalização %s contra \"%s\" não pode ser usada a fazer um objecto partilhado; recompile com -fPIC" + +#: elf32-arc.c:2860 +msgid "%B: Unknown mandatory ARC object attribute %d." +msgstr "%B: atributo de objecto ARC %d obrigatório desconhecido." + +#: elf32-arc.c:2868 +msgid "Warning: %B: Unknown ARC object attribute %d." +msgstr "Aviso: %B: atributo de objecto ARC %d desconhecido." + +#: elf32-arm.c:4022 elf32-arm.c:4056 elf32-arm.c:4075 elf32-arm.c:4127 +msgid "%B(%A): warning: long branch veneers used in section with SHF_ARM_PURECODE section attribute is only supported for M-profile targets that implement the movw instruction." +msgstr "%B(%A): aviso: o uso de folhas de ramos longos na secção com atributo de secção SHF_ARM_PURECODE só é suportado para alvos M-profile que implementem a instrução movw." + +#: elf32-arm.c:4087 elf32-arm.c:8806 +msgid "" +"%B(%s): warning: interworking not enabled.\n" +" first occurrence: %B: Thumb call to ARM" +msgstr "" +"%B(%s): aviso: interworking não activo.\n" +" primeira ocorrência: %B: chamada Thumb a ARM" + +#: elf32-arm.c:4141 +msgid "" +"%B(%s): warning: interworking not enabled.\n" +" first occurrence: %B: ARM call to Thumb" +msgstr "" +"%B(%s): aviso: interworking não activo.\n" +" primeira ocorrência: %B: chamada ARM a Thumb" + +#: elf32-arm.c:4415 +#, c-format +msgid "No address assigned to the veneers output section %s" +msgstr "Sem endereço atribuído à secção de saída das folhas %s" + +#: elf32-arm.c:4490 elf32-arm.c:6627 elf32-hppa.c:577 elf32-m68hc1x.c:165 +#: elf32-metag.c:1183 elf32-nios2.c:2207 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:2854 +#, c-format +msgid "%B: cannot create stub entry %s" +msgstr "%B: impossível criar entrada fictícia %s" + +#: elf32-arm.c:5675 +msgid "%B: Special symbol `%s' only allowed for ARMv8-M architecture or later." +msgstr "%B: símbolo especial \"%s\" só é permitido para arquitecturas ARMv8-M ou posteriores." + +#: elf32-arm.c:5684 +msgid "%B: invalid special symbol `%s'." +msgstr "%B: símbolo especial \"%s\" inválido." + +#: elf32-arm.c:5686 elf32-arm.c:5726 +msgid "It must be a global or weak function symbol." +msgstr "Tem de ser um símbolo de função global ou fraco." + +#: elf32-arm.c:5724 +msgid "%B: invalid standard symbol `%s'." +msgstr "%B: símbolo standard \"%s\" inválido." + +#: elf32-arm.c:5730 +msgid "%B: absent standard symbol `%s'." +msgstr "%B: símbolo standard \"%s\" ausente." + +#: elf32-arm.c:5742 +msgid "%B: `%s' and its special symbol are in different sections." +msgstr "%B: \"%s\" e o seu símbolo especial estão em secções diferentes." + +#: elf32-arm.c:5754 +msgid "%B: entry function `%s' not output." +msgstr "%B: função de entrada \"%s\" não saída." + +#: elf32-arm.c:5761 +msgid "%B: entry function `%s' is empty." +msgstr "%B: função de entrada \"%s\" está vazia." + +#: elf32-arm.c:5890 +msgid "%B: --in-implib only supported for Secure Gateway import libraries." +msgstr "%B: --in-implib só é suportado para bibliotecas importadas Secure Gateway." + +#: elf32-arm.c:5936 +msgid "%B: invalid import library entry: `%s'." +msgstr "%B: entrada de biblioteca importada \"%s\" inválida." + +#: elf32-arm.c:5938 +msgid "Symbol should be absolute, global and refer to Thumb functions." +msgstr "O símbolo deve ser absoluto, global e referir-se a funções Thumb." + +#: elf32-arm.c:5958 +#, c-format +msgid "Entry function `%s' disappeared from secure code." +msgstr "Função de entrada \"%s\" desapareceu do código de segurança." + +#: elf32-arm.c:5982 +#, c-format +msgid "`%s' refers to a non entry function." +msgstr "\"%s\" refere-se a função não de entrada." + +#: elf32-arm.c:5997 +msgid "%B: visibility of symbol `%s' has changed." +msgstr "%B: a visibilidade do símbolo \"%s\" mudou." + +#: elf32-arm.c:6006 +msgid "%B: incorrect size for symbol `%s'." +msgstr "%B: tamanho incorrecto do símbolo \"%s\"." + +#: elf32-arm.c:6025 +#, c-format +msgid "Offset of veneer for entry function `%s' not a multiple of its size." +msgstr "Desvio \"%s\" da folha para função de entrada não é múltiplo do seu tamanho." + +#: elf32-arm.c:6045 +msgid "new entry function(s) introduced but no output import library specified:" +msgstr "introduzidas novas funções de entrada mas não especificou biblioteca importada de saída:" + +#: elf32-arm.c:6053 +#, c-format +msgid "Start address of `%s' is different from previous link." +msgstr "Endereço inicial de \"%s\" é diferente da ligação prévia." + +#: elf32-arm.c:6760 +#, c-format +msgid "unable to find THUMB glue '%s' for '%s'" +msgstr "impossível encontrar cola THUMB \"%s\" para \"%s\"" + +#: elf32-arm.c:6796 +#, c-format +msgid "unable to find ARM glue '%s' for '%s'" +msgstr "impossível encontrar cola ARM \"%s\" para \"%s\"" + +#: elf32-arm.c:7511 +msgid "%B: BE8 images only valid in big-endian mode." +msgstr "%B: imagens BE8 só são válidas em modo big-endian." + +#. Give a warning, but do as the user requests anyway. +#: elf32-arm.c:7742 +msgid "%B: warning: selected VFP11 erratum workaround is not necessary for target architecture" +msgstr "%B: aviso: a solução de errata VFP11 seleccionada não é necessária para arquitectura de destino" + +#: elf32-arm.c:7769 +msgid "%B: warning: selected STM32L4XX erratum workaround is not necessary for target architecture" +msgstr "%B: aviso: a solução de errata STM32L4XX seleccionada não é necessária para arquitectura de destino" + +#: elf32-arm.c:8306 elf32-arm.c:8326 +msgid "%B: unable to find VFP11 veneer `%s'" +msgstr "%B: impossível encontrar a folha VFP11 \"%s\"" + +#: elf32-arm.c:8392 elf32-arm.c:8411 +msgid "%B: unable to find STM32L4XX veneer `%s'" +msgstr "%B: impossível encontrar a folha STM32L4XX \"%s\"" + +#: elf32-arm.c:8618 +#, c-format +msgid "" +"%B(%A+%#x): error: multiple load detected in non-last IT block instruction : STM32L4XX veneer cannot be generated.\n" +"Use gcc option -mrestrict-it to generate only one instruction per IT block.\n" +msgstr "" +"%B(%A+%#x): erro: detectada múltipla carga em bloco de instrução IT não-último: impossível gerar folha STM32L4XX.\n" +"Use a opção gcc -mrestrict-it para gerar só uma instrução por bloco IT.\n" + +#: elf32-arm.c:8716 +#, c-format +msgid "Invalid TARGET2 relocation type '%s'." +msgstr "Tipo de relocalização \"%s\" TARGET2 inválido." + +#. FIXME: We ought to be able to generate thumb-1 PLT +#. instructions... +#: elf32-arm.c:9458 +msgid "%B: Warning: thumb-1 mode PLT generation not currently supported" +msgstr "%B: aviso: geração PLT modo thumb-1 não é actualmente suportada" + +#: elf32-arm.c:9723 +#, c-format +msgid "%B(%A+%#Lx): unexpected Thumb instruction '%#lx' in TLS trampoline" +msgstr "%B(%A+%#Lx): instrução Thumb \"%#lx\" inesperada em trampolim TLS" + +#: elf32-arm.c:9763 +#, c-format +msgid "%B(%A+%#Lx): unexpected ARM instruction '%#lx' in TLS trampoline" +msgstr "%B(%A+%#Lx): instrução ARM \"%#lx\" inesperada em trampolim TLS" + +#: elf32-arm.c:10103 +msgid "shared object" +msgstr "objecto partilhado" + +#: elf32-arm.c:10106 +msgid "PIE executable" +msgstr "Executável PIE" + +#: elf32-arm.c:10109 +msgid "%B: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC" +msgstr "%B: relocalização %s contra símbolo \"%s\" externo ou indefinido não pode ser usada ao fazer %s; recompile com -fPIC" + +#: elf32-arm.c:10240 +msgid "%B: Warning: Arm BLX instruction targets Arm function '%s'." +msgstr "%B: aviso: instrução Arm BLX destina-se a função Arm \"%s\"." + +#: elf32-arm.c:10666 +msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'." +msgstr "%B: aviso: instrução Thumb BLX destina-se a função thumb \"%s\"." + +#: elf32-arm.c:11534 +#, c-format +msgid "%B(%A+%#Lx): unexpected Thumb instruction '%#lx' referenced by TLS_GOTDESC" +msgstr "%B(%A+%#Lx): instrução Thumb \"%#lx\" inesperada referenciada por TLS_GOTDESC" + +#: elf32-arm.c:11557 +#, c-format +msgid "%B(%A+%#Lx): unexpected ARM instruction '%#lx' referenced by TLS_GOTDESC" +msgstr "%B(%A+%#Lx): instrução ARM \"%#lx\" inesperada referenciada por TLS_GOTDESC" + +#: elf32-arm.c:11586 elf32-m68k.c:3701 elf32-metag.c:1916 elf32-nios2.c:4358 +#, c-format +msgid "%B(%A+%#Lx): %s relocation not permitted in shared object" +msgstr "%B(%A+%#Lx): relocalização %s não permitida em objecto partilhado" + +#: elf32-arm.c:11799 +#, c-format +msgid "%B(%A+%#Lx): Only ADD or SUB instructions are allowed for ALU group relocations" +msgstr "%B(%A+%#Lx): só são permitidas instruções ADD ou SUB para relocalizações de grupo ALU" + +#: elf32-arm.c:11839 elf32-arm.c:11929 elf32-arm.c:12015 elf32-arm.c:12103 +#, c-format +msgid "%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s" +msgstr "%B(%A+%#Lx): transporte ao dividir %#Lx para relocalização de grupo %s" + +#: elf32-arm.c:12369 elf32-sh.c:4003 elf64-sh64.c:1539 +#, c-format +msgid "%B(%A+%#Lx): %s relocation against SEC_MERGE section" +msgstr "%B(%A+%#Lx): relocalização %s contra secção SEC_MERGE" + +#: elf32-arm.c:12481 elf32-m68k.c:3931 elf32-xtensa.c:2681 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6185 +#, c-format +msgid "%B(%A+%#Lx): %s used with TLS symbol %s" +msgstr "%B(%A+%#Lx): %s usado com símbolo TLS %s" + +#: elf32-arm.c:12483 elf32-m68k.c:3933 elf32-xtensa.c:2683 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6187 +#, c-format +msgid "%B(%A+%#Lx): %s used with non-TLS symbol %s" +msgstr "%B(%A+%#Lx): %s usado com símbolo não-TLS %s" + +#: elf32-arm.c:12565 elf32-tic6x.c:2674 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6520 +msgid "out of range" +msgstr "fora do intervalo" + +#: elf32-arm.c:12569 elf32-nios2.c:4492 elf32-pru.c:821 elf32-tic6x.c:2678 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6524 +msgid "unsupported relocation" +msgstr "relocalização não suportada" + +#: elf32-arm.c:12577 elf32-nios2.c:4502 elf32-pru.c:831 elf32-tic6x.c:2686 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6532 +msgid "unknown error" +msgstr "erro desconhecido" + +#: elf32-arm.c:13157 +msgid "%B: Unknown mandatory EABI object attribute %d" +msgstr "Aviso: %B: atributo de objecto EABI %d obrigatório desconhecido" + +#: elf32-arm.c:13165 +msgid "Warning: %B: Unknown EABI object attribute %d" +msgstr "Aviso: %B: atributo de objecto EABI %d desconhecido" + +#: elf32-arm.c:13432 +msgid "error: %B: Unknown CPU architecture" +msgstr "erro: %B: arquitectura CPU desconhecida" + +#: elf32-arm.c:13470 elf32-nios2.c:2945 +#, c-format +msgid "error: %B: Conflicting CPU architectures %d/%d" +msgstr "erro: %B: arquitecturas CPU %d/%d em conflito" + +#: elf32-arm.c:13567 +msgid "Error: %B has both the current and legacy Tag_MPextension_use attributes" +msgstr "Erro: %B tem ambos os atributos Tag_MPextension_use actual e legado" + +#: elf32-arm.c:13596 +msgid "error: %B uses VFP register arguments, %B does not" +msgstr "erro: %B usa argumentos de registo VFP, %B não" + +#: elf32-arm.c:13754 +msgid "error: %B: unable to merge virtualization attributes with %B" +msgstr "erro: %B: impossível unir atributos de virtualização com %B" + +#: elf32-arm.c:13780 +msgid "error: %B: Conflicting architecture profiles %c/%c" +msgstr "erro: %B: perfis de arquitectura %c/%c em conflito" + +#: elf32-arm.c:13919 +msgid "Warning: %B: Conflicting platform configuration" +msgstr "Aviso: %B: configuração de plataforma em conflito" + +#: elf32-arm.c:13928 +msgid "error: %B: Conflicting use of R9" +msgstr "erro: %B: uso de R9 em conflito" + +#: elf32-arm.c:13940 +msgid "error: %B: SB relative addressing conflicts with use of R9" +msgstr "erro: %B: conflitos de endereçamento relativo SB com o uso de R9" + +#: elf32-arm.c:13953 +msgid "warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail" +msgstr "aviso: %B usa %u-byte wchar_t mas a saída deve usar %u-byte wchar_t; uso de valores wchar_t através de vários objectos pode falhar" + +#: elf32-arm.c:13984 +msgid "warning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may fail" +msgstr "aviso: %B usa %s enums mas a saída deve usar %s enums; uso de valores enum através de vários objectos pode falhar" + +#: elf32-arm.c:13996 +msgid "error: %B uses iWMMXt register arguments, %B does not" +msgstr "erro: %B usa argumentos de registo iWMMXt, %B não" + +#: elf32-arm.c:14013 +msgid "error: fp16 format mismatch between %B and %B" +msgstr "erro: formato fp16 enganado entre %B e %B" + +#: elf32-arm.c:14049 +msgid "%B has both the current and legacy Tag_MPextension_use attributes" +msgstr "%B tem ambos os atributos Tag_MPextension_use actual e legado" + +#. Ignore init flag - it may not be set, despite the flags field +#. containing valid data. +#. Ignore init flag - it may not be set, despite the flags field containing valid data. +#. Ignore init flag - it may not be set, despite the flags field +#. containing valid data. +#: elf32-arm.c:14136 elf32-bfin.c:4729 elf32-cris.c:3905 elf32-m68hc1x.c:1409 +#: elf32-m68k.c:1199 elf32-score.c:3998 elf32-score7.c:3803 elf32-vax.c:536 +#: elf32-xgate.c:669 elfxx-mips.c:15756 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6686 +#, c-format +msgid "private flags = %lx:" +msgstr "bandeiras provadas = %lx:" + +#: elf32-arm.c:14145 +#, c-format +msgid " [interworking enabled]" +msgstr " [interworking activo]" + +#: elf32-arm.c:14153 +#, c-format +msgid " [VFP float format]" +msgstr " [formato flutuante VFP]" + +#: elf32-arm.c:14155 +#, c-format +msgid " [Maverick float format]" +msgstr " [formato flutuante Maverick]" + +#: elf32-arm.c:14157 +#, c-format +msgid " [FPA float format]" +msgstr " [formato flutuante FPA]" + +#: elf32-arm.c:14166 +#, c-format +msgid " [new ABI]" +msgstr " [novo ABI]" + +#: elf32-arm.c:14169 +#, c-format +msgid " [old ABI]" +msgstr " [ABI antigo]" + +#: elf32-arm.c:14172 +#, c-format +msgid " [software FP]" +msgstr " [software FP]" + +#: elf32-arm.c:14181 +#, c-format +msgid " [Version1 EABI]" +msgstr " [Version1 EABI]" + +#: elf32-arm.c:14184 elf32-arm.c:14195 +#, c-format +msgid " [sorted symbol table]" +msgstr " [tabela de símbolo ordenada]" + +#: elf32-arm.c:14186 elf32-arm.c:14197 +#, c-format +msgid " [unsorted symbol table]" +msgstr " [tabela de símbolo desordenada]" + +#: elf32-arm.c:14192 +#, c-format +msgid " [Version2 EABI]" +msgstr " [Version2 EABI]" + +#: elf32-arm.c:14200 +#, c-format +msgid " [dynamic symbols use segment index]" +msgstr " [símbolos dinâmicos usam índice de segmento]" + +#: elf32-arm.c:14203 +#, c-format +msgid " [mapping symbols precede others]" +msgstr " [símbolos de mapeamento precedem outros]" + +#: elf32-arm.c:14210 +#, c-format +msgid " [Version3 EABI]" +msgstr " [Version3 EABI]" + +#: elf32-arm.c:14214 +#, c-format +msgid " [Version4 EABI]" +msgstr " [Version4 EABI]" + +#: elf32-arm.c:14218 +#, c-format +msgid " [Version5 EABI]" +msgstr " [Version5 EABI]" + +#: elf32-arm.c:14221 +#, c-format +msgid " [soft-float ABI]" +msgstr " [soft-float ABI]" + +#: elf32-arm.c:14224 +#, c-format +msgid " [hard-float ABI]" +msgstr " [hard-float ABI]" + +#: elf32-arm.c:14230 +#, c-format +msgid " [BE8]" +msgstr " [BE8]" + +#: elf32-arm.c:14233 +#, c-format +msgid " [LE8]" +msgstr " [LE8]" + +#: elf32-arm.c:14239 +#, c-format +msgid " " +msgstr " " + +#: elf32-arm.c:14246 +#, c-format +msgid " [relocatable executable]" +msgstr " [executável relocalizável]" + +#: elf32-arm.c:14251 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6689 +#, c-format +msgid "" +msgstr "" + +#: elf32-arm.c:14368 elf32-i386.c:1510 elf32-s390.c:956 elf32-tic6x.c:2749 +#: elf32-tilepro.c:1471 elf32-xtensa.c:1018 elf64-s390.c:875 +#: elf64-x86-64.c:1823 elfxx-sparc.c:1420 elfxx-tilegx.c:1688 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6978 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:513 +#, c-format +msgid "%B: bad symbol index: %d" +msgstr "%B: mau índice de símbolo: %d" + +#: elf32-arm.c:15636 elf32-hppa.c:2082 elf32-lm32.c:1989 elf32-m32r.c:2097 +#: elf32-metag.c:2792 elf32-nds32.c:3844 elf32-or1k.c:2281 elf32-ppc.c:6156 +#: elf32-s390.c:1851 elf32-sh.c:3289 elf32-tic6x.c:3205 elf32-tilepro.c:2237 +#: elf64-ppc.c:9893 elf64-s390.c:1785 elfxx-sparc.c:2457 elfxx-tilegx.c:2479 +#: elfxx-x86.c:563 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:8319 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:1112 +#, c-format +msgid "%B: dynamic relocation against `%T' in read-only section `%A'\n" +msgstr "%B: relocalização dinâmica contra \"%T\" em secção só de leitura \"%A\"\n" + +#: elf32-arm.c:15881 +msgid "Errors encountered processing file %B" +msgstr "Encontrados erros ao processar o ficheiro %B" + +#: elf32-arm.c:16318 elflink.c:12394 elflink.c:12441 +#, c-format +msgid "could not find section %s" +msgstr "impossível encontrar a secção %s" + +#: elf32-arm.c:17494 +msgid "%B: error: Cortex-A8 erratum stub is allocated in unsafe location" +msgstr "%B: erro: errata Cortex-A8 fictícia está alocada a localização não-segura" + +#. There's not much we can do apart from complain if this +#. happens. +#: elf32-arm.c:17521 +msgid "%B: error: Cortex-A8 erratum stub out of range (input file too large)" +msgstr "%B: erro: errata Cortex-A8 fictícia fora do intervalo (ficheiro de entrada muito grande)" + +#: elf32-arm.c:18348 elf32-arm.c:18370 +msgid "%B: error: VFP11 veneer out of range" +msgstr "%B: erro: folha VFP11 fora do intervalo" + +#: elf32-arm.c:18421 +msgid "%B(%#Lx): error: Cannot create STM32L4XX veneer. Jump out of range by %Ld bytes. Cannot encode branch instruction. " +msgstr "%B(%#Lx): erro: impossível criar folha STM32L4XX. Sai fora do intervalo por %Ld bytes. Impossível codificar a instrução do ramo. " + +#: elf32-arm.c:18459 +msgid "%B: error: Cannot create STM32L4XX veneer." +msgstr "%B: erro: impossível criar folha STM32L4XX." + +#: elf32-arm.c:19481 +msgid "error: %B is already in final BE8 format" +msgstr "erro: %B já está no formato final BE8" + +#: elf32-arm.c:19557 +msgid "error: Source object %B has EABI version %d, but target %B has EABI version %d" +msgstr "erro: objecto fonte %B tem versão EABI %d, mas o alvo %B tem versão EABI %d" + +#: elf32-arm.c:19572 +msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d" +msgstr "erro: %B está compilado para APCS-%d, enquanto o alvo %B usa APCS-%d" + +#: elf32-arm.c:19596 +msgid "error: %B uses VFP instructions, whereas %B does not" +msgstr "erro: %B usa instruções VFP, enquanto %B não" + +#: elf32-arm.c:19600 +msgid "error: %B uses FPA instructions, whereas %B does not" +msgstr "erro: %B usa instruções FPA, enquanto %B não" + +#: elf32-arm.c:19610 +msgid "error: %B uses Maverick instructions, whereas %B does not" +msgstr "erro: %B usa instruções Maverick, enquanto %B não" + +#: elf32-arm.c:19614 +msgid "error: %B does not use Maverick instructions, whereas %B does" +msgstr "erro: %B não usa instruções Maverick, enquanto %B sim" + +#: elf32-arm.c:19633 +msgid "error: %B uses software FP, whereas %B uses hardware FP" +msgstr "erro: %B usa programa FP, enquanto %B usa equipamento FP" + +#: elf32-arm.c:19637 +msgid "error: %B uses hardware FP, whereas %B uses software FP" +msgstr "erro: %B usa equipamento FP, enquanto %B usa programa FP" + +#: elf32-avr.c:959 +#, c-format +msgid "%B: invalid AVR reloc number: %d" +msgstr "%B: número de reloc AVR inválido: %d" + +#: elf32-avr.c:1510 elf32-bfin.c:3124 elf32-cris.c:2038 elf32-epiphany.c:574 +#: elf32-fr30.c:599 elf32-frv.c:4049 elf32-ft32.c:493 elf32-i860.c:1218 +#: elf32-ip2k.c:1486 elf32-iq2000.c:697 elf32-m32c.c:630 elf32-mep.c:532 +#: elf32-metag.c:1993 elf32-moxie.c:293 elf32-msp430.c:1361 elf32-mt.c:404 +#: elf32-or1k.c:1246 elf32-tilepro.c:3505 elf32-v850.c:2291 elf32-visium.c:685 +#: elf32-xstormy16.c:931 elf64-mmix.c:1546 elfxx-tilegx.c:3865 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2245 +msgid "internal error: dangerous relocation" +msgstr "erro interno: relocalização perigosa" + +#: elf32-avr.c:3319 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:2882 +#, c-format +msgid "cannot create stub entry %s" +msgstr "impossível criar entrada fictícia %s" + +#: elf32-bfin.c:106 elf32-bfin.c:362 +msgid "relocation should be even number" +msgstr "a relocalização deve ser número par" + +#: elf32-bfin.c:1577 +#, c-format +msgid "%B(%A+%#Lx): unresolvable relocation against symbol `%s'" +msgstr "%B(%A+%#Lx): relocalização insolúvel contra símbolo \"%s\"" + +#: elf32-bfin.c:1608 elf32-i386.c:3473 elf32-m68k.c:3971 elf32-s390.c:3261 +#: elf64-s390.c:3175 elf64-x86-64.c:3839 +#, c-format +msgid "%B(%A+%#Lx): reloc against `%s': error %d" +msgstr "%B(%A+%#Lx): reloc contra \"%s\": erro %d" + +#: elf32-bfin.c:2628 +#, c-format +msgid "%B: relocation at `%A+%#Lx' references symbol `%s' with nonzero addend" +msgstr "%B: relocalização em \"%A+%#Lx\" referencia o símbolo \"%s\" com adenda não-zero" + +#: elf32-bfin.c:2644 +msgid "relocation references symbol not defined in the module" +msgstr "relocalização referencia símbolo ainda não definido no módulo" + +#: elf32-bfin.c:2741 +msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend" +msgstr "R_BFIN_FUNCDESC referencia símbolo dinâmico com adenda não-zero" + +#: elf32-bfin.c:2782 elf32-bfin.c:2905 +msgid "cannot emit fixups in read-only section" +msgstr "impossível emitir fixups em secção só de leitura" + +#: elf32-bfin.c:2813 elf32-bfin.c:2943 elf32-lm32.c:1044 elf32-sh.c:4926 +msgid "cannot emit dynamic relocations in read-only section" +msgstr "impossível emitir relocalizações dinâmicas em secção só de leitura" + +#: elf32-bfin.c:2863 +msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend" +msgstr "R_BFIN_FUNCDESC_VALUE referencia símbolo dinâmico com adenda não-zero" + +#: elf32-bfin.c:3028 +msgid "relocations between different segments are not supported" +msgstr "relocalizações entre diferentes segmentos não são suportadas" + +#: elf32-bfin.c:3029 +msgid "warning: relocation references a different segment" +msgstr "aviso: a relocalização referencia um segmento diferente" + +#: elf32-bfin.c:4687 +#, c-format +msgid "%B: unsupported relocation type %d" +msgstr "%B: tipo de relocalização não suportado %d" + +#: elf32-bfin.c:4776 elf32-frv.c:6596 +msgid "%B: cannot link non-fdpic object file into fdpic executable" +msgstr "%B: impossível ligar ficheiro objecto não-fdpic a executável fdpic" + +#: elf32-bfin.c:4780 elf32-frv.c:6600 +msgid "%B: cannot link fdpic object file into non-fdpic executable" +msgstr "%B: impossível ligar ficheiro objecto fdpic a executável não-fdpic" + +#: elf32-bfin.c:4930 +#, c-format +msgid "*** check this relocation %s" +msgstr "*** verificar esta relocalização %s" + +#: elf32-bfin.c:5046 +msgid "the bfin target does not currently support the generation of copy relocations" +msgstr "o alvo bfin actualmente não suporta a geração de relocalizações de cópia" + +#: elf32-cr16.c:653 +#, c-format +msgid "Unsupported CR16 relocation type: 0x%x\n" +msgstr "Tipo de relocalização CR16 não suportado: 0x%x\n" + +#: elf32-cr16.c:682 +#, c-format +msgid "%B: unrecognised CR16 reloc number: %d" +msgstr "%B: número de reloc CR16 não reconhecido: %d" + +#: elf32-cr16c.c:186 +#, c-format +msgid "%B: invalid CR16C reloc number: %d" +msgstr "%B: número de reloc CR16C inválido: %d" + +#: elf32-cris.c:467 +#, c-format +msgid "%B: invalid CRIS reloc number: %d" +msgstr "%B: número de reloc CRIS inválido: %d" + +#: elf32-cris.c:1116 +#, c-format +msgid "%B, section %A: unresolvable relocation %s against symbol `%s'" +msgstr "%B, secção %A: relocalização insolúvel %s contra símbolo \"%s\"" + +#: elf32-cris.c:1181 +#, c-format +msgid "%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'" +msgstr "%B, secção %A: sem PLT ou GOT para relocalização %s contra símbolo \"%s\"" + +#: elf32-cris.c:1184 +#, c-format +msgid "%B, section %A: No PLT for relocation %s against symbol `%s'" +msgstr "%B, secção %A: sem PLT para relocalização %s contra símbolo \"%s\"" + +#: elf32-cris.c:1190 elf32-cris.c:1323 elf32-cris.c:1588 elf32-cris.c:1671 +#: elf32-cris.c:1824 elf32-tic6x.c:2586 +msgid "[whose name is lost]" +msgstr "8cujo nome está perdido]" + +#: elf32-cris.c:1308 elf32-tic6x.c:2570 +#, c-format +msgid "%B, section %A: relocation %s with non-zero addend %Ld against local symbol" +msgstr "%B, secção %A: relocalização %s com adenda não-zero %Ld contra símbolo local" + +#: elf32-cris.c:1317 elf32-cris.c:1665 elf32-cris.c:1818 elf32-tic6x.c:2579 +#, c-format +msgid "%B, section %A: relocation %s with non-zero addend %Ld against symbol `%s'" +msgstr "%B, secção %A: relocalização %s com adenda não-zero %Ld contra símbolo \"%s\"" + +#: elf32-cris.c:1344 +#, c-format +msgid "%B, section %A: relocation %s is not allowed for global symbol: `%s'" +msgstr "%B, secção %A: relocalização %s não é permitida para símbolo global: \"%s\"" + +#: elf32-cris.c:1361 +#, c-format +msgid "%B, section %A: relocation %s with no GOT created" +msgstr "%B, secção %A: relocalização %s sem GOT criado" + +#. We shouldn't get here for GCC-emitted code. +#: elf32-cris.c:1578 +#, c-format +msgid "%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?" +msgstr "%B, secção %A: relocalização %s tem referência não definida a \"%s\", talvez uma declaração misturada?" + +#: elf32-cris.c:1581 +#, c-format +msgid "%B, section %A: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?" +msgstr "%B, secção %A: relocalização %s não é permitida para \"%s\", um símbolo global com visibilidade predefinida, talvez uma declaração misturada?" + +#: elf32-cris.c:1952 +#, c-format +msgid "%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?" +msgstr "%B, secção %A: relocalização %s não é permitida para \"%s\", que está definido fora do programa, talvez uma declaração misturada?" + +#: elf32-cris.c:2005 +msgid "(too many global variables for -fpic: recompile with -fPIC)" +msgstr "(muitas variáveis globais para -fpic: recompile com -fPIC)" + +#: elf32-cris.c:2012 +msgid "(thread-local data too big for -fpic or -msmall-tls: recompile with -fPIC or -mno-small-tls)" +msgstr "(dados thread-local muito grandes para -fpic ou -msmall-tls: recompile com -fPIC ou -mno-small-tls" + +#: elf32-cris.c:3047 +#, c-format +msgid "" +"%B, section %A:\n" +" v10/v32 compatible object must not contain a PIC relocation" +msgstr "" +"%B, secção %A:\n" +" objecto compatível v10/v32 não deve conter uma relocalização PIC" + +#: elf32-cris.c:3101 +#, c-format +msgid "" +"%B, section %A:\n" +" relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC" +msgstr "" +"%B, secção %A:\n" +" relocalização %s inválida em objecto partilhado; tipicamente uma mistura de opções, recompile com -fPIC" + +#: elf32-cris.c:3319 +#, c-format +msgid "" +"%B, section %A:\n" +" relocation %s should not be used in a shared object; recompile with -fPIC" +msgstr "" +"%B, secção %A:\n" +" relocalização %s não deve ser usada em objecto partilhado; recompile com -fPIC" + +#: elf32-cris.c:3744 +#, c-format +msgid "" +"%B, section `%A', to symbol `%s':\n" +" relocation %s should not be used in a shared object; recompile with -fPIC" +msgstr "" +"%B, secção %A, para símbolo \"%s\":\n" +" relocalização %s não deve ser usada em objecto partilhado; recompile com -fPIC" + +#: elf32-cris.c:3857 +msgid "Unexpected machine number" +msgstr "Número de máquina inesperado" + +#: elf32-cris.c:3908 +#, c-format +msgid " [symbols have a _ prefix]" +msgstr " [símbolos têm um prefixo _]" + +#: elf32-cris.c:3911 +#, c-format +msgid " [v10 and v32]" +msgstr " [v10 e v32]" + +#: elf32-cris.c:3914 +#, c-format +msgid " [v32]" +msgstr " [v32]" + +#: elf32-cris.c:3958 +msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols" +msgstr "%B: usa símbolos prefixados com _, mas o ficheiro será escrito com símbolos sem prefixo" + +#: elf32-cris.c:3959 +msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols" +msgstr "%B: usa símbolos sem prefixo, mas o ficheiro será escrito com símbolos prefixados com _" + +#: elf32-cris.c:3978 +msgid "%B contains CRIS v32 code, incompatible with previous objects" +msgstr "%B contém código CRIS v32, incompatível com os objectos anteriores" + +#: elf32-cris.c:3980 +msgid "%B contains non-CRIS-v32 code, incompatible with previous objects" +msgstr "%B contém código não-CRIS-v32, incompatível com os objectos anteriores" + +#: elf32-crx.c:429 +#, c-format +msgid "%B: unrecognised CRX reloc number: %d" +msgstr "%B: número de reloc CRX não reconhecido: %d" + +#: elf32-d10v.c:234 +#, c-format +msgid "%B: invalid D10V reloc number: %d" +msgstr "%B: número de reloc D10V inválido : %d" + +#: elf32-d30v.c:522 elf32-d30v.c:541 +#, c-format +msgid "%B: invalid D30V reloc number: %d" +msgstr "%B: número de reloc D30V inválido : %d" + +#: elf32-dlx.c:141 +#, c-format +msgid "BFD Link Error: branch (PC rel16) to section (%s) not supported" +msgstr "Erro de ligação BFD: ramo (PC rel16) para secção (%s) não suportado" + +#: elf32-dlx.c:204 +#, c-format +msgid "BFD Link Error: jump (PC rel26) to section (%s) not supported" +msgstr "Erro de ligação BFD: salto (PC rel26) para secção (%s) não suportado" + +#: elf32-dlx.c:548 +#, c-format +msgid "Invalid DLX reloc number: %d" +msgstr "Número de reloc DLX inválido: %d" + +#: elf32-epiphany.c:376 +#, c-format +msgid "%B: invalid Epiphany reloc number: %d" +msgstr "%B: número de reloc Epiphany inválido: %d" + +#. Only if it's not an unresolved symbol. +#: elf32-epiphany.c:570 elf32-ip2k.c:1482 +msgid "unsupported relocation between data/insn address spaces" +msgstr "relocalização não suportada entre dados/espaços de endereço insn" + +#: elf32-fr30.c:381 +#, c-format +msgid "%B: invalid FR30 reloc number: %d" +msgstr "%B: número de reloc FR30 inválido: %d" + +#: elf32-frv.c:1451 elf32-frv.c:1602 +msgid "relocation requires zero addend" +msgstr "relocalização requer adenda zero" + +#: elf32-frv.c:2557 +#, c-format +msgid "%B: invalid FRV reloc number: %d" +msgstr "%B: número de reloc FRV inválido: %d" + +#: elf32-frv.c:2823 +#, c-format +msgid "%H: relocation to `%s+%v' may have caused the error above\n" +msgstr "%H: relocalização para \"%s+%v\" poderá ter causado o erro acima\n" + +#: elf32-frv.c:2840 +msgid "%H: relocation references symbol not defined in the module\n" +msgstr "%H: relocalização referencia símbolo não definido no módulo\n" + +#: elf32-frv.c:2916 +msgid "%H: R_FRV_GETTLSOFF not applied to a call instruction\n" +msgstr "%H: R_FRV_GETTLSOFF não aplicado a uma instrução call\n" + +#: elf32-frv.c:2957 +msgid "%H: R_FRV_GOTTLSDESC12 not applied to an lddi instruction\n" +msgstr "%H: R_FRV_GOTTLSDESC12 não aplicado a uma instrução lddi\n" + +#: elf32-frv.c:3028 +msgid "%H: R_FRV_GOTTLSDESCHI not applied to a sethi instruction\n" +msgstr "%H: R_FRV_GOTTLSDESCHI não aplicado a uma instrução sethi\n" + +#: elf32-frv.c:3065 +msgid "%H: R_FRV_GOTTLSDESCLO not applied to a setlo or setlos instruction\n" +msgstr "%H: R_FRV_GOTTLSDESCLO não aplicado a uma instrução setlo ou setlos\n" + +#: elf32-frv.c:3112 +msgid "%H: R_FRV_TLSDESC_RELAX not applied to an ldd instruction\n" +msgstr "%H: R_FRV_TLSDESC_RELAX não aplicado a uma instrução ldd\n" + +#: elf32-frv.c:3196 +msgid "%H: R_FRV_GETTLSOFF_RELAX not applied to a calll instruction\n" +msgstr "%H: R_FRV_GETTLSOFF_RELAX não aplicado a uma instrução calll\n" + +#: elf32-frv.c:3250 +msgid "%H: R_FRV_GOTTLSOFF12 not applied to an ldi instruction\n" +msgstr "%H: R_FRV_GOTTLSOFF12 não aplicado a uma instrução ldi\n" + +#: elf32-frv.c:3280 +msgid "%H: R_FRV_GOTTLSOFFHI not applied to a sethi instruction\n" +msgstr "%H: R_FRV_GOTTLSOFFHI não aplicado a uma instrução sethi\n" + +#: elf32-frv.c:3309 +msgid "%H: R_FRV_GOTTLSOFFLO not applied to a setlo or setlos instruction\n" +msgstr "%H: R_FRV_GOTTLSOFFLO não aplicado a uma instrução setlo ou setlos\n" + +#: elf32-frv.c:3339 +msgid "%H: R_FRV_TLSOFF_RELAX not applied to an ld instruction\n" +msgstr "%H: R_FRV_TLSOFF_RELAX não aplicado a uma instrução ld\n" + +#: elf32-frv.c:3384 +msgid "%H: R_FRV_TLSMOFFHI not applied to a sethi instruction\n" +msgstr "%H: R_FRV_TLSMOFFHI não aplicado a uma instrução sethi\n" + +#: elf32-frv.c:3411 +msgid "R_FRV_TLSMOFFLO not applied to a setlo or setlos instruction\n" +msgstr "R_FRV_TLSMOFFLO não aplicado a uma instrução setlo ou setlos\n" + +#: elf32-frv.c:3532 +msgid "%H: R_FRV_FUNCDESC references dynamic symbol with nonzero addend\n" +msgstr "%H: R_FRV_FUNCDESC referencia símbolo dinâmico com adenda não zero\n" + +#: elf32-frv.c:3573 elf32-frv.c:3695 +msgid "%H: cannot emit fixups in read-only section\n" +msgstr "%H: impossível emitir fixups em secção só de leitura\n" + +#: elf32-frv.c:3604 elf32-frv.c:3738 +msgid "%H: cannot emit dynamic relocations in read-only section\n" +msgstr "%H: impossível emitir relocalizações dinâmicas em secção só de leitura\n" + +#: elf32-frv.c:3653 +msgid "%H: R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend\n" +msgstr "%H: R_FRV_FUNCDESC_VALUE referencia símbolo dinâmico com adenda não-zero\n" + +#: elf32-frv.c:3910 +#, c-format +msgid "%H: reloc against `%s' references a different segment\n" +msgstr "%H: reloc contra \"%s\" referencia um segmento diferente\n" + +#: elf32-frv.c:4061 +#, c-format +msgid "%H: reloc against `%s': %s\n" +msgstr "%H: reloc contra \"%s\": %s\n" + +#: elf32-frv.c:6255 +#, c-format +msgid "%B: unsupported relocation type %i\n" +msgstr "%B: tipo de relocalização não suportado %i\n" + +#: elf32-frv.c:6507 +#, c-format +msgid "%B: compiled with %s and linked with modules that use non-pic relocations" +msgstr "%B: compilado com %s e ligado com módulos que usam relocalizações não-pic" + +#: elf32-frv.c:6561 elf32-iq2000.c:828 elf32-m32c.c:874 +#, c-format +msgid "%B: compiled with %s and linked with modules compiled with %s" +msgstr "%B: compilado com %s e ligado com módulos compilados com %s" + +#: elf32-frv.c:6574 +#, c-format +msgid "%B: uses different unknown e_flags (%#x) fields than previous modules (%#x)" +msgstr "%B: usa campos e_flags (%#x) desconhecidos diferentes dos módulos anteriores (%#x)" + +#: elf32-gen.c:69 elf64-gen.c:69 +#, c-format +msgid "%B: Relocations in generic ELF (EM: %d)" +msgstr "%B: relocalizações em ELF (EM: %d) genérico" + +#: elf32-hppa.c:829 elf32-hppa.c:3499 +#, c-format +msgid "%B(%A+%#Lx): cannot reach %s, recompile with -ffunction-sections" +msgstr "%B(%A+%#Lx): impossível atingir %s, recompile com -ffunction-sections" + +#: elf32-hppa.c:1242 +#, c-format +msgid "%B: relocation %s can not be used when making a shared object; recompile with -fPIC" +msgstr "%B: relocalização %s não pode ser usada ao fazer um objecto partilhado; recompile com -fPIC" + +#: elf32-hppa.c:2680 +#, c-format +msgid "%B: duplicate export stub %s" +msgstr "%B: fictício de exportação duplicado %s" + +#: elf32-hppa.c:3333 +#, c-format +msgid "%B(%A+%#Lx): %s fixup for insn %#x is not supported in a non-shared link" +msgstr "%B(%A+%#Lx): %s fixup para insn %#x não é suportado em ligação não partilhada" + +#: elf32-hppa.c:4124 +#, c-format +msgid "%s has both normal and TLS relocs" +msgstr "%s tem relocs normal e TLS em simultâneo" + +#: elf32-hppa.c:4142 +msgid "%B:%s has both normal and TLS relocs" +msgstr "%B:%s tem relocs normal e TLS em simultâneo" + +#: elf32-hppa.c:4201 +#, c-format +msgid "%B(%A+%#Lx): cannot handle %s for %s" +msgstr "%B(%A+%#Lx): impossível gerir %s para %s" + +#: elf32-hppa.c:4505 +msgid ".got section not immediately after .plt section" +msgstr "secção .got não imediatamente após secção .plt" + +#: elf32-i370.c:307 +#, c-format +msgid "%B: unrecognised I370 reloc number: %d" +msgstr "%B: número de reloc I370 não reconhecido: %d" + +#: elf32-i370.c:1164 +msgid "%B: unknown relocation type %d for symbol %s" +msgstr "%B: tipo de relocalização %d não desconhecido para símbolo %s" + +#: elf32-i370.c:1306 +#, c-format +msgid "%B: Relocation %s is not yet supported for symbol %s." +msgstr "%B: Relocalização %s ainda não suportada para símbolo %s." + +#. Unknown relocation. +#: elf32-i386.c:384 elf32-m68k.c:352 elf32-ppc.c:2039 elf32-s390.c:346 +#: elf32-tic6x.c:2609 elf32-wasm32.c:106 elf64-ppc.c:2516 elf64-s390.c:373 +#: elf64-x86-64.c:285 +#, c-format +msgid "%B: invalid relocation type %d" +msgstr "%B: tipo de relocalização %d inválido" + +#: elf32-i386.c:1159 elf64-x86-64.c:1335 +#, c-format +msgid "%B: TLS transition from %s to %s against `%s' at %#Lx in section `%A' failed" +msgstr "%B: transição TLS de %s para %s contra \"%s\" em %#Lx na secção \"%A\" falhou" + +#: elf32-i386.c:1250 +#, c-format +msgid "%B: direct GOT relocation R_386_GOT32X against `%s' without base register can not be used when making a shared object" +msgstr "%B: relocalização GOT directa R_386_GOT32X contra \"%s\" sem registo-base não pode ser usada ao fazer um objecto partilhado" + +#: elf32-i386.c:1703 elf32-s390.c:1184 elf32-sh.c:6057 elf32-tilepro.c:1584 +#: elf32-xtensa.c:1192 elf64-s390.c:1113 elfxx-sparc.c:1601 +#: elfxx-tilegx.c:1793 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:427 +#, c-format +msgid "%B: `%s' accessed both as normal and thread local symbol" +msgstr "%B: \"%s\" acedido como símbolo local normal e thread em simultâneo" + +#: elf32-i386.c:1767 +#, c-format +msgid "%B: unsupported non-PIC call to IFUNC `%s'" +msgstr "%B: chamada não-PIC a IFUNC \"%s\" não suportada" + +#: elf32-i386.c:2345 elf64-x86-64.c:2625 +#, c-format +msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported" +msgstr "%B: relocalização %s contra STT_GNU_IFUNC símbolo \"%s\" não suportada" + +#: elf32-i386.c:2378 elf32-i386.c:3684 elf32-i386.c:3823 elf64-x86-64.c:2682 +#: elf64-x86-64.c:4012 elf64-x86-64.c:4166 +msgid "Local IFUNC function `%s' in %B\n" +msgstr "Função IFUNC local \"%s\" em %B\n" + +#: elf32-i386.c:2593 +#, c-format +msgid "%B: direct GOT relocation %s against `%s' without base register can not be used when making a shared object" +msgstr "%B: relocalização GOT directa %s contra \"%s\" sem registo-base não pode ser usada ao fazer um objecto partilhado" + +#: elf32-i386.c:2628 elf64-x86-64.c:2873 +msgid "hidden symbol" +msgstr "símbolo oculto" + +#: elf32-i386.c:2631 elf64-x86-64.c:2876 +msgid "internal symbol" +msgstr "símbolo interno" + +#: elf32-i386.c:2634 elf64-x86-64.c:2879 +msgid "protected symbol" +msgstr "símbolo protegido" + +#: elf32-i386.c:2637 elf64-x86-64.c:2882 +msgid "symbol" +msgstr "símbolo" + +#: elf32-i386.c:2643 +#, c-format +msgid "%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object" +msgstr "%B: relocalização R_386_GOTOFF contra %s \"%s\" indefinido não pode ser usada ao fazer um objecto partilhado" + +#: elf32-i386.c:2656 +#, c-format +msgid "%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object" +msgstr "%B: relocalização R_386_GOTOFF contra %s \"%s\" protegido não pode ser usada ao fazer um objecto partilhado" + +#: elf32-i960.c:140 +#, c-format +msgid "%B: invalid i960 reloc number: %d" +msgstr "%B: número de reloc i960 inválido: %d" + +#: elf32-ip2k.c:856 elf32-ip2k.c:862 elf32-ip2k.c:929 elf32-ip2k.c:935 +msgid "ip2k relaxer: switch table without complete matching relocation information." +msgstr "ip2k relaxer: tabela de troca sem informação completa de comparação de relocalização." + +#: elf32-ip2k.c:879 elf32-ip2k.c:962 +msgid "ip2k relaxer: switch table header corrupt." +msgstr "ip2k relaxer: cabeçalho da tabela de troca corrompido." + +#: elf32-ip2k.c:1245 +#, c-format +msgid "%B: invalid IP2K reloc number: %d" +msgstr "%B: número de reloc IP2K inválido: %d" + +#: elf32-ip2k.c:1298 +#, c-format +msgid "ip2k linker: missing page instruction at %#Lx (dest = %#Lx)" +msgstr "ip2k linker: página de instrução em falta em %#Lx (dest = %#Lx)" + +#: elf32-ip2k.c:1315 +#, c-format +msgid "ip2k linker: redundant page instruction at %#Lx (dest = %#Lx)" +msgstr "ip2k linker: página de instrução redundante em %#Lx (dest = %#Lx)" + +#: elf32-iq2000.c:441 +#, c-format +msgid "%B: invalid IQ2000 reloc number: %d" +msgstr "%B: número de reloc IQ2000 inválido: %d" + +#: elf32-lm32.c:539 +#, c-format +msgid "%B: invalid LM32 reloc number: %d" +msgstr "%B: número de reloc LM32 inválido: %d" + +#: elf32-lm32.c:648 elf32-nios2.c:3133 +msgid "global pointer relative relocation when _gp not defined" +msgstr "relocalização relativa de ponteiro global com _gp não definido" + +#: elf32-lm32.c:703 elf32-nios2.c:3570 +msgid "global pointer relative address out of range" +msgstr "endereço relativo de ponteiro global fora do intervalo" + +#: elf32-lm32.c:998 +msgid "internal error: addend should be zero for R_LM32_16_GOT" +msgstr "erro interno: adenda devia ser zero para R_LM32_16_GOT" + +#: elf32-m32c.c:306 +#, c-format +msgid "%B: invalid M32C reloc number: %d" +msgstr "%B: número de reloc M32C inválido: %d" + +#: elf32-m32r.c:1286 +#, c-format +msgid "%B: invalid M32R reloc number: %d" +msgstr "%B: número de reloc M32R inválido: %d" + +#: elf32-m32r.c:1458 +msgid "SDA relocation when _SDA_BASE_ not defined" +msgstr "relocalização SDA com _SDA_BASE_ não definido" + +#: elf32-m32r.c:2971 elf32-microblaze.c:1064 elf32-microblaze.c:1112 +#, c-format +msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)" +msgstr "%B: o alvo (%s) de uma relocalização %s está na secção errada (%A)" + +#: elf32-m32r.c:3473 +msgid "%B: Instruction set mismatch with previous modules" +msgstr "%B: conjunto de instruções trocado com os módulos anteriores" + +#: elf32-m32r.c:3494 elf32-nds32.c:6037 +#, c-format +msgid "private flags = %lx" +msgstr "bandeiras privadas = %lx" + +#: elf32-m32r.c:3499 +#, c-format +msgid ": m32r instructions" +msgstr ": instruções m32r" + +#: elf32-m32r.c:3500 +#, c-format +msgid ": m32rx instructions" +msgstr ": instruções m32rx" + +#: elf32-m32r.c:3501 +#, c-format +msgid ": m32r2 instructions" +msgstr ": instruções m32r2" + +#: elf32-m68hc11.c:390 +#, c-format +msgid "%B: invalid M68HC11 reloc number: %d" +msgstr "%B: invalid M68HC11 reloc number: %d" + +#: elf32-m68hc12.c:510 +#, c-format +msgid "%B: invalid M68HC12 reloc number: %d" +msgstr "%B: número de reloc M68HC12 inválido: %d" + +#: elf32-m68hc1x.c:1115 +#, c-format +msgid "Reference to the far symbol `%s' using a wrong relocation may result in incorrect execution" +msgstr "Referência ao símbolo distante \"%s\" com uma relocalização errada pode resultar em execução incorrecta" + +#: elf32-m68hc1x.c:1149 +#, c-format +msgid "XGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you must manually offset the address, and possibly manage the page, in your code." +msgstr "O endereço XGATE (%lx) não está dentro de RAM(0xE000-0xFFFF) partilhado, deve desviar manualmente o endereço e, possivelmente gerir a página, no seu código." + +#: elf32-m68hc1x.c:1167 +#, c-format +msgid "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)" +msgstr "endereço de banco [%lx:%04lx] (%lx) não está no mesmo banco que o endereço actual [%lx:%04lx] (%lx)" + +#: elf32-m68hc1x.c:1183 +#, c-format +msgid "reference to a banked address [%lx:%04lx] in the normal address space at %04lx" +msgstr "referência a um endereço de banco [%lx:%04lx] no espaço de endereço normal em %04lx" + +#: elf32-m68hc1x.c:1224 +#, c-format +msgid "S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you must manually offset the address in your code" +msgstr "endereço S12 (%lx) não está dentro de RAM(0x2000-0x4000) partilhado, deve desviar manualmente o endereço no seu código" + +#: elf32-m68hc1x.c:1351 +msgid "%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers" +msgstr "%B: a ligar ficheiros compilados para inteiros de 16-bit (-mshort) e outros para inteiros de 32-bit" + +#: elf32-m68hc1x.c:1358 +msgid "%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double" +msgstr "%B: a ligar ficheiros compilados para duplos de 32-bit (-fshort-double) e outros para duplos de 64-bit" + +#: elf32-m68hc1x.c:1367 +msgid "%B: linking files compiled for HCS12 with others compiled for HC12" +msgstr "%B: a ligar ficheiros compilados para HCS12 com outros compilados para HC12" + +#: elf32-m68hc1x.c:1412 elf32-xgate.c:672 +#, c-format +msgid "[abi=32-bit int, " +msgstr "[abi=32-bit int, " + +#: elf32-m68hc1x.c:1414 elf32-xgate.c:674 +#, c-format +msgid "[abi=16-bit int, " +msgstr "[abi=16-bit int, " + +#: elf32-m68hc1x.c:1417 elf32-xgate.c:677 +#, c-format +msgid "64-bit double, " +msgstr "64-bit duplo, " + +#: elf32-m68hc1x.c:1419 elf32-xgate.c:679 +#, c-format +msgid "32-bit double, " +msgstr "32-bit duplo, " + +#: elf32-m68hc1x.c:1422 +#, c-format +msgid "cpu=HC11]" +msgstr "cpu=HC11]" + +#: elf32-m68hc1x.c:1424 +#, c-format +msgid "cpu=HCS12]" +msgstr "cpu=HCS12]" + +#: elf32-m68hc1x.c:1426 +#, c-format +msgid "cpu=HC12]" +msgstr "cpu=HC12]" + +#: elf32-m68hc1x.c:1429 +#, c-format +msgid " [memory=bank-model]" +msgstr " [memória=bank-model]" + +#: elf32-m68hc1x.c:1431 +#, c-format +msgid " [memory=flat]" +msgstr " [memória=flat]" + +#: elf32-m68hc1x.c:1434 +#, c-format +msgid " [XGATE RAM offsetting]" +msgstr " [desvio XGATE RAM]" + +#: elf32-m68k.c:1214 elf32-m68k.c:1215 vms-alpha.c:7477 vms-alpha.c:7493 +msgid "unknown" +msgstr "desconhecido" + +#: elf32-m68k.c:1658 +#, c-format +msgid "%B: GOT overflow: Number of relocations with 8-bit offset > %d" +msgstr "%B: transporte GOT: número de relocalizações com desvio 8-bit > %d" + +#: elf32-m68k.c:1665 +#, c-format +msgid "%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d" +msgstr "%B: transporte GOT: número de relocalizações com desvio 8- ou 16-bit > %d" + +#: elf32-mcore.c:100 elf32-mcore.c:455 +#, c-format +msgid "%B: Relocation %s (%d) is not currently supported.\n" +msgstr "%B: Relocalização %s (%d) actualmente não suportada.\n" + +#: elf32-mcore.c:355 +#, c-format +msgid "%B: unrecognised MCore reloc number: %d" +msgstr "%B: número de reloc MCore não reconhecido: %d" + +#: elf32-mcore.c:440 +#, c-format +msgid "%B: Unknown relocation type %d\n" +msgstr "%B: tipo de relocalização %d desconhecido\n" + +#. Pacify gcc -Wall. +#: elf32-mep.c:139 +#, c-format +msgid "mep: no reloc for code %d" +msgstr "mep: sem reloc para código %d" + +#: elf32-mep.c:146 +#, c-format +msgid "MeP: howto %d has type %d" +msgstr "MeP: howto %d tem tipo %d" + +#: elf32-mep.c:390 +#, c-format +msgid "%B: invalid MEP reloc number: %d" +msgstr "%B: número de reloc MEP inválido: %d" + +#: elf32-mep.c:620 +#, c-format +msgid "%B and %B are for different cores" +msgstr "%B e %B são para cores diferentes" + +#: elf32-mep.c:639 +#, c-format +msgid "%B and %B are for different configurations" +msgstr "%B e %B são para configurações diferentes" + +#: elf32-mep.c:677 +#, c-format +msgid "private flags = 0x%lx" +msgstr "bandeiras privadas = 0x%lx" + +#: elf32-metag.c:878 +#, c-format +msgid "%B: invalid METAG reloc number: %d" +msgstr "%B: número de reloc METAG inválido: %d" + +#: elf32-metag.c:1860 +msgid "%B(%A): multiple TLS models are not supported" +msgstr "%B(%A): múltiplos modelos TLS não são suportados" + +#: elf32-metag.c:1863 +msgid "%B(%A): shared library symbol %s encountered whilst performing a static link" +msgstr "%B(%A): encontrado símbolo de biblioteca partilhada %s ao realizar ligação estática" + +#: elf32-microblaze.c:656 +#, c-format +msgid "%B: unrecognised MicroBlaze reloc number: %d" +msgstr "%B: número de reloc MicroBlaze não reconhecido: %d" + +#: elf32-microblaze.c:1482 elf32-or1k.c:1052 elf32-tilepro.c:3147 +#: elfxx-sparc.c:3537 elfxx-tilegx.c:3531 +msgid "%B: probably compiled without -fPIC?" +msgstr "%B: provavelmente compilado com -fPIC?" + +#: elf32-mips.c:1777 elf64-mips.c:3200 elfn32-mips.c:3014 +msgid "literal relocation occurs for an external symbol" +msgstr "relocalização literal ocorre para um símbolo externo" + +#: elf32-mips.c:1824 elf32-score.c:569 elf32-score7.c:469 elf64-mips.c:3243 +#: elfn32-mips.c:3055 +msgid "32bits gp relative relocation occurs for an external symbol" +msgstr "relocalização relativa 32bits gp ocorre para um símbolo externo" + +#: elf32-mips.c:2225 +#, c-format +msgid "Unrecognised MIPS reloc number: %d" +msgstr "Número de reloc MIPS não reconhecido: %d" + +#: elf32-moxie.c:137 +#, c-format +msgid "%B: invalid Moxie reloc number: %d" +msgstr "%B: número de reloc Moxie inválido: %d" + +#: elf32-msp430.c:648 +#, c-format +msgid "%B: invalid MSP430X reloc number: %d" +msgstr "%B: número de reloc MSP430X inválido: %d" + +#: elf32-msp430.c:658 +#, c-format +msgid "%B: invalid MSP430 reloc number: %d" +msgstr "%B: número de reloc MSP430 inválido: %d" + +#: elf32-msp430.c:832 elf32-msp430.c:1146 +msgid "Try enabling relaxation to avoid relocation truncations" +msgstr "Tente activar relaxe para evitar truncamentos nas relocalizações" + +#: elf32-msp430.c:1353 +msgid "internal error: branch/jump to an odd address detected" +msgstr "erro interno: detectado ramo/salto para um endereço ímpar" + +#: elf32-msp430.c:2352 +#, c-format +msgid "Warning: %B: Unknown MSPABI object attribute %d" +msgstr "Aviso: %B: atributo de objecto MSABI %d desconhecido" + +#: elf32-msp430.c:2445 +#, c-format +msgid "error: %B uses %s instructions but %B uses %s" +msgstr "erro: %B usa instruções %s mas %B usa %s" + +#: elf32-msp430.c:2457 +#, c-format +msgid "error: %B uses the %s code model whereas %B uses the %s code model" +msgstr "erro: %B usa o modelo de código %s enquanto %B usa o modelo de código %s" + +#: elf32-msp430.c:2469 +#, c-format +msgid "error: %B uses the large code model but %B uses MSP430 instructions" +msgstr "erro: %B usa o modelo de código grande mas %B usa instruções MSP430" + +#: elf32-msp430.c:2480 +#, c-format +msgid "error: %B uses the %s data model whereas %B uses the %s data model" +msgstr "erro: %B usa o modelo de dados %s enquanto %B usa o modelo de dados %s" + +#: elf32-msp430.c:2492 +#, c-format +msgid "error: %B uses the small code model but %B uses the %s data model" +msgstr "erro: %B usa o modelo de código pequeno mas %B usa o modelo de dados %s" + +#: elf32-msp430.c:2504 +#, c-format +msgid "error: %B uses the %s data model but %B only uses MSP430 instructions" +msgstr "erro: %B usa o modelo de dados %s mas %B só usa instruções MSP430" + +#: elf32-mt.c:242 +#, c-format +msgid "%B: invalid MT reloc number: %d" +msgstr "%B: número de reloc MT inválido: %d" + +#: elf32-nds32.c:2897 +#, c-format +msgid "%B: invalid NDS32 reloc number: %d" +msgstr "%B: número de reloc NDS32 inválido: %d" + +#: elf32-nds32.c:3232 +msgid "error: Can't find symbol: _SDA_BASE_." +msgstr "erro: impossível encontrar símbolo: _SDA_BASE_." + +#: elf32-nds32.c:4410 elf32-nds32.c:11783 +msgid "%B: error: Cannot set _ITB_BASE_" +msgstr "%B: erro: impossível definir _ITB_BASE_" + +#: elf32-nds32.c:4418 +msgid "error: IFC relocation error." +msgstr "erro: erro de relocalização IFC." + +#: elf32-nds32.c:4452 +#, c-format +msgid "%B: error: unknown relocation type %d." +msgstr "%B: erro: tipo de relocalização %d desconhecido." + +#: elf32-nds32.c:4898 +msgid "%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode." +msgstr "%B: aviso: impossível gerir R_NDS32_25_ABS_RELA em modo partilhado." + +#: elf32-nds32.c:5032 +msgid "%B: warning: unaligned access to GOT entry." +msgstr "%B: aviso: acesso não alinhado a entrada GOT." + +#: elf32-nds32.c:5074 +msgid "%B: warning: relocate SDA_BASE failed." +msgstr "%B: aviso: falha ao relocalizar SDA_BASE." + +#: elf32-nds32.c:5096 +#, c-format +msgid "%B(%A): warning: unaligned small data access of type %d." +msgstr "%B(%A): aviso: acesso não alinhado a dados pequenos de tipo %d." + +#: elf32-nds32.c:5844 +#, c-format +msgid "%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte" +msgstr "%B: tamanho do vector ISR trocado com módulos anteriores, anterior %u-byte, actual %u-byte" + +#: elf32-nds32.c:5888 +msgid "%B: warning: Endian mismatch with previous modules." +msgstr "%B: aviso: Endian trocado com módulos anteriores." + +#: elf32-nds32.c:5898 +msgid "%B: warning: Older version of object file encountered, Please recompile with current tool chain." +msgstr "%B: aviso: encontradas versões anteriores do ficheiro objecto, recompile com as ferramentas actuais." + +#: elf32-nds32.c:5976 +msgid "%B: error: ABI mismatch with previous modules." +msgstr "%B: erro: ABI trocado com módulos anteriores." + +#: elf32-nds32.c:5987 +msgid "%B: error: Instruction set mismatch with previous modules." +msgstr "%B: erro: conjunto de instruções trocado com módulos anteriores." + +#: elf32-nds32.c:6013 +#, c-format +msgid "%B: warning: Incompatible elf-versions %s and %s." +msgstr "%B: aviso: versões elf %s e %s incompatíveis." + +#: elf32-nds32.c:6043 +#, c-format +msgid ": n1 instructions" +msgstr ": instruções n1" + +#: elf32-nds32.c:6046 +#, c-format +msgid ": n1h instructions" +msgstr ": instruções n1h" + +#: elf32-nds32.c:8535 +msgid "%B: Error: search_nds32_elf_blank reports wrong node\n" +msgstr "%B: erro: search_nds32_elf_blank reporta nó errado\n" + +#: elf32-nds32.c:8794 +#, c-format +msgid "%B: warning: %s points to unrecognized reloc at %#Lx" +msgstr "%B: aviso: %s aponta para reloc não reconhecida em %#Lx" + +#: elf32-nds32.c:11655 elf32-nds32.c:11672 +msgid "error: Jump IFC Fail." +msgstr "erro: falha em salto IFC." + +#: elf32-nds32.c:12529 +#, c-format +msgid "%B: Nested OMIT_FP in %A." +msgstr "%B: OMIT_FP aninhado em %A." + +#: elf32-nds32.c:12548 +#, c-format +msgid "%B: Unmatched OMIT_FP in %A." +msgstr "%B: OMIT_FP desirmanado em %A." + +#: elf32-nds32.c:12831 reloc.c:8273 +#, c-format +msgid "%X%P: %B(%A): relocation \"%R\" goes out of range\n" +msgstr "%X%P: %B(%A): relocalização \"%R\" sai fora do intervalo\n" + +#: elf32-nds32.c:14607 +msgid "Linker: cannot init ex9 hash table error \n" +msgstr "Linker: impossível iniciar erro da tabela de hash ex9 \n" + +#: elf32-nds32.c:15016 elf32-nds32.c:15030 +msgid "Linker: error cannot fixed ex9 relocation \n" +msgstr "Linker: erro impossível relocalização fixa ex9 \n" + +#: elf32-nds32.c:15241 +#, c-format +msgid "%B: warning: unaligned small data access for entry: {%Ld, %Ld, %Ld}, addr = %#Lx, align = %#x" +msgstr "%B: aviso: acesso não alinhado a dados pequenos para entrada: {%Ld, %Ld, %Ld}, end = %#Lx, alinh = %#x" + +#: elf32-nds32.c:15274 +#, c-format +msgid "failed creating ex9.it %s hash table entry" +msgstr "falha ao criar entrada de tabela hash ex9.it %s" + +#: elf32-nios2.c:2929 +msgid "error: %B: Big-endian R2 is not supported." +msgstr "erro: %B: Big-endian R2 não é suportado." + +#: elf32-nios2.c:3814 +#, c-format +msgid "global pointer relative relocation at address 0x%08x when _gp not defined\n" +msgstr "relocalização relativa de ponteiro global no endereço 0x%08x com _gp não definido\n" + +#: elf32-nios2.c:3834 +#, c-format +msgid "Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767.\n" +msgstr "Impossível atingir %s (at 0x%08x) do ponteiro global (em 0x%08x) porque o desvio (%d) está fora do intervalo permitido, -32678 a 32767.\n" + +#: elf32-nios2.c:4487 elf32-pru.c:816 +msgid "relocation out of range" +msgstr "relocalização fora do intervalo" + +#: elf32-nios2.c:4497 elf32-pru.c:826 elf32-tic6x.c:2682 +msgid "dangerous relocation" +msgstr "relocalização perigosa" + +#: elf32-nios2.c:5370 +#, c-format +msgid "dynamic variable `%s' is zero size" +msgstr "variável dinâmica \"%s\" tem tamanho zero" + +#: elf32-or1k.c:715 +#, c-format +msgid "%B: invalid OR1K reloc number: %d" +msgstr "%B: número de reloc OR1K inválido: %d" + +#: elf32-or1k.c:965 +msgid "internal error: addend should be zero for R_OR1K_GOT16" +msgstr "erro interno: adenda devia ser zero para R_OR1K_GOT16" + +#: elf32-or1k.c:1074 +msgid "%B: support for local dynamic not implemented" +msgstr "%B: suporte a dinâmica local não implementado" + +#: elf32-or1k.c:1209 +msgid "%B: will not resolve runtime TLS relocation" +msgstr "%B: não resolve relocalização TLS em tempo de execução" + +#: elf32-or1k.c:1529 +#, c-format +msgid "%B: bad relocation section name `%s'" +msgstr "%B: mau nome de secção de relocalização \"%s\"" + +#: elf32-or1k.c:2641 +msgid "%B: EF_OR1K_NODELAY flag mismatch with previous modules" +msgstr "%B: bandeira EF_OR1K_NODELAY trocada com módulos anteriores" + +#: elf32-pj.c:325 +#, c-format +msgid "%B: unrecognised PicoJava reloc number: %d" +msgstr "%B: número de reloc PicoJava não reconhecido: %d" + +#: elf32-ppc.c:2027 +#, c-format +msgid "%B: unrecognised PPC reloc number: %d" +msgstr "%B: número de reloc PPC não reconhecido: %d" + +#: elf32-ppc.c:2112 +#, c-format +msgid "generic linker can't handle %s" +msgstr "linker genérico não pode gerir %s" + +#: elf32-ppc.c:2732 +#, c-format +msgid "corrupt %s section in %B" +msgstr "secção %s corrupta em %B" + +#: elf32-ppc.c:2752 +#, c-format +msgid "unable to read in %s section from %B" +msgstr "impossível ler na secção %s de %B" + +#: elf32-ppc.c:2794 +#, c-format +msgid "warning: unable to set size of %s section in %B" +msgstr "aviso: impossível definir tamanho da secção %s em %B" + +#: elf32-ppc.c:2844 +msgid "failed to allocate space for new APUinfo section." +msgstr "falha ao alocar espaço para nova secção APUinfo." + +#: elf32-ppc.c:2863 +msgid "failed to compute new APUinfo section." +msgstr "falha ao computar nova secção APUinfo." + +#: elf32-ppc.c:2866 +msgid "failed to install new APUinfo section." +msgstr "falha ao instalar nova secção APUinfo." + +#: elf32-ppc.c:3915 +#, c-format +msgid "%B: relocation %s cannot be used when making a shared object" +msgstr "%B: relocalização %s não pode ser usada ao fazer objecto partilhado" + +#: elf32-ppc.c:4266 elf64-ppc.c:5597 +#, c-format +msgid "%H: %s reloc against local symbol\n" +msgstr "%H: reloc %s contra símbolo local\n" + +#: elf32-ppc.c:4628 elf32-ppc.c:4632 +#, c-format +msgid "Warning: %B uses hard float, %B uses soft float" +msgstr "Aviso: %B usa vírgula rígida, %B usa vírgula suave" + +#: elf32-ppc.c:4636 elf32-ppc.c:4641 +#, c-format +msgid "Warning: %B uses double-precision hard float, %B uses single-precision hard float" +msgstr "Aviso: %B usa vírgula rígida de precisão dupla, %B usa vírgula rígida de precisão simples" + +#: elf32-ppc.c:4656 elf32-ppc.c:4661 +#, c-format +msgid "Warning: %B uses 64-bit long double, %B uses 128-bit long double" +msgstr "Aviso: %B usa 64-bit long double, %B usa 128-bit long double" + +#: elf32-ppc.c:4666 elf32-ppc.c:4671 +#, c-format +msgid "Warning: %B uses IBM long double, %B uses IEEE long double" +msgstr "Aviso: %B usa IBM long double, %B usa IEEE long double" + +#: elf32-ppc.c:4722 elf32-ppc.c:4727 +#, c-format +msgid "Warning: %B uses AltiVec vector ABI, %B uses SPE vector ABI" +msgstr "Aviso: %B usa AltiVec vector ABI, %B usa SPE vector ABI" + +#: elf32-ppc.c:4750 elf32-ppc.c:4755 +#, c-format +msgid "Warning: %B uses r3/r4 for small structure returns, %B uses memory" +msgstr "Aviso: %B usa r3/r4 para devoluções de estrutura pequena, %B usa memória" + +#: elf32-ppc.c:4810 +msgid "%B: compiled with -mrelocatable and linked with modules compiled normally" +msgstr "%B: compilado com -mrelocatable e ligado com módulos compilados normalmente" + +#: elf32-ppc.c:4818 +msgid "%B: compiled normally and linked with modules compiled with -mrelocatable" +msgstr "%B: compilado normalmente e ligado com módulos compilados com -mrelocatable" + +#: elf32-ppc.c:4887 +#, c-format +msgid "%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn" +msgstr "%B(%A+0x%lx): esperada relocalização estilo 16A em 0x%08x insn" + +#: elf32-ppc.c:4906 +#, c-format +msgid "%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn" +msgstr "%B(%A+0x%lx): esperada relocalização estilo 16D em 0x%08x insn" + +#: elf32-ppc.c:4997 +msgid "%P: bss-plt forced due to %B\n" +msgstr "%P: bss-plt forçado devido a %B\n" + +#: elf32-ppc.c:5000 +msgid "%P: bss-plt forced by profiling\n" +msgstr "%P: bss-plt forçado pelo perfil\n" + +#. Uh oh, we didn't find the expected call. We +#. could just mark this symbol to exclude it +#. from tls optimization but it's safer to skip +#. the entire optimization. +#: elf32-ppc.c:5322 elf64-ppc.c:8654 +#, c-format +msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n" +msgstr "argumento %H perdeu __tls_get_addr, optimização TLS desactivada\n" + +#: elf32-ppc.c:6264 elf32-sh.c:3392 elf32-tilepro.c:2331 elfxx-sparc.c:2556 +#: elfxx-tilegx.c:2567 +msgid "%B: dynamic relocation in read-only section `%A'\n" +msgstr "%B: relocalização dinâmica em secção \"%A\" só de leitura\n" + +#: elf32-ppc.c:8100 +msgid "%H: fixup branch overflow\n" +msgstr "%H: transporte em ramo fixup\n" + +#: elf32-ppc.c:8140 elf32-ppc.c:8175 +#, c-format +msgid "%B(%A+%#Lx): error: %s with unexpected instruction %#x" +msgstr "%B(%A+%#Lx): erro: %s com instrução inesperada %#x" + +#: elf32-ppc.c:8231 +#, c-format +msgid "%X%H: unsupported bss-plt -fPIC ifunc %s\n" +msgstr "%X%H: bss-plt -fPIC ifunc %s não suportada\n" + +#: elf32-ppc.c:8294 elf64-ppc.c:15070 +msgid "%H: warning: %s unexpected insn %#x.\n" +msgstr "%H: aviso: %s insn %#x inesperado.\n" + +#: elf32-ppc.c:8319 +#, c-format +msgid "%P: %B: unknown relocation type %d for symbol %s\n" +msgstr "%P: %B: tipo de relocalização %d desconhecido para símbolo %s\n" + +#: elf32-ppc.c:8606 +#, c-format +msgid "%H: non-zero addend on %s reloc against `%s'\n" +msgstr "%H: adenda não-zero em reloc %s contra \"%s\"\n" + +#. @local on an ifunc does not really make sense since +#. the ifunc resolver can take you anywhere. More +#. seriously, calls to ifuncs must go through a plt call +#. stub, and for pic the plt call stubs uses r30 to +#. access the PLT. The problem is that a call that is +#. local won't have the +32k reloc addend trick marking +#. -fPIC code, so the linker won't know whether r30 is +#. _GLOBAL_OFFSET_TABLE_ or pointing into a .got2 section. +#: elf32-ppc.c:8638 +#, c-format +msgid "%X%H: @local call to ifunc %s\n" +msgstr "%X%H: chamada @local a ifunc %s\n" + +#: elf32-ppc.c:8808 +#, c-format +msgid "%H: relocation %s for indirect function %s unsupported\n" +msgstr "%H: relocalização %s para função indirecta %s não suportada\n" + +#: elf32-ppc.c:9077 elf32-ppc.c:9108 elf32-ppc.c:9199 +#, c-format +msgid "%P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)\n" +msgstr "%P: %B: o alvo (%s) de uma relocalização %s está na secção de saída errada (%s)\n" + +#: elf32-ppc.c:9287 +#, c-format +msgid "%B: the target (%s) of a %s relocation is in the wrong output section (%s)" +msgstr "%B: o alvo (%s) de uma relocalização %s está na secção de saída errada (%s)" + +#: elf32-ppc.c:9395 +#, c-format +msgid "%P: %B: relocation %s is not yet supported for symbol %s\n" +msgstr "%P: %B: relocalização %s ainda não é suportada para símbolo %s\n" + +#: elf32-ppc.c:9480 +#, c-format +msgid "%H: error: %s against `%s' not a multiple of %u\n" +msgstr "%H: erro: %s contra \"%s\" não é múltiplo de %u\n" + +#: elf32-ppc.c:9509 +#, c-format +msgid "%H: unresolvable %s relocation against symbol `%s'\n" +msgstr "%H: relocalização %s insolúvel contra símbolo \"%s\"\n" + +#: elf32-ppc.c:9590 +#, c-format +msgid "%H: %s reloc against `%s': error %d\n" +msgstr "%H: %s reloc contra \"%s\": erro %d\n" + +#: elf32-ppc.c:10354 elf64-ppc.c:15601 +msgid "%X%P: text relocations and GNU indirect functions will result in a segfault at runtime\n" +msgstr "%X%P: relocalizações de texto e funções indirectas GNU resultarão em segfault em tempo de execução\n" + +#: elf32-ppc.c:10358 elf64-ppc.c:15605 +msgid "%P: warning: text relocations and GNU indirect functions may result in a segfault at runtime\n" +msgstr "%P: aviso: relocalizações de texto e funções indirectas GNU podem resultar em segfault em tempo de execução\n" + +#: elf32-ppc.c:10403 +#, c-format +msgid "%P: %s not defined in linker created %s\n" +msgstr "%P: %s não definido em linker criado %s\n" + +#: elf32-rl78.c:292 +#, c-format +msgid "%B: invalid RL78 reloc number: %d" +msgstr "%B: número de reloc RL78 inválido: %d" + +#: elf32-rl78.c:370 +msgid "Internal Error: RL78 reloc stack overflow" +msgstr "Erro interno: transporte de stack em reloc RL78" + +#: elf32-rl78.c:381 +msgid "Internal Error: RL78 reloc stack underflow" +msgstr "Erro interno: sub-transporte de stack em reloc RL78" + +#: elf32-rl78.c:1050 +msgid "Warning: RL78_SYM reloc with an unknown symbol" +msgstr "Aviso: reloc RL78_SYM com símbolo desconhecido" + +#: elf32-rl78.c:1081 elf32-rx.c:1435 +#, c-format +msgid "%B(%A): error: call to undefined function '%s'" +msgstr "%B(%A): erro: chamada a função não definida \"%s\"" + +#: elf32-rl78.c:1202 +#, c-format +msgid "RL78 ABI conflict: G10 file %B cannot be linked with %s file %B" +msgstr "conflito RL78 ABI: ficheiro G10 %B não pode ser ligado a ficheiro %s %B" + +#: elf32-rl78.c:1219 +#, c-format +msgid "RL78 ABI conflict: cannot link %s file %B with %s file %B" +msgstr "conflito RL78 ABI: impossível ligar ficheiro %s %B com ficheiro %s %B" + +#: elf32-rl78.c:1228 +msgid "RL78 merge conflict: cannot link 32-bit and 64-bit objects together" +msgstr "conflito de união RL78: impossível ligar objectos 32-bit e 64-bit" + +#: elf32-rl78.c:1232 elf32-rl78.c:1236 +#, c-format +msgid "- %B is 64-bit, %B is not" +msgstr "- %B é 64-bit, %B não é" + +#: elf32-rl78.c:1263 +#, c-format +msgid " [64-bit doubles]" +msgstr " [64-bit doubles]" + +#: elf32-rx.c:314 +#, c-format +msgid "%B: invalid RX reloc number: %d" +msgstr "%B: número de reloc RX inválido: %d" + +#: elf32-rx.c:595 +#, c-format +msgid "%B:%A: table entry %s outside table" +msgstr "%B:%A: entrada de tabela %s fora da tabela" + +#: elf32-rx.c:602 +#, c-format +msgid "%B:%A: table entry %s not word-aligned within table" +msgstr "%B:%A: entrada de tabela %s não alinhado dentro da tabela" + +#: elf32-rx.c:668 +#, c-format +msgid "%B:%A: Warning: deprecated Red Hat reloc " +msgstr "%B:%A: aviso: reloc Red Hat obsoleta " + +#. Check for unsafe relocs in PID mode. These are any relocs where +#. an absolute address is being computed. There are special cases +#. for relocs against symbols that are known to be referenced in +#. crt0.o before the PID base address register has been initialised. +#: elf32-rx.c:687 +#, c-format +msgid "%B(%A): unsafe PID relocation %s at %#Lx (against %s in %s)" +msgstr "%B(%A): relocalização PID insegura %s em %#Lx (contra %s em %s)" + +#: elf32-rx.c:1267 +msgid "Warning: RX_SYM reloc with an unknown symbol" +msgstr "Aviso: reloc RX_SYM com símbolo desconhecido" + +#: elf32-rx.c:3146 +msgid "There is a conflict merging the ELF header flags from %B" +msgstr "Há um conflito na união das bandeira do cabeçalho ELF de %B" + +#: elf32-rx.c:3149 +#, c-format +msgid " the input file's flags: %s" +msgstr " bandeiras fich. entrada: %s" + +#: elf32-rx.c:3151 +#, c-format +msgid " the output file's flags: %s" +msgstr " bandeiras fich. saída: %s" + +#: elf32-rx.c:3758 +#, c-format +msgid "%B:%A: table %s missing corresponding %s" +msgstr "%B:%A: tabela %s com correspondente %s em falta" + +#: elf32-rx.c:3766 +#, c-format +msgid "%B:%A: %s and %s must be in the same input section" +msgstr "%B:%A: %s e %s têm de estar na mesma secção de entrada" + +#: elf32-s390.c:2137 elf64-s390.c:2075 +#, c-format +msgid "%B(%A+%#Lx): invalid instruction for TLS relocation %s" +msgstr "%B(%A+%#Lx): instrução inválida para relocalização TLS %s" + +#: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3756 +msgid "not enough GOT space for local GOT entries" +msgstr "espaço GOT insuficiente para entradas GOT locais" + +#: elf32-score.c:2744 +msgid "address not word align" +msgstr "endereço não alinhado por word" + +#: elf32-score.c:2825 elf32-score7.c:2630 +#, c-format +msgid "%B: Malformed reloc detected for section %A" +msgstr "%B: reloc malformada detectada para secção %A" + +#: elf32-score.c:2879 elf32-score7.c:2684 +#, c-format +msgid "%B: CALL15 reloc at %#Lx not against global symbol" +msgstr "%B: reloc CALL15 em %#Lx não contra símbolo global" + +#: elf32-score.c:4001 elf32-score7.c:3806 +#, c-format +msgid " [pic]" +msgstr " [pic]" + +#: elf32-score.c:4005 elf32-score7.c:3810 +#, c-format +msgid " [fix dep]" +msgstr " [fix dep]" + +#: elf32-score.c:4048 elf32-score7.c:3853 +msgid "%B: warning: linking PIC files with non-PIC files" +msgstr "%B: aviso: a ligar ficheiros PIC com ficheiros não-PIC" + +#: elf32-sh-symbian.c:130 +#, c-format +msgid "%B: IMPORT AS directive for %s conceals previous IMPORT AS" +msgstr "%B: directiva IMPORT AS para %s oculta a IMPORT AS anterior" + +#: elf32-sh-symbian.c:384 +#, c-format +msgid "%B: Unrecognised .directive command: %s" +msgstr "%B: comando .directive não reconhecido: %s" + +#: elf32-sh-symbian.c:502 +#, c-format +msgid "%B: Failed to add renamed symbol %s" +msgstr "%B: falha ao adicionar símbolo %s renomeado" + +#: elf32-sh.c:491 +#, c-format +msgid "%B: unrecognised SH reloc number: %d" +msgstr "%B: número de reloc SH não reconhecido: %d" + +#: elf32-sh.c:592 +#, c-format +msgid "%B: %#Lx: warning: R_SH_USES points to unrecognized insn 0x%x" +msgstr "%B: %#Lx: aviso: R_SH_USES aponta para insn 0x%x não reconhecido" + +#: elf32-sh.c:3947 elf64-sh64.c:1508 +msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled" +msgstr "STO_SH5_ISA32 inesperado em símbolo local não é gerido" + +#: elf32-sh.c:4200 +#, c-format +msgid "%B: %#Lx: fatal: unaligned branch target for relax-support relocation" +msgstr "%B: %#Lx: fatal: ramo alvo não alinhado para relocalização relax-support" + +#: elf32-sh.c:4234 elf32-sh.c:4250 +#, c-format +msgid "%B: %#Lx: fatal: unaligned %s relocation %#Lx" +msgstr "%B: %#Lx: fatal: relocalização %s desalinhada %#Lx" + +#: elf32-sh.c:4265 +#, c-format +msgid "%B: %#Lx: fatal: R_SH_PSHA relocation %Ld not in range -32..32" +msgstr "%B: %#Lx: fatal: R_SH_PSHA relocalização %Ld fora do intervalo -32..32" + +#: elf32-sh.c:4280 +#, c-format +msgid "%B: %#Lx: fatal: R_SH_PSHL relocation %Ld not in range -32..32" +msgstr "%B: %#Lx: fatal: R_SH_PSHL relocalização %Ld fora do intervalo -32..32" + +#: elf32-sh.c:4426 elf32-sh.c:4899 +#, c-format +msgid "%B(%A+%#Lx): cannot emit fixup to `%s' in read-only section" +msgstr "%B(%A+%#Lx): impossível emitir fixup a \"%s\" em secção só de leitura" + +#: elf32-sh.c:5001 +#, c-format +msgid "%B(%A+%#Lx): %s relocation against external symbol \"%s\"" +msgstr "%B(%A+%#Lx): relocalização %s contra símbolo externo \"%s\"" + +#: elf32-sh.c:5465 +#, c-format +msgid "%X%C: relocation to \"%s\" references a different segment\n" +msgstr "%X%C: relocalização para \"%s\" referencia um segmento diferente\n" + +#: elf32-sh.c:5472 +#, c-format +msgid "%C: warning: relocation to \"%s\" references a different segment\n" +msgstr "%C: aviso: relocalização para \"%s\" referencia um segmento diferente\n" + +#: elf32-sh.c:6046 elf32-sh.c:6132 +#, c-format +msgid "%B: `%s' accessed both as normal and FDPIC symbol" +msgstr "%B: \"%s\" acedido como símbolo normal e FDPIC em simultâneo" + +#: elf32-sh.c:6052 elf32-sh.c:6137 +#, c-format +msgid "%B: `%s' accessed both as FDPIC and thread local symbol" +msgstr "%B: \"%s\" acedido como símbolo local FDPIC e thread em simultâneo" + +#: elf32-sh.c:6083 +msgid "%B: Function descriptor relocation with non-zero addend" +msgstr "%B: relocalização de descritor de função com adenda não-zero" + +#: elf32-sh.c:6321 elf64-alpha.c:4688 +#, c-format +msgid "%B: TLS local exec code cannot be linked into shared objects" +msgstr "%B: código exec TLS local não pode ser ligado a objectos partilhados" + +#: elf32-sh.c:6436 +#, c-format +msgid "%B: uses %s instructions while previous modules use %s instructions" +msgstr "%B: usa instruções %s enquanto os módulos anteriores usam instruções %s" + +#: elf32-sh.c:6448 +#, c-format +msgid "internal error: merge of architecture '%s' with architecture '%s' produced unknown architecture" +msgstr "erro interno: união da arquitectura \"%s\" com a arquitectura \"%s\" produziu uma arquitectura desconhecida" + +#: elf32-sh.c:6485 +msgid "%B: uses instructions which are incompatible with instructions used in previous modules" +msgstr "%B: usa instruções incompatíveis com instruções usadas em módulos anteriores" + +#: elf32-sh.c:6498 +msgid "%B: attempt to mix FDPIC and non-FDPIC objects" +msgstr "%B: tentativa de misturar objectos FDPIC e não-FDPIC" + +#: elf32-sh64.c:225 elf64-sh64.c:2277 +#, c-format +msgid "%B: compiled as 32-bit object and %B is 64-bit" +msgstr "%B: compilado como objecto 32-bit e %B é 64-bit" + +#: elf32-sh64.c:229 elf64-sh64.c:2281 +#, c-format +msgid "%B: compiled as 64-bit object and %B is 32-bit" +msgstr "%B: compilado como objecto 64-bit e %B é 32-bit" + +#: elf32-sh64.c:232 elf64-sh64.c:2284 +#, c-format +msgid "%B: object size does not match that of target %B" +msgstr "%B: tamanho do objecto não corresponde ao do alvo %B" + +#: elf32-sh64.c:455 elf64-sh64.c:2772 +msgid "%B: encountered datalabel symbol in input" +msgstr "%B: encontrado símbolo datalabel na entrada" + +#: elf32-sh64.c:531 +msgid "PTB mismatch: a SHmedia address (bit 0 == 1)" +msgstr "troca PTB: endereço SHmedia (bit 0 == 1)" + +#: elf32-sh64.c:534 +msgid "PTA mismatch: a SHcompact address (bit 0 == 0)" +msgstr "troca PTA: endereço SHcompact (bit 0 == 0)" + +#: elf32-sh64.c:550 +msgid "%B: GAS error: unexpected PTB insn with R_SH_PT_16" +msgstr "%B: erro GAS: PTB insn inesperado com R_SH_PT_16" + +#: elf32-sh64.c:600 +#, c-format +msgid "%B: error: unaligned relocation type %d at %#Lx reloc %#Lx" +msgstr "%B: erro: tipo de relocalização %d não alinhado em %#Lx reloc %#Lx" + +#: elf32-sh64.c:676 +msgid "%B: could not write out added .cranges entries" +msgstr "%B: impossível escrever entradas .cranges adicionadas" + +#: elf32-sh64.c:735 +msgid "%B: could not write out sorted .cranges entries" +msgstr "%B: impossível escrever entradas .cranges ordenadas" + +#: elf32-sparc.c:89 +msgid "%B: compiled for a 64 bit system and target is 32 bit" +msgstr "%B: compilado para um sistema 64 bit e o alvo é 32 bit" + +#: elf32-sparc.c:102 +msgid "%B: linking little endian files with big endian files" +msgstr "%B: a ligar ficheiros little endian com ficheiros big endian" + +#: elf32-spu.c:160 +#, c-format +msgid "%B: unrecognised SPU reloc number: %d" +msgstr "%B: número de relocalização SPU não reconhecido: %d" + +#: elf32-spu.c:726 +msgid "%X%P: overlay section %A does not start on a cache line.\n" +msgstr "%X%P: secção de sobreposição %A não começa numa linha de cache.\n" + +#: elf32-spu.c:734 +msgid "%X%P: overlay section %A is larger than a cache line.\n" +msgstr "%X%P: secção de sobreposição %A é maior que uma linha de cache.\n" + +#: elf32-spu.c:754 +msgid "%X%P: overlay section %A is not in cache area.\n" +msgstr "%X%P: secção de sobreposição %A não está numa área de cache.\n" + +#: elf32-spu.c:795 +#, c-format +msgid "%X%P: overlay sections %A and %A do not start at the same address.\n" +msgstr "%X%P: secções de sobreposição %A e %A não começam no mesmo endereço.\n" + +#: elf32-spu.c:1021 +#, c-format +msgid "warning: call to non-function symbol %s defined in %B" +msgstr "aviso: chamada a símbolo não-função %s definida em %B" + +#: elf32-spu.c:1371 +#, c-format +msgid "%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n" +msgstr "%A:0x%v lrlive .brinfo (%u) difere da análise (%u)\n" + +#: elf32-spu.c:1903 +#, c-format +msgid "%B is not allowed to define %s" +msgstr "%B não tem permissão para definir %s" + +#: elf32-spu.c:1911 +#, c-format +msgid "you are not allowed to define %s in a script" +msgstr "não tem permissão para definir %s num script" + +#: elf32-spu.c:1945 +#, c-format +msgid "%s in overlay section" +msgstr "%s em secção de sobreposição" + +#: elf32-spu.c:1974 +msgid "overlay stub relocation overflow" +msgstr "transporte de relocalização fictícia de sobreposição" + +#: elf32-spu.c:1983 +msgid "stubs don't match calculated size" +msgstr "fictícios não correspondem ao tamanho calculado" + +#: elf32-spu.c:2566 +#, c-format +msgid "warning: %s overlaps %s\n" +msgstr "aviso: %s sobrepõe-se a %s\n" + +#: elf32-spu.c:2582 +#, c-format +msgid "warning: %s exceeds section size\n" +msgstr "aviso: %s excede o tamanho da secção\n" + +#: elf32-spu.c:2614 +#, c-format +msgid "%A:0x%v not found in function table\n" +msgstr "%A:0x%v não encontrado na tabela de função\n" + +#: elf32-spu.c:2755 +#, c-format +msgid "%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete\n" +msgstr "%B(%A+0x%v): chamada a secção não-código %B(%A), análise incompleta\n" + +#: elf32-spu.c:3324 +#, c-format +msgid "Stack analysis will ignore the call from %s to %s\n" +msgstr "Análise de stack ignorará a chamada de %s a %s\n" + +#: elf32-spu.c:4021 +msgid " calls:\n" +msgstr " chamadas:\n" + +#: elf32-spu.c:4335 +#, c-format +msgid "%s duplicated in %s\n" +msgstr "%s duplicado em %s\n" + +#: elf32-spu.c:4339 +#, c-format +msgid "%s duplicated\n" +msgstr "%s duplicado\n" + +#: elf32-spu.c:4346 +msgid "sorry, no support for duplicate object files in auto-overlay script\n" +msgstr "desculpe, sem suporte para ficheiros objecto duplicados no script de auto-sobreposição\n" + +#: elf32-spu.c:4388 +#, c-format +msgid "non-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store\n" +msgstr "tamanho não-sobreposição de 0x%v mais o tamanho máximo de sobreposição de 0x%v excede a capacidade local\n" + +#: elf32-spu.c:4544 +#, c-format +msgid "%B:%A%s exceeds overlay size\n" +msgstr "%B:%A%s excede o tamanho de sobreposição\n" + +#: elf32-spu.c:4685 +msgid "%F%P: auto overlay error: %E\n" +msgstr "%F%P: erro de auto-sobreposição: %E\n" + +#: elf32-spu.c:4706 +msgid "Stack size for call graph root nodes.\n" +msgstr "Tamanho de stack para chamar nós raiz gráficos.\n" + +#: elf32-spu.c:4707 +msgid "" +"\n" +"Stack size for functions. Annotations: '*' max stack, 't' tail call\n" +msgstr "" +"\n" +"Tamanho de stack para funções. Anotações: \"*\" stack máx, \"t\" chamada tail\n" + +#: elf32-spu.c:4717 +msgid "Maximum stack required is 0x%v\n" +msgstr "Stack máximo requerido é 0x%v\n" + +#: elf32-spu.c:4736 +msgid "%X%P: stack/lrlive analysis error: %E\n" +msgstr "%X%P: erro de análise stack/lrlive: %E\n" + +#: elf32-spu.c:4739 +msgid "%F%P: can not build overlay stubs: %E\n" +msgstr "%F%P: impossível construir fictícios de sobreposição: %E\n" + +#: elf32-spu.c:4808 +msgid "fatal error while creating .fixup" +msgstr "erro fatal ao criar .fixup" + +#: elf32-spu.c:5043 +#, c-format +msgid "%B(%s+%#Lx): unresolvable %s relocation against symbol `%s'" +msgstr "%B(%s+%#Lx): relocalização %s insolúvel comtra símbolo \"%s\"" + +#: elf32-tic6x.c:1596 +msgid "warning: generating a shared library containing non-PIC code" +msgstr "aviso: a gerar uma biblioteca partilhada contendo código não PIC" + +#: elf32-tic6x.c:1601 +msgid "warning: generating a shared library containing non-PID code" +msgstr "aviso: a gerar uma biblioteca partilhada contendo código não PID" + +#: elf32-tic6x.c:2460 +msgid "%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined" +msgstr "%B: relocalização relativa a SB mas __c6xabi_DSBT_BASE não definido" + +#: elf32-tic6x.c:3582 +#, c-format +msgid "%B: error: unknown mandatory EABI object attribute %d" +msgstr "%B: erro: atributo de objecto EABI obrigatório desconhecido %d" + +#: elf32-tic6x.c:3591 +#, c-format +msgid "%B: warning: unknown EABI object attribute %d" +msgstr "%B: aviso: atributo de objecto EABI desconhecido %d" + +#: elf32-tic6x.c:3705 elf32-tic6x.c:3714 +#, c-format +msgid "error: %B requires more stack alignment than %B preserves" +msgstr "erro: %B requer mais alinhamento de stack do que %B preserva" + +#: elf32-tic6x.c:3724 elf32-tic6x.c:3733 +msgid "error: unknown Tag_ABI_array_object_alignment value in %B" +msgstr "erro: valor Tag_ABI_array_object_alignment desconhecido em %B" + +#: elf32-tic6x.c:3742 elf32-tic6x.c:3751 +msgid "error: unknown Tag_ABI_array_object_align_expected value in %B" +msgstr "erro: valor Tag_ABI_array_object_align_expected desconhecido em %B" + +#: elf32-tic6x.c:3760 elf32-tic6x.c:3768 +#, c-format +msgid "error: %B requires more array alignment than %B preserves" +msgstr "erro: %B requer mais alinhamento de matriz do que %B preserva" + +#: elf32-tic6x.c:3791 +#, c-format +msgid "warning: %B and %B differ in wchar_t size" +msgstr "aviso: %B e %B diferem em tamanho wchar_t" + +#: elf32-tic6x.c:3810 +#, c-format +msgid "warning: %B and %B differ in whether code is compiled for DSBT" +msgstr "aviso: %B e %B diferem sobre se o código foi compilado para DSBT" + +#: elf32-tilepro.c:3752 elfxx-tilegx.c:4132 elfxx-x86.c:1336 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:9172 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2492 +#, c-format +msgid "discarded output section: `%A'" +msgstr "secção de saída descartada: \"%A\"" + +#: elf32-v850.c:153 +#, c-format +msgid "Variable `%s' cannot occupy in multiple small data regions" +msgstr "Variável \"%s\" não pode ocupar múltiplas pequenas regiões de dados" + +#: elf32-v850.c:156 +#, c-format +msgid "Variable `%s' can only be in one of the small, zero, and tiny data regions" +msgstr "Variável \"%s\" só pode estar numa das regiões de dados pequena, zero e minúscula" + +#: elf32-v850.c:159 +#, c-format +msgid "Variable `%s' cannot be in both small and zero data regions simultaneously" +msgstr "Variável \"%s\" não pode estar nas regiões de dados pequena e zero em simultâneo" + +#: elf32-v850.c:162 +#, c-format +msgid "Variable `%s' cannot be in both small and tiny data regions simultaneously" +msgstr "Variável \"%s\" não pode estar nas regiões de dados pequena e minúscula em simultâneo" + +#: elf32-v850.c:165 +#, c-format +msgid "Variable `%s' cannot be in both zero and tiny data regions simultaneously" +msgstr "Variável \"%s\" não pode estar nas regiões de dados zero e minúscula em simultâneo" + +#: elf32-v850.c:463 +msgid "FAILED to find previous HI16 reloc" +msgstr "Falha ao procurar reloc HI16 anterior" + +#: elf32-v850.c:1898 elf32-v850.c:1917 +#, c-format +msgid "%B: invalid V850 reloc number: %d" +msgstr "%B: número de reloc V850 inválido: %d" + +#: elf32-v850.c:2295 +msgid "could not locate special linker symbol __gp" +msgstr "impossível localizar símbolo linker especial __gp" + +#: elf32-v850.c:2299 +msgid "could not locate special linker symbol __ep" +msgstr "impossível localizar símbolo linker especial __ep" + +#: elf32-v850.c:2303 +msgid "could not locate special linker symbol __ctbp" +msgstr "impossível localizar símbolo linker especial __ctbp" + +#: elf32-v850.c:2524 +#, c-format +msgid "error: %B needs 8-byte alignment but %B is set for 4-byte alignment" +msgstr "erro: %B precisa de alinhamento 8-byte mas %B está definido para alinhamento 4-byte" + +#: elf32-v850.c:2540 +#, c-format +msgid "error: %B uses 64-bit doubles but %B uses 32-bit doubles" +msgstr "erro: %B usa doubles 64-bit mas %B usa doubles 32-bit" + +#: elf32-v850.c:2555 +#, c-format +msgid "error: %B uses FPU-3.0 but %B only supports FPU-2.0" +msgstr "erro: %B usa FPU-3.0 mas %B só suporta FPU-2.0" + +#: elf32-v850.c:2587 +#, c-format +msgid " alignment of 8-byte entities: " +msgstr " alinhamento de entidades 8-byte: " + +#: elf32-v850.c:2590 +#, c-format +msgid "4-byte" +msgstr "4-byte" + +#: elf32-v850.c:2591 +#, c-format +msgid "8-byte" +msgstr "8-byte" + +#: elf32-v850.c:2592 elf32-v850.c:2604 +#, c-format +msgid "not set" +msgstr "não definido" + +#: elf32-v850.c:2593 elf32-v850.c:2605 elf32-v850.c:2617 elf32-v850.c:2628 +#: elf32-v850.c:2639 elf32-v850.c:2650 +#, c-format +msgid "unknown: %x" +msgstr "desconhecido: %x" + +#: elf32-v850.c:2599 +#, c-format +msgid " size of doubles: " +msgstr " tamanho de doubles: " + +#: elf32-v850.c:2602 +#, c-format +msgid "4-bytes" +msgstr "4-bytes" + +#: elf32-v850.c:2603 +#, c-format +msgid "8-bytes" +msgstr "8-bytes" + +#: elf32-v850.c:2611 +#, c-format +msgid " FPU support required: " +msgstr " requerido suporte FPU: " + +#: elf32-v850.c:2614 +#, c-format +msgid "FPU-2.0" +msgstr "FPU-2.0" + +#: elf32-v850.c:2615 +#, c-format +msgid "FPU-3.0" +msgstr "FPU-3.0" + +#: elf32-v850.c:2616 +#, c-format +msgid "none" +msgstr "nenhum" + +#: elf32-v850.c:2623 +#, c-format +msgid "SIMD use: " +msgstr "uso SIMD: " + +#: elf32-v850.c:2626 elf32-v850.c:2637 elf32-v850.c:2648 +#, c-format +msgid "yes" +msgstr "sim" + +#: elf32-v850.c:2627 elf32-v850.c:2638 elf32-v850.c:2649 +#, c-format +msgid "no" +msgstr "não" + +#: elf32-v850.c:2634 +#, c-format +msgid "CACHE use: " +msgstr "uso CACHE: " + +#: elf32-v850.c:2645 +#, c-format +msgid "MMU use: " +msgstr "uso MMU: " + +#: elf32-v850.c:2812 elf32-v850.c:2868 +msgid "%B: Architecture mismatch with previous modules" +msgstr "%B: troca de arquitectura com módulos anteriores" + +#. xgettext:c-format. +#: elf32-v850.c:2886 +#, c-format +msgid "private flags = %lx: " +msgstr "bandeiras privadas = %lx: " + +#: elf32-v850.c:2891 +#, c-format +msgid "unknown v850 architecture" +msgstr "arquitectura V850 desconhecida" + +#: elf32-v850.c:2893 +#, c-format +msgid "v850 E3 architecture" +msgstr "arquitectura v850 E3" + +#: elf32-v850.c:2895 elf32-v850.c:2902 +#, c-format +msgid "v850 architecture" +msgstr "arquitectura v850" + +#: elf32-v850.c:2903 +#, c-format +msgid "v850e architecture" +msgstr "arquitectura v850e" + +#: elf32-v850.c:2904 +#, c-format +msgid "v850e1 architecture" +msgstr "arquitectura v850e1" + +#: elf32-v850.c:2905 +#, c-format +msgid "v850e2 architecture" +msgstr "arquitectura v850e2" + +#: elf32-v850.c:2906 +#, c-format +msgid "v850e2v3 architecture" +msgstr "arquitectura v850e2v3" + +#: elf32-v850.c:2907 +#, c-format +msgid "v850e3v5 architecture" +msgstr "arquitectura v850e3v5" + +#: elf32-v850.c:3601 +#, c-format +msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insns" +msgstr "%B: %#Lx: aviso: R_V850_LONGCALL aponta para insns não reconhecido" + +#: elf32-v850.c:3611 +#, c-format +msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insn %#x" +msgstr "%B: %#Lx: aviso: R_V850_LONGCALL aponta para insn %#x não reconhecido" + +#: elf32-v850.c:3656 +#, c-format +msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc" +msgstr "%B: %#Lx: aviso: R_V850_LONGCALL aponta para reloc não reconhecida" + +#: elf32-v850.c:3696 +#, c-format +msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc %#Lx" +msgstr "%B: %#Lx: aviso: R_V850_LONGCALL aponta para reloc %#Lx não reconhecida" + +#: elf32-v850.c:3839 +#, c-format +msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insns" +msgstr "%B: %#Lx: aviso: R_V850_LONGJUMP aponta para insns não reconhecido" + +#: elf32-v850.c:3849 +#, c-format +msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insn %#x" +msgstr "%B: %#Lx: aviso: R_V850_LONGJUMP aponta para insn %#x não reconhecido" + +#: elf32-v850.c:3883 +#, c-format +msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized reloc" +msgstr "%B: %#Lx: aviso: R_V850_LONGJUMP aponta para reloc não reconhecida" + +#: elf32-vax.c:290 +#, c-format +msgid "%B: unrecognised VAX reloc number: %d" +msgstr "%B: número de reloc VAX não reconhecido: %d" + +#: elf32-vax.c:539 +#, c-format +msgid " [nonpic]" +msgstr " [nonpic]" + +#: elf32-vax.c:542 +#, c-format +msgid " [d-float]" +msgstr " [d-float]" + +#: elf32-vax.c:545 +#, c-format +msgid " [g-float]" +msgstr " [g-float]" + +#: elf32-vax.c:631 +#, c-format +msgid "%B: warning: GOT addend of %Ld to `%s' does not match previous GOT addend of %Ld" +msgstr "%B: aviso: adenda GOT de %Ld a \"%s\" não corresponde a adenda GOT de %Ld prévia" + +#: elf32-vax.c:1445 +#, c-format +msgid "%B: warning: PLT addend of %Ld to `%s' from %A section ignored" +msgstr "%B: aviso: adenda PLT de %Ld a c\"%s\" da secção %A ignorada" + +#: elf32-vax.c:1570 +#, c-format +msgid "%B: warning: %s relocation against symbol `%s' from %A section" +msgstr "%B: aviso: relocalização %s contra símbolo \"%s\" da secção %A" + +#: elf32-vax.c:1577 +#, c-format +msgid "%B: warning: %s relocation to %#Lx from %A section" +msgstr "%B: aviso: relocalização %s para %#Lx da secção %A" + +#: elf32-visium.c:481 +#, c-format +msgid "%B: invalid Visium reloc number: %d" +msgstr "%B: número de reloc Visium inválido: %d" + +#: elf32-visium.c:817 +#, c-format +msgid "%B: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s" +msgstr "%B: compilado %s -mtune=%s e ligado com módulos compilados %s -mtune=%s" + +#: elf32-xgate.c:428 +#, c-format +msgid "%B: invalid XGate reloc number: %d" +msgstr "%B: número de relocalização XGate inválido: %d" + +#: elf32-xgate.c:681 +#, c-format +msgid "cpu=XGATE]" +msgstr "cpu=XGATE]" + +#: elf32-xgate.c:683 +#, c-format +msgid "error reading cpu type from elf private data" +msgstr "erro ao ler tipo de cpu de dados privados elf" + +#: elf32-xstormy16.c:449 elf64-ia64-vms.c:2074 elf32-ia64.c:2337 +#: elf64-ia64.c:2337 +msgid "non-zero addend in @fptr reloc" +msgstr "adenda não-zero em reloc @fptr" + +#: elf32-xtensa.c:485 +#, c-format +msgid "%B: invalid XTENSA reloc number: %d" +msgstr "%B: número de reloc XTENSA inválido: %d" + +#: elf32-xtensa.c:926 +#, c-format +msgid "%B(%A): invalid property table" +msgstr "%B(%A): tabela de propriedade inválida" + +#: elf32-xtensa.c:2655 +#, c-format +msgid "%B(%A+%#Lx): relocation offset out of range (size=%#Lx)" +msgstr "%B(%A+%#Lx): desvio de relocalização fora do intervalo (tamanho=%#Lx)" + +#: elf32-xtensa.c:2736 elf32-xtensa.c:2855 +msgid "dynamic relocation in read-only section" +msgstr "relocalização dinâmica em secção só de leitura" + +#: elf32-xtensa.c:2832 +msgid "TLS relocation invalid without dynamic sections" +msgstr "relocalização TLS inválida sem secções dinâmicas" + +#: elf32-xtensa.c:3043 +msgid "internal inconsistency in size of .got.loc section" +msgstr "inconsistência interna no tamanho da secção .got.loc" + +#: elf32-xtensa.c:3350 +#, c-format +msgid "%B: incompatible machine type. Output is 0x%x. Input is 0x%x" +msgstr "%B: tipo de máquina incompatível. Saída é 0x%x. Entrada é 0x%x" + +#: elf32-xtensa.c:4581 elf32-xtensa.c:4589 +msgid "Attempt to convert L32R/CALLX to CALL failed" +msgstr "Tentativa de converter L32R/CALLX para CALL falhou" + +#: elf32-xtensa.c:6417 elf32-xtensa.c:6495 elf32-xtensa.c:7871 +#, c-format +msgid "%B(%A+%#Lx): could not decode instruction; possible configuration mismatch" +msgstr "%B(%A+%#Lx): impossível descodificar instrução; possível troca de configuração" + +#: elf32-xtensa.c:7610 +#, c-format +msgid "%B(%A+%#Lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch" +msgstr "%B(%A+%#Lx): impossível descodificar instrução para relocalização XTENSA_ASM_SIMPLIFY; possível troca de configuração" + +#: elf32-xtensa.c:9455 +msgid "invalid relocation address" +msgstr "Endereço de relocalização inválido" + +#: elf32-xtensa.c:9505 +msgid "overflow after relaxation" +msgstr "transporte após relaxe" + +#: elf32-xtensa.c:10649 +#, c-format +msgid "%B(%A+%#Lx): unexpected fix for %s relocation" +msgstr "%B(%A+%#Lx): fix inesperado para relocalização %s" + +#: elf64-alpha.c:472 +msgid "GPDISP relocation did not find ldah and lda instructions" +msgstr "relocalização GPDISP não encontrou instruções ldah e lda" + +#: elf64-alpha.c:1112 +#, c-format +msgid "%B: unrecognised Alpha reloc number: %d" +msgstr "%B: número de reloc Alpha não reconhecido: %d" + +#: elf64-alpha.c:2462 +#, c-format +msgid "%B: .got subsegment exceeds 64K (size %d)" +msgstr "%B: sub-segmento .got excede 64K (tamanho %d)" + +#: elf64-alpha.c:3017 +#, c-format +msgid "%B: %A+%#Lx: warning: %s relocation against unexpected insn" +msgstr "%B: %A+%#Lx: aviso: relocalização %s contra insn inesperado" + +#: elf64-alpha.c:3212 +#, c-format +msgid "%B: %A+%#Lx: warning: LITERAL relocation against unexpected insn" +msgstr "%B: %A+%#Lx: aviso: relocalização LITERAL contra insn inesperado" + +#: elf64-alpha.c:4412 elf64-alpha.c:4425 +#, c-format +msgid "%B: gp-relative relocation against dynamic symbol %s" +msgstr "%B: relocalização gp-relative contra símbolo dinâmico %s" + +#: elf64-alpha.c:4452 elf64-alpha.c:4596 +#, c-format +msgid "%B: pc-relative relocation against dynamic symbol %s" +msgstr "%B: relocalização pc-relative contra símbolo dinâmico %s" + +#: elf64-alpha.c:4481 +#, c-format +msgid "%B: change in gp: BRSGP %s" +msgstr "%B: alteração em gp: BRSGP %s" + +#: elf64-alpha.c:4506 +msgid "" +msgstr "" + +#: elf64-alpha.c:4512 +#, c-format +msgid "%B: !samegp reloc against symbol without .prologue: %s" +msgstr "%B: reloc !samegp contra símbolo sem .prologue: %s" + +#: elf64-alpha.c:4570 +#, c-format +msgid "%B: unhandled dynamic relocation against %s" +msgstr "%B: relocalização dinâmica contra %s não gerida" + +#: elf64-alpha.c:4605 +#, c-format +msgid "%B: pc-relative relocation against undefined weak symbol %s" +msgstr "%B: relocalização pc-relative contra símbolo fraco %s indefinido" + +#: elf64-alpha.c:4671 +#, c-format +msgid "%B: dtp-relative relocation against dynamic symbol %s" +msgstr "%B: relocalização dtp-relative contra símbolo dinâmico %s" + +#: elf64-alpha.c:4696 +#, c-format +msgid "%B: tp-relative relocation against dynamic symbol %s" +msgstr "%B: relocalização tp-relative contra símbolo dinâmico %s" + +#: elf64-hppa.c:2081 +#, c-format +msgid "stub entry for %s cannot load .plt, dp offset = %Ld" +msgstr "entrada fictícia para %s não pode carregar .plt, desvio dp = %Ld" + +#: elf64-hppa.c:3286 +#, c-format +msgid "%B(%A+%#Lx): cannot reach %s" +msgstr "%B(%A+%#Lx): impossível atingir %s" + +#: elf64-ia64-vms.c:587 elf32-ia64.c:620 elf64-ia64.c:620 +#, c-format +msgid "%B: Can't relax br at %#Lx in section `%A'. Please use brl or indirect branch." +msgstr "%B: impossível relaxar br em %#Lx na secção \"%A\". Por favor, use brl ou um ramo indirecto." + +#: elf64-ia64-vms.c:2029 elf32-ia64.c:2285 elf64-ia64.c:2285 +msgid "@pltoff reloc against local symbol" +msgstr "reloc @pltoff contra símbolo local" + +#: elf64-ia64-vms.c:3281 elf32-ia64.c:3696 elf64-ia64.c:3696 +#, c-format +msgid "%B: short data segment overflowed (%#Lx >= 0x400000)" +msgstr "%B: transporte no segmento de dados curtos (%#Lx >= 0x400000)" + +#: elf64-ia64-vms.c:3291 elf32-ia64.c:3706 elf64-ia64.c:3706 +msgid "%B: __gp does not cover short data segment" +msgstr "%B: __gp não cobre o segmento de dados curtos" + +#: elf64-ia64-vms.c:3557 elf32-ia64.c:3974 elf64-ia64.c:3974 +#, c-format +msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'" +msgstr "%B: código não-pic com relocalização imm contra símbolo dinâmico \"%s\"" + +#: elf64-ia64-vms.c:3621 elf32-ia64.c:4042 elf64-ia64.c:4042 +#, c-format +msgid "%B: @gprel relocation against dynamic symbol %s" +msgstr "%B: relocalização @gprel contra símbolo dinâmico %s" + +#: elf64-ia64-vms.c:3680 elf32-ia64.c:4105 elf64-ia64.c:4105 +msgid "%B: linking non-pic code in a position independent executable" +msgstr "%B: a ligar código não-pic num executável de posição independente" + +#: elf64-ia64-vms.c:3782 elf32-ia64.c:4243 elf64-ia64.c:4243 +#, c-format +msgid "%B: @internal branch to dynamic symbol %s" +msgstr "%B: ramo @internal para símbolo dinâmico %s" + +#: elf64-ia64-vms.c:3785 elf32-ia64.c:4246 elf64-ia64.c:4246 +#, c-format +msgid "%B: speculation fixup to dynamic symbol %s" +msgstr "%B: fixup de especulação para símbolo dinâmico %s" + +#: elf64-ia64-vms.c:3788 elf32-ia64.c:4249 elf64-ia64.c:4249 +#, c-format +msgid "%B: @pcrel relocation against dynamic symbol %s" +msgstr "%B: relocalização @pcrel contra símbolo dinâmico %s" + +#: elf64-ia64-vms.c:3912 elf32-ia64.c:4446 elf64-ia64.c:4446 +msgid "unsupported reloc" +msgstr "reloc não suportado" + +#: elf64-ia64-vms.c:3949 elf32-ia64.c:4484 elf64-ia64.c:4484 +#, c-format +msgid "%B: missing TLS section for relocation %s against `%s' at %#Lx in section `%A'." +msgstr "%B: secção TLS em falta para relocalização %s contra \"%s\" em %#Lx na secção \"%A\"." + +#: elf64-ia64-vms.c:3966 elf32-ia64.c:4501 elf64-ia64.c:4501 +#, c-format +msgid "%B: Can't relax br (%s) to `%s' at %#Lx in section `%A' with size %#Lx (> 0x1000000)." +msgstr "%B: impossível relaxar br (%s) para \"%s\" em %#Lx na secção \"%A\" com tamanho %#Lx (> 0x1000000)." + +#: elf64-ia64-vms.c:4257 elf32-ia64.c:4758 elf64-ia64.c:4758 +msgid "%B: linking trap-on-NULL-dereference with non-trapping files" +msgstr "%B: a ligar trap-on-NULL-dereference com ficheiros não-trapping" + +#: elf64-ia64-vms.c:4266 elf32-ia64.c:4767 elf64-ia64.c:4767 +msgid "%B: linking big-endian files with little-endian files" +msgstr "%B: a ligar ficheiros big-endian com ficheiros little-endian" + +#: elf64-ia64-vms.c:4275 elf32-ia64.c:4776 elf64-ia64.c:4776 +msgid "%B: linking 64-bit files with 32-bit files" +msgstr "%B: a ligar ficheiros 64-bit com ficheiros 32-bit" + +#: elf64-ia64-vms.c:4284 elf32-ia64.c:4785 elf64-ia64.c:4785 +msgid "%B: linking constant-gp files with non-constant-gp files" +msgstr "%B: a ligar ficheiros constant-gp com ficheiros não constant-gp" + +#: elf64-ia64-vms.c:4294 elf32-ia64.c:4795 elf64-ia64.c:4795 +msgid "%B: linking auto-pic files with non-auto-pic files" +msgstr "%B: a ligar ficheiros auto-pic com ficheiro não auto-pic" + +#: elf64-ia64-vms.c:5137 elflink.c:4773 +#, c-format +msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A" +msgstr "Aviso: alihamento %u de símbolo comum \"%s\" em %B é maior que o alinhamento (%u) da sua secção %A" + +#: elf64-ia64-vms.c:5144 elflink.c:4780 +#, c-format +msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B" +msgstr "Aviso: alinhamento %u do símbolo \"%s\" em %B é menor que %u em %B" + +#: elf64-ia64-vms.c:5160 elflink.c:4797 +#, c-format +msgid "Warning: size of symbol `%s' changed from %Lu in %B to %Lu in %B" +msgstr "Aviso: tamanho do símbolo \"%s\" mudou de %Lu em %B para %Lu em %B" + +#: elf64-mips.c:3615 elfn32-mips.c:3443 +#, c-format +msgid "unrecognised MIPS reloc number: %d" +msgstr "número de reloc MIPS não reconhecido: %d" + +#: elf64-mmix.c:984 +msgid "" +"invalid input relocation when producing non-ELF, non-mmo format output.\n" +" Please use the objcopy program to convert from ELF or mmo,\n" +" or assemble using \"-no-expand\" (for gcc, \"-Wa,-no-expand\"" +msgstr "" +"Relocalização de entrada inválida ao produzir saída de formato não-ELF, não-mmo.\n" +" Por favor, use o programa objcopy para converter de ELF ou mmo,\n" +" ou monte usando \"-no-expand\" (para gcc, \"-Wa,-no-expand\"" + +#: elf64-mmix.c:1168 +msgid "" +"invalid input relocation when producing non-ELF, non-mmo format output.\n" +" Please use the objcopy program to convert from ELF or mmo,\n" +" or compile using the gcc-option \"-mno-base-addresses\"." +msgstr "" +"Relocalização de entrada inválida ao produzir saída de formato não-ELF, não-mmo.\n" +" Por favor, use o programa objcopy para converter de ELF ou mmo,\n" +"ou compile usando a opção gcc \"-mno-base-addresses\"." + +#: elf64-mmix.c:1195 +#, c-format +msgid "" +"%B: Internal inconsistency error for value for\n" +" linker-allocated global register: linked: %#Lx != relaxed: %#Lx" +msgstr "" +"%B: erro interno de inconsistência no valor para o\n" +" registo global alocado para o linker: ligado: %#Lx != relaxado: %#Lx" + +#: elf64-mmix.c:1264 +#, c-format +msgid "%B: invalid MMIX reloc number: %d" +msgstr "%B: invalid MMIX reloc number: %d" + +#: elf64-mmix.c:1616 +#, c-format +msgid "%B: base-plus-offset relocation against register symbol: (unknown) in %A" +msgstr "%B: relocalização base-plus-offset contra símbolo de registo: (desconhecido) em %A" + +#: elf64-mmix.c:1622 +#, c-format +msgid "%B: base-plus-offset relocation against register symbol: %s in %A" +msgstr "%B: relocalização base-plus-offset contra símbolo de registo: %s em %A" + +#: elf64-mmix.c:1667 +#, c-format +msgid "%B: register relocation against non-register symbol: (unknown) in %A" +msgstr "%B: relocalização de registo contra símbolo não-registo: (desconhecido) em %A" + +#: elf64-mmix.c:1673 +#, c-format +msgid "%B: register relocation against non-register symbol: %s in %A" +msgstr "%B: relocalização de registo contra símbolo não-registo: %s em %A" + +#: elf64-mmix.c:1710 +msgid "%B: directive LOCAL valid only with a register or absolute value" +msgstr "%B: directiva LOCAL só é válida com um registo ou um valor absoluto" + +#: elf64-mmix.c:1741 +#, c-format +msgid "%B: LOCAL directive: Register $%Ld is not a local register. First global register is $%Ld." +msgstr "%B: directiva LOCAL: registo $%Ld não é um registo local. O primeiro registo global é $%Ld." + +#: elf64-mmix.c:2169 +#, c-format +msgid "%B: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n" +msgstr "%B: Erro: definição múltipla de \"%s\"; início de %s está definido num ficheiro previamente ligado\n" + +#: elf64-mmix.c:2224 +msgid "Register section has contents\n" +msgstr "Secção de registo tem conteúdo\n" + +#: elf64-mmix.c:2414 +#, c-format +msgid "" +"Internal inconsistency: remaining %lu != max %lu.\n" +" Please report this bug." +msgstr "" +"Inconsistência interna: resta %lu != máx %lu.\n" +" Por favor, reporte este erro." + +#: elf64-ppc.c:4640 +#, c-format +msgid "%P: %B: cannot create stub entry %s\n" +msgstr "%P: %B: impossível criar entrada fictícia %s\n" + +#: elf64-ppc.c:4971 +msgid "%P: symbol '%s' has invalid st_other for ABI version 1\n" +msgstr "%P: símbolo \"%s\" tem st_other inválido para a versão ABI 1\n" + +#: elf64-ppc.c:5146 +#, c-format +msgid "%P: %B .opd not allowed in ABI version %d\n" +msgstr "%P: %B .opd não permitida na versão ABI %d\n" + +#: elf64-ppc.c:5645 +#, c-format +msgid "%H: %s reloc unsupported in shared libraries and PIEs.\n" +msgstr "%H: %s reloc não suportada em bibliotecas partilhadas e PIEs.\n" + +#: elf64-ppc.c:6035 +#, c-format +msgid "%B uses unknown e_flags 0x%lx" +msgstr "%B usa e_flags 0x%lx desconhecido" + +#: elf64-ppc.c:6043 +#, c-format +msgid "%B: ABI version %ld is not compatible with ABI version %ld output" +msgstr "%B: versão ABI %ld não é compatível com a saída da versão ABI %ld" + +#: elf64-ppc.c:6071 +#, c-format +msgid " [abiv%ld]" +msgstr " [abiv%ld]" + +#: elf64-ppc.c:7255 +msgid "%P: copy reloc against `%T' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n" +msgstr "%P: cópia da reloc contra \"%T\" requer ligação lazy plt; evite definir LD_BIND_NOW=1 ou actualize o gcc\n" + +#: elf64-ppc.c:7522 +msgid "%B: undefined symbol on R_PPC64_TOCSAVE relocation" +msgstr "%B: símbolo indefinido em relocalização R_PPC64_TOCSAVE" + +#: elf64-ppc.c:7749 +#, c-format +msgid "%P: dynreloc miscount for %B, section %A\n" +msgstr "%P: erro de contagem dynreloc para %B, secção %A\n" + +#: elf64-ppc.c:7838 +msgid "%B: .opd is not a regular array of opd entries" +msgstr "%B: .opd não é uma matriz normal de entradas opd" + +#: elf64-ppc.c:7848 +#, c-format +msgid "%B: unexpected reloc type %u in .opd section" +msgstr "%B: tipo de reloc inesperado %u em secção .opd" + +#: elf64-ppc.c:7870 +#, c-format +msgid "%B: undefined sym `%s' in .opd section" +msgstr "%B: símbolo indefinido \"%s\" em secção .opd" + +#: elf64-ppc.c:8207 +msgid "%P: warning: --plt-localentry is especially dangerous without ld.so support to detect ABI violations.\n" +msgstr "%P: aviso: --plt-localentry é particularmente perigosa sem suporte ld.so para detectar violações ABI.\n" + +#: elf64-ppc.c:8456 +msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n" +msgstr "%H __tls_get_addr perdeu arg, optimização TLS desactivada\n" + +#: elf64-ppc.c:8800 elf64-ppc.c:9437 +#, c-format +msgid "%s defined on removed toc entry" +msgstr "%s defenido em entrada toc removida" + +#: elf64-ppc.c:9165 +#, c-format +msgid "%H: toc optimization is not supported for %s instruction.\n" +msgstr "%H: optimização toc não é suportada para instreuções %s.\n" + +#: elf64-ppc.c:9394 +#, c-format +msgid "%H: %s references optimized away TOC entry\n" +msgstr "%H: %s referencia entrada TOC optimizada\n" + +#: elf64-ppc.c:10157 +#, c-format +msgid "warning: discarding dynamic section %s" +msgstr "aviso: a descartar secção dinâmica %s" + +#: elf64-ppc.c:10746 +msgid "%P: cannot find opd entry toc for `%T'\n" +msgstr "%P: impossível encontrar entrada opd toc para \"%T\"\n" + +#: elf64-ppc.c:10837 +msgid "%P: long branch stub `%s' offset overflow\n" +msgstr "%P: transporte em desvio \"%s\" em fictício de ramo longo\n" + +#: elf64-ppc.c:10896 +msgid "%P: can't find branch stub `%s'\n" +msgstr "%P: impossível encontrar fictício de ramo \"%s\"\n" + +#: elf64-ppc.c:10960 elf64-ppc.c:11112 elf64-ppc.c:12974 +#, c-format +msgid "%P: linkage table error against `%T'\n" +msgstr "%P: erro na tabela de ligação contra \"%T\"\n" + +#: elf64-ppc.c:11331 +msgid "%P: can't build branch stub `%s'\n" +msgstr "%P: impossível construir fictício de ramo \"%s\"\n" + +#: elf64-ppc.c:12104 +#, c-format +msgid "%B section %A exceeds stub group size" +msgstr "%B secção %A excede tamanho de grupo de fictício" + +#: elf64-ppc.c:13242 +msgid "%P: stubs don't match calculated size\n" +msgstr "%P: fictícios não correspondem ao tamanho calculado\n" + +#: elf64-ppc.c:13256 +#, c-format +msgid "linker stubs in %u group\n" +msgid_plural "linker stubs in %u groups\n" +msgstr[0] "fictícios de linker em grupo %u\n" +msgstr[1] "fictícios de linker em grupos %u\n" + +#: elf64-ppc.c:13260 +#, c-format +msgid "" +" branch %lu\n" +" toc adjust %lu\n" +" long branch %lu\n" +" long toc adj %lu\n" +" plt call %lu\n" +" plt call toc %lu\n" +" global entry %lu" +msgstr "" +" ramo %lu\n" +" ajuste toc %lu\n" +" ramo longo %lu\n" +" aj. toc longo %lu\n" +" chamada plt %lu\n" +" toc cham. plt %lu\n" +" entrada global %lu" + +#: elf64-ppc.c:13579 +#, c-format +msgid "%H: %s used with TLS symbol `%T'\n" +msgstr "%H: %s usado com símbolo TLS \"%T\"\n" + +#: elf64-ppc.c:13581 +#, c-format +msgid "%H: %s used with non-TLS symbol `%T'\n" +msgstr "%H: %s usado com símbolo não-TLS \"%T\"\n" + +#: elf64-ppc.c:14191 +#, c-format +msgid "%H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC\n" +msgstr "%H: chamada a \"%T\" com nop em falta, impossível restaurar toc; recompile com -fPIC\n" + +#: elf64-ppc.c:14197 +#, c-format +msgid "%H: call to `%T' lacks nop, can't restore toc; (-mcmodel=small toc adjust stub)\n" +msgstr "%H: chamada a \"%T\" com nop em falta, impossível restaurar toc; (-mcmodel=small toc adjust stub)\n" + +#: elf64-ppc.c:14325 +#, c-format +msgid "%P: %B: unknown relocation type %d for `%T'\n" +msgstr "%P: %B: tipo de relocalização %d desconhecido para \"%T\"\n" + +#: elf64-ppc.c:14874 +#, c-format +msgid "%H: %s for indirect function `%T' unsupported\n" +msgstr "%H: %s para função indirecta \"%T\" não suportado\n" + +#: elf64-ppc.c:14986 +#, c-format +msgid "%P: %B: %s is not supported for `%T'\n" +msgstr "%P: %B: %s não é suportado para \"%T\"\n" + +#: elf64-ppc.c:15169 +#, c-format +msgid "%H: error: %s not a multiple of %u\n" +msgstr "%H: erro: %s não é múltiplo de %u\n" + +#: elf64-ppc.c:15191 +#, c-format +msgid "%H: unresolvable %s against `%T'\n" +msgstr "%H: %s insolúvel contra \"%T\"\n" + +#: elf64-ppc.c:15288 +#, c-format +msgid "%H: %s against `%T': error %d\n" +msgstr "%H: %s contra \"%T\": erro %d\n" + +#: elf64-ppc.c:15678 elf64-ppc.c:15697 +msgid "%P: %s offset too large for .eh_frame sdata4 encoding" +msgstr "%P: desvio %s muito grande para codificação .eh_frame sdata4" + +#: elf64-s390.c:2533 +msgid "%B: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)" +msgstr "%B: \"%s\" reloc não-PLT para símbolo definido em biblioteca partilhada e acedido a partir de executável (reconstrua o ficheiro com -fPIC ?)" + +#: elf64-sh64.c:1680 +#, c-format +msgid "%B: error: unaligned relocation type %d at %08Lx reloc %08Lx" +msgstr "%B: erro: tipo de relocalização %d desalinhado em %08Lx reloc %08Lx" + +#: elf64-sparc.c:460 +msgid "%B: Only registers %%g[2367] can be declared using STT_REGISTER" +msgstr "%B: só registos %%g[2367] podem ser declarados usando STT_REGISTER" + +#: elf64-sparc.c:481 +#, c-format +msgid "Register %%g%d used incompatibly: %s in %B, previously %s in %B" +msgstr "Registo %%g%d usa incompatibilidade: %s em %B, previamente %s em %B" + +#: elf64-sparc.c:505 +#, c-format +msgid "Symbol `%s' has differing types: REGISTER in %B, previously %s in %B" +msgstr "Símbolo \"%s\" tem tipos diferentes: REGISTER em %B, previamente %s em %B" + +#: elf64-sparc.c:552 +#, c-format +msgid "Symbol `%s' has differing types: %s in %B, previously REGISTER in %B" +msgstr "Símbolo \"%s\" tem tipos diferentes: %s em %B, previamente REGISTER em %B" + +#: elf64-sparc.c:707 +msgid "%B: linking UltraSPARC specific with HAL specific code" +msgstr "%B: a ligar específico UltraSPARC com código específico HAL" + +#: elf64-x86-64.c:1370 +msgid "hidden symbol " +msgstr "símbolo oculto " + +#: elf64-x86-64.c:1373 +msgid "internal symbol " +msgstr "símbolo interno " + +#: elf64-x86-64.c:1376 elf64-x86-64.c:1380 +msgid "protected symbol " +msgstr "símbolo protegido " + +#: elf64-x86-64.c:1382 +msgid "symbol " +msgstr "símbolo " + +#: elf64-x86-64.c:1383 elf64-x86-64.c:1393 +msgid "; recompile with -fPIC" +msgstr "; recompile com -fPIC" + +#: elf64-x86-64.c:1388 +msgid "undefined " +msgstr "indefinido" + +#: elf64-x86-64.c:1397 +msgid "a shared object" +msgstr "um objecto partilhado" + +#: elf64-x86-64.c:1399 +msgid "a PIE object" +msgstr "um objecto PIE" + +#: elf64-x86-64.c:1401 +msgid "a PDE object" +msgstr "um objecto PDE" + +#: elf64-x86-64.c:1404 +#, c-format +msgid "%B: relocation %s against %s%s`%s' can not be used when making %s%s" +msgstr "%B: relocalização %s contra %s%s\"%s\" não pode ser usada ao fazer %s%s" + +#: elf64-x86-64.c:1889 +#, c-format +msgid "%B: relocation %s against symbol `%s' isn't supported in x32 mode" +msgstr "%B: relocalização %s contra símbolo \"%s\" não é suportada em modo x32" + +#: elf64-x86-64.c:2027 +#, c-format +msgid "%B: '%s' accessed both as normal and thread local symbol" +msgstr "%B: \"%s\" acedido como símbolo local normal e thread em simultâneo" + +#: elf64-x86-64.c:2651 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5040 +#, c-format +msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %Ld" +msgstr "%B: relocalização %s contra STT_GNU_IFUNC símbolo \"%s\" tem adenda não-zero: %Ld" + +#: elf64-x86-64.c:2888 +#, c-format +msgid "%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object" +msgstr "%B: relocalização R_X86_64_GOTOFF64 contra %s \"%s\" indefinido não pode ser usado ao fazer um objecto partilhado" + +#: elf64-x86-64.c:2902 +#, c-format +msgid "%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object" +msgstr "%B: relocalização R_X86_64_GOTOFF64 contra %s \"%s\" protegido não pode ser usado ao fazer um objecto partilhado" + +#: elf64-x86-64.c:3153 +#, c-format +msgid "%B: addend %s%#x in relocation %s against symbol `%s' at %#Lx in section `%A' is out of range" +msgstr "%B: adenda %s%#x em relocalização %s contra símbolo \"%s\" em %#Lx na secção \"%A\" está fora do intervalo" + +#: elf64-x86-64.c:3828 +msgid "%F%P: failed to convert GOTPCREL relocation; relink with --no-relax\n" +msgstr "%F%P: falha ao converter relocalização GOTPCREL; religue com --no-relax\n" + +#: elf64-x86-64.c:3986 +#, c-format +msgid "%F%B: PC-relative offset overflow in PLT entry for `%s'\n" +msgstr "%F%B: transporte de desvio PC-relative em entrada PLT para \"%s\"\n" + +#: elf64-x86-64.c:4049 +#, c-format +msgid "%F%B: branch displacement overflow in PLT entry for `%s'\n" +msgstr "%F%B: transporte em deslocamento do ramo em entrada PLT para \"%s\n" + +#: elf64-x86-64.c:4102 +#, c-format +msgid "%F%B: PC-relative offset overflow in GOT PLT entry for `%s'\n" +msgstr "%F%B: transporte de desvio PC-relative em entrada GOT PLT para \"%s\"\n" + +#: elfcode.h:760 +msgid "warning: %B has a corrupt string table index - ignoring" +msgstr "aviso: %B tem um índice de tabela de cadeia corrompido - a ignorar" + +#: elfcode.h:1199 +#, c-format +msgid "%B: version count (%Ld) does not match symbol count (%ld)" +msgstr "%B: nº de versão (%Ld) não corresponde ao nº de símbolos (%ld)" + +#: elfcode.h:1456 +#, c-format +msgid "%B(%A): relocation %d has invalid symbol index %ld" +msgstr "%B(%A): relocalização %d tem índice de símbolos inválido %ld" + +#: elfcore.h:300 +#, c-format +msgid "warning: %B is truncated: expected core file size >= %Lu, found: %llu" +msgstr "aviso: %B está truncado: esperado tamanho do ficheiro de núcleo >= %Lu, obtido: %llu" + +#: elflink.c:1353 +#, c-format +msgid "%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A" +msgstr "%s: definição TLS em secção %B %A não corresponde a definição não-TLS em secção %B %A" + +#: elflink.c:1359 +#, c-format +msgid "%s: TLS reference in %B mismatches non-TLS reference in %B" +msgstr "%s: referência TLS em %B não corresponde a referência não-TLS em %B" + +#: elflink.c:1365 +#, c-format +msgid "%s: TLS definition in %B section %A mismatches non-TLS reference in %B" +msgstr "%s: definição TLS em secção %B %A não corresponde a referência não-TLS em %B" + +#: elflink.c:1371 +#, c-format +msgid "%s: TLS reference in %B mismatches non-TLS definition in %B section %A" +msgstr "%s: referência TLS em %B não corresponde a definição não-TLS em secção %B %A" + +#: elflink.c:2052 +#, c-format +msgid "%B: unexpected redefinition of indirect versioned symbol `%s'" +msgstr "%B: redefinição de símbolo com versão indirecto \"%s\" inesperada" + +#: elflink.c:2345 +#, c-format +msgid "%B: version node not found for symbol %s" +msgstr "%B: nó de versão não encontrado para símbolo %s" + +#: elflink.c:2434 +#, c-format +msgid "%B: bad reloc symbol index (%#Lx >= %#lx) for offset %#Lx in section `%A'" +msgstr "%B: mau índice de símbolo de reloc (%#Lx >= %#lx) para desvio %#Lx na secção \"%A\"" + +#: elflink.c:2446 +#, c-format +msgid "%B: non-zero symbol index (%#Lx) for offset %#Lx in section `%A' when the object file has no symbol table" +msgstr "%B: índice de símbolo não-zero (%#Lx) para desvio %#Lx na secção \"%A\" onde o ficheiro objecto não tem tabela de símbolo" + +#: elflink.c:2637 +#, c-format +msgid "%B: relocation size mismatch in %B section %A" +msgstr "%B: tamanho de relocalização trocado na secção %B %A" + +#: elflink.c:2955 +#, c-format +msgid "warning: type and size of dynamic symbol `%s' are not defined" +msgstr "aviso: tipo e tamanho do símbolo dinâmico \"%s\" não estão definidos" + +#: elflink.c:3017 +msgid "%P: copy reloc against protected `%T' is dangerous\n" +msgstr "%P: cópia de reloc contra \"%T\" protegido é perigosa\n" + +#: elflink.c:3818 +#, c-format +msgid "%P: alternate ELF machine code found (%d) in %B, expecting %d\n" +msgstr "%P: encontrado código máquina ELF alternativo (%d) em %B, esperado %d\n" + +#: elflink.c:4484 +#, c-format +msgid "%B: %s: invalid version %u (max %d)" +msgstr "%B: %s: versão %u inválida (máx %d)" + +#: elflink.c:4521 +#, c-format +msgid "%B: %s: invalid needed version %d" +msgstr "%B: %s: versão necessária %d inválida" + +#: elflink.c:4932 +#, c-format +msgid "%B: undefined reference to symbol '%s'" +msgstr "%B: referência indefinida a símbolo \"%s\"" + +#: elflink.c:6008 +#, c-format +msgid "%B: stack size specified and %s set" +msgstr "%B: tamanho de stack especificado e definido como %s" + +#: elflink.c:6012 +#, c-format +msgid "%B: %s not absolute" +msgstr "%B: %s não absoluto" + +#: elflink.c:6209 +#, c-format +msgid "%s: undefined version: %s" +msgstr "%s: versão indefinida: %s" + +#: elflink.c:6780 +msgid "%B: .preinit_array section is not allowed in DSO" +msgstr "%B: secção .preinit_array não é permitida em DSO" + +#: elflink.c:8217 +#, c-format +msgid "undefined %s reference in complex symbol: %s" +msgstr "referência %s indefinida em símbolo complexo: %s" + +#: elflink.c:8372 +#, c-format +msgid "unknown operator '%c' in complex symbol" +msgstr "operador \"%c\" desconhecido em símbolo complexo" + +#. PR 21524: Let the user know if a symbol was removed by garbage collection. +#: elflink.c:8710 +msgid "%B:%A: error: relocation references symbol %s which was removed by garbage collection." +msgstr "%B:%A: erro: relocalização referencia símbolo %s que foi removido pela recolha de lixo." + +#: elflink.c:8713 +msgid "%B:%A: error: try relinking with --gc-keep-exported enabled." +msgstr "%B:%A: erro: tente religar com --gc-keep-exported activado." + +#: elflink.c:8949 elflink.c:8967 elflink.c:9006 elflink.c:9024 +msgid "%B: Unable to sort relocs - they are in more than one size" +msgstr "%B: impossível ordenar relocs - têm mais de um tamanho" + +#. The section size is not divisible by either - +#. something is wrong. +#: elflink.c:8983 elflink.c:9040 +msgid "%B: Unable to sort relocs - they are of an unknown size" +msgstr "%B: impossível ordenar relocs - têm um tamanho desconhecido" + +#: elflink.c:9092 +msgid "Not enough memory to sort relocations" +msgstr "Sem memória suficiente para ordenar relocalizações" + +#: elflink.c:9360 +#, c-format +msgid "%B: Too many sections: %d (>= %d)" +msgstr "%B: demasiadas secções: %d (>= %d)" + +#: elflink.c:9640 +#, c-format +msgid "%B: internal symbol `%s' in %B is referenced by DSO" +msgstr "%B: símbolo \"%s\" interno em %B é referenciado por DSO" + +#: elflink.c:9643 +#, c-format +msgid "%B: hidden symbol `%s' in %B is referenced by DSO" +msgstr "%B: símbolo \"%s\" oculto em %B é referenciado por DSO" + +#: elflink.c:9646 +#, c-format +msgid "%B: local symbol `%s' in %B is referenced by DSO" +msgstr "%B: símbolo \"%s\" local em %B é referenciado por DSO" + +#: elflink.c:9732 +#, c-format +msgid "%B: could not find output section %A for input section %A" +msgstr "%B: impossível encontrar a secção de saída %A para a secção de entrada %A" + +#: elflink.c:9886 +#, c-format +msgid "%B: protected symbol `%s' isn't defined" +msgstr "%B: símbolo \"%s\" protegido não está definido" + +#: elflink.c:9889 +#, c-format +msgid "%B: internal symbol `%s' isn't defined" +msgstr "%B: símbolo \"%s\" não está definido" + +#: elflink.c:9892 +#, c-format +msgid "%B: hidden symbol `%s' isn't defined" +msgstr "%B: símbolo \"%s\" oculto não está definido" + +#: elflink.c:9923 +#, c-format +msgid "%B: No symbol version section for versioned symbol `%s'" +msgstr "%B: sem secção de versão de símbolo para o símbolo com versão \"%s\"" + +#: elflink.c:10533 +#, c-format +msgid "error: %B: size of section %A is not multiple of address size" +msgstr "erro: %B: tamanho da secção %A não é múltiplo do tamanho do endereço" + +#: elflink.c:10578 +#, c-format +msgid "error: %B contains a reloc (%#Lx) for section %A that references a non-existent global symbol" +msgstr "erro: %B contém uma reloc (%#Lx) para a secção %A que referencia um símbolo global inexistente" + +#: elflink.c:11333 +#, c-format +msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections" +msgstr "%A tem secções ordenadas [\"%A\" em %B] e desordenadas [\"%A\" em %B] em simultâneo" + +#: elflink.c:11339 +#, c-format +msgid "%A has both ordered and unordered sections" +msgstr "%A tem secções ordenadas e desordenadas em simultâneo" + +#: elflink.c:11441 +msgid "%B: no symbol found for import library" +msgstr "%B: sem símbolo para biblioteca de importação" + +#: elflink.c:12063 +#, c-format +msgid "%B: file class %s incompatible with %s" +msgstr "%B: classe de ficheiro %s incompatível com %s" + +#: elflink.c:12280 +msgid "%B: failed to generate import library" +msgstr "%B: falha ao gerar biblioteca de importação" + +#: elflink.c:12399 +#, c-format +msgid "warning: %s section has zero size" +msgstr "aviso: secção %s tem tamanho zero" + +#: elflink.c:12447 +#, c-format +msgid "warning: section '%s' is being made into a note" +msgstr "aviso: a secção \"%s\" está a ser tornada numa nota" + +#: elflink.c:12539 +msgid "%P%X: read-only segment has dynamic relocations.\n" +msgstr "%P%X: segmento só de leitura tem relocalizações dinâmicas.\n" + +#: elflink.c:12542 +msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n" +msgstr "%P: aviso: a criar uma DT_TEXTREL num objecto partilhado.\n" + +#: elflink.c:12667 +msgid "%P%X: can not read symbols: %E\n" +msgstr "%P%X: impossível ler os símbolos: %E\n" + +#: elflink.c:12829 +msgid "%F%P: corrupt input: %B\n" +msgstr "%F%P: entrada corrupta: %B\n" + +#: elflink.c:13495 +#, c-format +msgid "%B: %A+%#Lx: No symbol found for INHERIT" +msgstr "%B: %A+%#Lx: sem símbolo para INHERIT" + +#: elflink.c:13671 +#, c-format +msgid "Unrecognized INPUT_SECTION_FLAG %s\n" +msgstr "INPUT_SECTION_FLAG %s não reconhecida\n" + +#: elfxx-mips.c:1444 +msgid "static procedure (no name)" +msgstr "procedimento estático (sem nome)" + +#: elfxx-mips.c:5628 +msgid "MIPS16 and microMIPS functions cannot call each other" +msgstr "funções MIPS16 e microMIPS não se podem chamar entre si" + +#: elfxx-mips.c:6376 +msgid "%X%H: Unsupported JALX to the same ISA mode\n" +msgstr "%X%H: JALX não suportado para o mesmo modo ISA\n" + +#: elfxx-mips.c:6409 +msgid "%X%H: Unsupported jump between ISA modes; consider recompiling with interlinking enabled\n" +msgstr "%X%H: salto não suportado entre modos ISA; considere recompilar com interlinking activado\n" + +#: elfxx-mips.c:6454 +msgid "%X%H: Cannot convert branch between ISA modes to JALX: relocation out of range\n" +msgstr "%X%H: impossível converter ramo entre modos ISA para JALX: relocalização fora do intervalo\n" + +#: elfxx-mips.c:6466 +msgid "%X%H: Unsupported branch between ISA modes\n" +msgstr "%X%H: ramo não suportado entre modos ISA\n" + +#: elfxx-mips.c:7144 elfxx-mips.c:7379 +#, c-format +msgid "%B: Warning: bad `%s' option size %u smaller than its header" +msgstr "%B: aviso: mau tamanho de opção \"%s\" %u menor que o seu cabeçalho" + +#: elfxx-mips.c:8135 elfxx-mips.c:8261 +#, c-format +msgid "%B: Warning: cannot determine the target function for stub section `%s'" +msgstr "%B: aviso: impossível determinar a função alvo para secção fictícia \"%s\"" + +#: elfxx-mips.c:8393 +#, c-format +msgid "%B: Malformed reloc detected for section %s" +msgstr "%B: reloc mal formada detectada para secção %s" + +#: elfxx-mips.c:8465 +#, c-format +msgid "%B: GOT reloc at %#Lx not expected in executables" +msgstr "%B: reloc GOT em %#Lx não esperada em executáveis" + +#: elfxx-mips.c:8603 +#, c-format +msgid "%B: CALL16 reloc at %#Lx not against global symbol" +msgstr "%B: reloc CALL16 em %#Lx não contra símbolo global" + +#: elfxx-mips.c:9226 +#, c-format +msgid "non-dynamic relocations refer to dynamic symbol %s" +msgstr "relocalizações não-dinâmicas referem-se a símbolo dinâmico %s" + +#: elfxx-mips.c:10146 +#, c-format +msgid "%B: Can't find matching LO16 reloc against `%s' for %s at %#Lx in section `%A'" +msgstr "%B: impossível encontrar reloc LO16 correspondente contra \"%s\" para %s em %#Lx na secção \"%A\"" + +#: elfxx-mips.c:10286 +msgid "small-data section exceeds 64KB; lower small-data size limit (see option -G)" +msgstr "secção small-data excede 64KB; baixe o limite de tamanho de small-data (veja a opção -G)" + +#: elfxx-mips.c:10305 +msgid "Cannot convert a jump to JALX for a non-word-aligned address" +msgstr "Impossível converter um salto para JALX para um endereço não alinhado por word" + +#: elfxx-mips.c:10308 +msgid "Jump to a non-word-aligned address" +msgstr "Salto para um endereço não alinhado por word" + +#: elfxx-mips.c:10309 +msgid "Jump to a non-instruction-aligned address" +msgstr "Salto para um endereço não alinhado por instrução" + +#: elfxx-mips.c:10312 +msgid "Cannot convert a branch to JALX for a non-word-aligned address" +msgstr "Impossível converter um ramo para JALX para um endereço não alinhado por word" + +#: elfxx-mips.c:10314 +msgid "Branch to a non-instruction-aligned address" +msgstr "Ramo para um endereço não alinhado por instrução" + +#: elfxx-mips.c:10316 +msgid "PC-relative load from unaligned address" +msgstr "Carga PC-relative de endereço não alinhado" + +#: elfxx-mips.c:10690 elfxx-mips.c:11258 +#, c-format +msgid "%B: `%A' offset of %Ld from `%A' beyond the range of ADDIUPC" +msgstr "%B: desvio \"%A\" de %Ld de \"%A\" além do intervalo de ADDIUPC" + +#: elfxx-mips.c:14121 +#, c-format +msgid "%B: Unknown architecture %s" +msgstr "%B: arquitectura desconhecida %s" + +#: elfxx-mips.c:14380 +msgid "%B: .reginfo section size should be %d bytes, actual size is %d" +msgstr "%B: tamanho da secção .reginfo devia ser %d bytes, tamanho actual é %d" + +#: elfxx-mips.c:14659 +#, c-format +msgid "%B: illegal section name `%A'" +msgstr "%B: nome de secção ilegal \"%A\"" + +#: elfxx-mips.c:14936 +msgid "%B: warning: linking abicalls files with non-abicalls files" +msgstr "%B: aviso: a ligar ficheiros abicalls com ficheiros não-abicalls" + +#: elfxx-mips.c:14953 +msgid "%B: linking 32-bit code with 64-bit code" +msgstr "%B: a ligar código 32-bit com código 64-bit" + +#: elfxx-mips.c:14985 elfxx-mips.c:15051 elfxx-mips.c:15066 +#, c-format +msgid "%B: linking %s module with previous %s modules" +msgstr "%B: a ligar módulo %s com módulos prévios %s" + +#: elfxx-mips.c:15009 +#, c-format +msgid "%B: ABI mismatch: linking %s module with previous %s modules" +msgstr "%B: troca ABI: a ligar módulo %s com módulos prévios %s" + +#: elfxx-mips.c:15034 +#, c-format +msgid "%B: ASE mismatch: linking %s module with previous %s modules" +msgstr "%B: troca ASE: a ligar módulo %s com módulos prévios %s" + +#: elfxx-mips.c:15168 +msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %d" +msgstr "Aviso: %B usa vírgula flutuante ABI %d desconhecida (definida por %B), %B usa vírgula flutuante ABI %d desconhecida" + +#: elfxx-mips.c:15174 +#, c-format +msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses %s" +msgstr "Aviso: %B usa vírgula flutuante ABI %d desconhecida (definida por %B), %B usa %s" + +#: elfxx-mips.c:15180 +#, c-format +msgid "Warning: %B uses %s (set by %B), %B uses unknown floating point ABI %d" +msgstr "Abiso: %B usa %s (definida por %B), %B usa vírgula flutuante ABI %d desconhecida" + +#: elfxx-mips.c:15194 +#, c-format +msgid "Warning: %B uses %s (set by %B), %B uses %s" +msgstr "Aviso: %B usa %s (definida por %B), %B usa %s" + +#: elfxx-mips.c:15213 +#, c-format +msgid "Warning: %B uses %s (set by %B), %B uses unknown MSA ABI %d" +msgstr "Aviso: %B usa %s (definida por %B), %B usa MSA ABI %d desconhecida" + +#: elfxx-mips.c:15225 +#, c-format +msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses %s" +msgstr "Aviso: %B usa MSA ABI %d desconhecida (definida por %B), %B usa %s" + +#: elfxx-mips.c:15234 +#, c-format +msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %d" +msgstr "Aviso: %B usa MSA ABI %d desconhecida (definida por %B), %B usa MSA ABI %d desconhecida" + +#: elfxx-mips.c:15296 +msgid "%B: endianness incompatible with that of the selected emulation" +msgstr "%B: endianness incompatível com a da emulação seleccionada" + +#: elfxx-mips.c:15310 +msgid "%B: ABI is incompatible with that of the selected emulation" +msgstr "%B: ABI incompatível com a da emulação seleccionada" + +#: elfxx-mips.c:15362 +msgid "%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags" +msgstr "%B: aviso: ISA inconsistente entre e_flags e .MIPS.abiflags" + +#: elfxx-mips.c:15367 +msgid "%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags" +msgstr "%B: aviso: FP ABI inconsistente entre .gnu.attributes e .MIPS.abiflags" + +#: elfxx-mips.c:15371 +msgid "%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags" +msgstr "%B: aviso: ASEs inconsistente entre e_flags e .MIPS.abiflags" + +#: elfxx-mips.c:15378 +msgid "%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags" +msgstr "%B: aviso: extensões ISA inconsistentes entre e_flags e .MIPS.abiflags" + +#: elfxx-mips.c:15382 +msgid "%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)" +msgstr "%B: aviso: bandeira inesperada no campo flags2 de .MIPS.abiflags (0x%lx)" + +#: elfxx-mips.c:15571 +msgid "-mips32r2 -mfp64 (12 callee-saved)" +msgstr "-mips32r2 -mfp64 (12 callee-saved)" + +#: elfxx-mips.c:15621 elfxx-mips.c:15632 +msgid "None" +msgstr "Nenhum" + +#: elfxx-mips.c:15623 elfxx-mips.c:15695 +msgid "Unknown" +msgstr "Desconhecido" + +#: elfxx-mips.c:15706 +#, c-format +msgid "Hard or soft float\n" +msgstr "Flutuante rígido ou suave\n" + +#: elfxx-mips.c:15709 +#, c-format +msgid "Hard float (double precision)\n" +msgstr "Flutuante rígido (precisão dupla)\n" + +#: elfxx-mips.c:15712 +#, c-format +msgid "Hard float (single precision)\n" +msgstr "Flutuante rígido (precisão simples)\n" + +#: elfxx-mips.c:15715 +#, c-format +msgid "Soft float\n" +msgstr "Flutuante suave\n" + +#: elfxx-mips.c:15718 +#, c-format +msgid "Hard float (MIPS32r2 64-bit FPU 12 callee-saved)\n" +msgstr "Flutuante rígido (MIPS32r2 64-bit FPU 12 callee-saved)\n" + +#: elfxx-mips.c:15721 +#, c-format +msgid "Hard float (32-bit CPU, Any FPU)\n" +msgstr "Flutuante rígido (32-bit CPU, qualquer FPU)\n" + +#: elfxx-mips.c:15724 +#, c-format +msgid "Hard float (32-bit CPU, 64-bit FPU)\n" +msgstr "Flutuante rígido (32-bit CPU, 64-bit FPU)\n" + +#: elfxx-mips.c:15727 +#, c-format +msgid "Hard float compat (32-bit CPU, 64-bit FPU)\n" +msgstr "Comp. flutuante rígido (32-bit CPU, 64-bit FPU)\n" + +#: elfxx-mips.c:15759 +#, c-format +msgid " [abi=O32]" +msgstr " [abi=O32]" + +#: elfxx-mips.c:15761 +#, c-format +msgid " [abi=O64]" +msgstr " [abi=O64]" + +#: elfxx-mips.c:15763 +#, c-format +msgid " [abi=EABI32]" +msgstr " [abi=EABI32]" + +#: elfxx-mips.c:15765 +#, c-format +msgid " [abi=EABI64]" +msgstr " [abi=EABI64]" + +#: elfxx-mips.c:15767 +#, c-format +msgid " [abi unknown]" +msgstr " [abi desconhecida]" + +#: elfxx-mips.c:15769 +#, c-format +msgid " [abi=N32]" +msgstr " [abi=N32]" + +#: elfxx-mips.c:15771 +#, c-format +msgid " [abi=64]" +msgstr " [abi=64]" + +#: elfxx-mips.c:15773 +#, c-format +msgid " [no abi set]" +msgstr " [sem abi definida]" + +#: elfxx-mips.c:15798 +#, c-format +msgid " [unknown ISA]" +msgstr " [ISA desconhecida]" + +#: elfxx-mips.c:15818 +#, c-format +msgid " [not 32bitmode]" +msgstr " [não 32bitmode]" + +#: elfxx-riscv.c:955 +#, c-format +msgid "unrecognized relocation (0x%x)" +msgstr "relocalização não reconhecida (0x%x)" + +#: elfxx-sparc.c:639 +#, c-format +msgid "invalid relocation type %d" +msgstr "tipo de relocalização %d inválido" + +#: elfxx-sparc.c:3129 +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5024 +#, c-format +msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s" +msgstr "%B: relocalização %s contra símbolo STT_GNU_IFUNC \"%s\" não é gerido por %s" + +#: elfxx-tilegx.c:4241 +#, c-format +msgid "%B: Cannot link together %s and %s objects." +msgstr "%B: impossível ligar objectos %s e %s." + +#: elfxx-x86.c:570 +#, c-format +msgid "%P: %B: warning: relocation against `%s' in read-only section `%A'\n" +msgstr "%P: %B: aviso: relocalização contra \"%s\" em secção só de leitura \"%A\"\n" + +#: elfxx-x86.c:954 +msgid "%P: %B: warning: relocation in read-only section `%A'\n" +msgstr "%P: %B: aviso: relocalização em secção só de leitura \"%A\"\n" + +#: elfxx-x86.c:1287 +msgid "%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n" +msgstr "%P%X: segmento só de leitura tem relocalizações dinâmicas IFUNC; recompile com -fPIC\n" + +#: elfxx-x86.c:2241 +msgid "error: %B: " +msgstr "erro: %B: " + +#: elfxx-x86.c:2243 +msgid "error: %B: " +msgstr "erro: %B: " + +#: elfxx-x86.c:2244 +msgid "error: %B: " +msgstr "erro: %B: " + +#: elfxx-x86.c:2416 +msgid "%F%P: failed to create GNU property section\n" +msgstr "%F%P: falha ao criar secção de propriedade GNU\n" + +#: elfxx-x86.c:2421 +#, c-format +msgid "%F%A: failed to align section\n" +msgstr "%F%A: falha ao alinhar secção\n" + +#: elfxx-x86.c:2571 +msgid "%F%P: failed to create VxWorks dynamic sections\n" +msgstr "%F%P: falha ao criar secções dinâmicas VxWorks \n" + +#: elfxx-x86.c:2580 +msgid "%F%P: failed to create GOT sections\n" +msgstr "%F%P: falha ao criar secções GOT\n" + +#: elfxx-x86.c:2598 +msgid "%F%P: failed to create ifunc sections\n" +msgstr "%F%P: falha ao criar secções ifunc\n" + +#: elfxx-x86.c:2639 +msgid "%F%P: failed to create GOT PLT section\n" +msgstr "%F%P: falha ao criar secção GOT PLT\n" + +#: elfxx-x86.c:2660 +msgid "%F%P: failed to create IBT-enabled PLT section\n" +msgstr "%F%P: falha ao criar secção IBT-enabled PLT\n" + +#: elfxx-x86.c:2675 +msgid "%F%P: failed to create BND PLT section\n" +msgstr "%F%P: falha ao criar secção BND PLT\n" + +#: elfxx-x86.c:2696 +msgid "%F%P: failed to create PLT .eh_frame section\n" +msgstr "%F%P: falha ao criar secção PLT .eh_frame\n" + +#: elfxx-x86.c:2709 +msgid "%F%P: failed to create GOT PLT .eh_frame section\n" +msgstr "%F%P: falha ao criar secção GOT PLT .eh_frame\n" + +#: elfxx-x86.c:2723 +msgid "%F%P: failed to create the second PLT .eh_frame section\n" +msgstr "%F%P: falha ao criar segunda secção PLT .eh_frame\n" + +#: i386linux.c:416 m68klinux.c:419 sparclinux.c:412 +#, c-format +msgid "Output file requires shared library `%s'\n" +msgstr "O ficheiro de saída requer a biblioteca partilhada \"%s\"\n" + +#: i386linux.c:424 m68klinux.c:428 sparclinux.c:421 +#, c-format +msgid "Output file requires shared library `%s.so.%s'\n" +msgstr "O ficheiro de saída requer a biblioteca partilhada \"%s.so.%s\"\n" + +#: i386linux.c:611 i386linux.c:661 m68klinux.c:617 m68klinux.c:665 +#: sparclinux.c:608 sparclinux.c:658 +#, c-format +msgid "Symbol %s not defined for fixups\n" +msgstr "Símbolo %s não definido para fixups\n" + +#: i386linux.c:685 m68klinux.c:689 sparclinux.c:682 +msgid "Warning: fixup count mismatch\n" +msgstr "Aviso: troca de total de fixups\n" + +#: ieee.c:159 +#, c-format +msgid "%B: string too long (%ld chars, max 65535)" +msgstr "%B: cadeia muito grande (%ld caracteres, máx. 65535)" + +#: ieee.c:226 +#, c-format +msgid "IEEE parser: string length: %#lx longer than buffer: %#lx" +msgstr "Analisador IEEE: tamanho da cadeia: %#lx maior que o buffer: %#lx" + +#: ieee.c:302 +#, c-format +msgid "%B: unrecognized symbol `%s' flags 0x%x" +msgstr "%B: símbolo \"%s\" não reconhecido bandeiras 0x%x" + +#: ieee.c:837 +#, c-format +msgid "%B: unimplemented ATI record %u for symbol %u" +msgstr "%B: registo ATI %u não implementado para símbolo %u" + +#: ieee.c:862 +#, c-format +msgid "%B: unexpected ATN type %Ld in external part" +msgstr "%B: tipo ATN inesperado %Ld em parte externa" + +#: ieee.c:884 +msgid "%B: unexpected type after ATN" +msgstr "%B: tipo inesperado após ATN" + +#: ihex.c:230 +#, c-format +msgid "%B:%d: unexpected character `%s' in Intel Hex file" +msgstr "%B:%d: carácter \"%s\" inesperado em ficheiro Intel Hex" + +#: ihex.c:338 +#, c-format +msgid "%B:%u: bad checksum in Intel Hex file (expected %u, found %u)" +msgstr "%B:%u: mau checksum em ficheiro Intel Hex (esperado %u, obtido %u)" + +#: ihex.c:394 +#, c-format +msgid "%B:%u: bad extended address record length in Intel Hex file" +msgstr "%B:%u: mau tamanho de registo de endereço estendido em ficheiro Intel Hex" + +#: ihex.c:412 +#, c-format +msgid "%B:%u: bad extended start address length in Intel Hex file" +msgstr "%B:%u: mau tamanho de endereço inicial estendido em ficheiro Intel Hex" + +#: ihex.c:430 +#, c-format +msgid "%B:%u: bad extended linear address record length in Intel Hex file" +msgstr "%B:%u: mau tamanho de registo em endereço linear estendido em ficheiro Intel Hex" + +#: ihex.c:448 +#, c-format +msgid "%B:%u: bad extended linear start address length in Intel Hex file" +msgstr "%B:%u: mau tamanho de endereço linear inicial estendido em ficheiro Intel Hex" + +#: ihex.c:466 +#, c-format +msgid "%B:%u: unrecognized ihex type %u in Intel Hex file" +msgstr "%B:%u: tipo ihex não reconhecido %u em ficheiro Intel Hex" + +#: ihex.c:585 +msgid "%B: internal error in ihex_read_section" +msgstr "%B: erro interno em ihex_read_section" + +#: ihex.c:619 +msgid "%B: bad section length in ihex_read_section" +msgstr "%B: mau tamanho de secção em ihex_read_section" + +#: ihex.c:830 +#, c-format +msgid "%B: address %#Lx out of range for Intel Hex file" +msgstr "%B: endereço %#Lx fora do intervalo para ficheiro Intel Hex" + +#: libbfd.c:799 +#, c-format +msgid "%B: unable to get decompressed section %A" +msgstr "%B: impossível obter secção %A descomprimida" + +#: libbfd.c:963 +#, c-format +msgid "Deprecated %s called at %s line %d in %s\n" +msgstr "%s obsoleto chamado em %s linha %d em %s\n" + +#: libbfd.c:966 +#, c-format +msgid "Deprecated %s called\n" +msgstr "%s obsoleto chamado\n" + +#: linker.c:1678 +#, c-format +msgid "%B: indirect symbol `%s' to `%s' is a loop" +msgstr "%B: símbolo indirecto \"%s\" para \"%s\" é um ciclo" + +#: linker.c:2548 +#, c-format +msgid "Attempt to do relocatable link with %s input and %s output" +msgstr "Tentativa de fazer ligação relocalizável com entrada %s e saída %s" + +#: linker.c:2834 +#, c-format +msgid "%B: ignoring duplicate section `%A'\n" +msgstr "%B: a ignorar secção \"%A\" duplicada\n" + +#: linker.c:2844 linker.c:2854 +#, c-format +msgid "%B: duplicate section `%A' has different size\n" +msgstr "%B: secção \"%A\" duplicada tem tamanho diferente\n" + +#: linker.c:2863 linker.c:2869 +#, c-format +msgid "%B: could not read contents of section `%A'\n" +msgstr "%B: impossível ler conteúdo da secção \"%A\"\n" + +#: linker.c:2874 +#, c-format +msgid "%B: duplicate section `%A' has different contents\n" +msgstr "%B: secção \"%A\" duplicada tem conteúdo diferente\n" + +#: linker.c:3362 +msgid "%B: compiled for a big endian system and target is little endian" +msgstr "%B: compilado para um sistema big endian e o alvo é little endian" + +#: linker.c:3365 +msgid "%B: compiled for a little endian system and target is big endian" +msgstr "%B: compilado para um sistema little endian e o alvo é big endian" + +#: mach-o.c:779 +msgid "bfd_mach_o_canonicalize_symtab: unable to load symbols" +msgstr "bfd_mach_o_canonicalize_symtab: impossível carregar símbolos" + +#: mach-o.c:1981 +msgid "sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab commands." +msgstr "desculpe: modtab, toc e extrefsyms ainda não estão implementados para comandos dysymtab." + +#: mach-o.c:2424 +#, c-format +msgid "mach-o: there are too many sections (%u) maximum is 255,\n" +msgstr "mach-o: há demasiadas secções (%u), o máximo é 255,\n" + +#: mach-o.c:2531 +#, c-format +msgid "unable to allocate data for load command %#x" +msgstr "impossível alocar dados para comando de carga %#x" + +#: mach-o.c:2636 +#, c-format +msgid "unable to write unknown load command %#x" +msgstr "impossível escrever comando de carga %#x desconhecido" + +#: mach-o.c:2820 +#, c-format +msgid "section address (%#Lx) below start of segment (%#Lx)" +msgstr "endereço de secção (%#Lx) abaixo do início do segmento (%#Lx)" + +#: mach-o.c:2961 +#, c-format +msgid "unable to layout unknown load command %#x" +msgstr "impossível dispor comando de carga %#x desconhecido" + +#: mach-o.c:3497 +#, c-format +msgid "bfd_mach_o_read_section_32: overlarge alignment value: %#lx, using 32 instead" +msgstr "bfd_mach_o_read_section_32: valor de alinhamento muito grande: %#lx, a usar 32" + +#: mach-o.c:3540 +#, c-format +msgid "bfd_mach_o_read_section_64: overlarge alignment value: %#lx, using 32 instead" +msgstr "bfd_mach_o_read_section_64: valor de alinhamento muito grande: %#lx, a usar 32" + +#: mach-o.c:3591 +#, c-format +msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %u" +msgstr "bfd_mach_o_read_symtab_symbol: impossível ler %d bytes em %u" + +#: mach-o.c:3610 +#, c-format +msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)" +msgstr "bfd_mach_o_read_symtab_symbol: nome fora do intervalo (%lu >= %u)" + +#: mach-o.c:3693 +#, c-format +msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d (max %lu): setting to undefined" +msgstr "bfd_mach_o_read_symtab_symbol: símbolo \"%s\" especificou secção inválida %d (máx %lu): a definir como indefinida" + +#: mach-o.c:3712 +#, c-format +msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%x: setting to undefined" +msgstr "bfd_mach_o_read_symtab_symbol: símbolo \"%s\" especificou campo de tipo inválido 0x%x: a definir como indefinida" + +#: mach-o.c:3789 +msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols" +msgstr "bfd_mach_o_read_symtab_symbols: impossível alocar memória para símbolos" + +#: mach-o.c:4762 +msgid "%B: unknown load command %#x" +msgstr "%B: comando de carga %#x desconhecido" + +#: mach-o.c:4953 +#, c-format +msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx" +msgstr "bfd_mach_o_scan: arquitectura desconhecida 0x%lx/0x%lx" + +#: mach-o.c:5058 +#, c-format +msgid "unknown header byte-order value %#x" +msgstr "valor de cabeçalho byte-order %#x desconhecido" + +#: merge.c:868 +#, c-format +msgid "%B: access beyond end of merged section (%Ld)" +msgstr "%B: acesso além do fim da secção unida (%Ld)" + +#: mmo.c:468 +#, c-format +msgid "%B: No core to allocate section name %s\n" +msgstr "%B: sem núcleo para alocar nome de secção %s\n" + +#: mmo.c:544 +#, c-format +msgid "%B: No core to allocate a symbol %d bytes long\n" +msgstr "%B: sem núcleo para alocar um símbolo com %d bytes\n" + +#: mmo.c:958 +#, c-format +msgid "%B: attempt to emit contents at non-multiple-of-4 address %#Lx" +msgstr "%B: tentativa de emitir conteúdo em endereço não múltiplo de 4 %#Lx" + +#: mmo.c:1255 +msgid "%B: invalid mmo file: initialization value for $255 is not `Main'\n" +msgstr "%B: ficheiro mmo inválido: valor de initialização para $255 não é \"Main\"\n" + +#: mmo.c:1402 +#, c-format +msgid "%B: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n" +msgstr "%B: sequência de caracteres largos 0x%02X 0x%02X não suportada após nome de símbolo começado por \"%s\"\n" + +#: mmo.c:1636 +#, c-format +msgid "%B: invalid mmo file: unsupported lopcode `%d'\n" +msgstr "%B: ficheiro mmo inválido: lopcode \"%d\" não suportado\n" + +#: mmo.c:1647 +#, c-format +msgid "%B: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n" +msgstr "%B: ficheiro mmo inválido: esperado YZ = 1, obtido YZ = %d para lop_quote\n" + +#: mmo.c:1685 +#, c-format +msgid "%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n" +msgstr "%B: ficheiro mmo inválido: esperado z = 1 ou z = 2, obtido z = %d para lop_loc\n" + +#: mmo.c:1736 +#, c-format +msgid "%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n" +msgstr "%B: ficheiro mmo inválido: esperado z = 1 ou z = 2, obtido z = %d para lop_fixo\n" + +#: mmo.c:1777 +#, c-format +msgid "%B: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n" +msgstr "%B: ficheiro mmo inválido: esperado y = 0, obtido y = %d para lop_fixrx\n" + +#: mmo.c:1788 +#, c-format +msgid "%B: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n" +msgstr "%B: ficheiro mmo inválido: esperado z = 16 ou z = 24, obtido z = %d para lop_fixrx\n" + +#: mmo.c:1813 +#, c-format +msgid "%B: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n" +msgstr "%B: ficheiro mmo inválido: byte inicial da palavra operando tem de ser 0 ou 1, obtido %d para lop_fixrx\n" + +#: mmo.c:1838 +#, c-format +msgid "%B: cannot allocate file name for file number %d, %d bytes\n" +msgstr "%B: impossível alocar nome de ficheiro para número de ficheiro %d, %d bytes\n" + +#: mmo.c:1860 +#, c-format +msgid "%B: invalid mmo file: file number %d `%s', was already entered as `%s'\n" +msgstr "%B: ficheiro mmo inválido: número de ficheiro %d \"%s\", já foi inserido como \"%s\"\n" + +#: mmo.c:1874 +#, c-format +msgid "%B: invalid mmo file: file name for number %d was not specified before use\n" +msgstr "%B: ficheiro mmo inválido: nome de ficheiro para número %d não foi especificado antes do uso\n" + +#: mmo.c:1981 +#, c-format +msgid "%B: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n" +msgstr "%B: ficheiro mmo inválido: campos y e z de lop_stab não-zero, y: %d, z: %d\n" + +#: mmo.c:2018 +#, c-format +msgid "%B: invalid mmo file: lop_end not last item in file\n" +msgstr "%B: ficheiro mmo inválido: lop_end não é o último item no ficheiro\n" + +#: mmo.c:2032 +#, c-format +msgid "%B: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n" +msgstr "%B: ficheiro mmo inválido: YZ de lop_end (%ld) não igual ao número de tetras para o lop_stab (%ld) precedente\n" + +#: mmo.c:2743 +#, c-format +msgid "%B: invalid symbol table: duplicate symbol `%s'\n" +msgstr "%B: tabela de símbolo inválida: símbolo duplicado \"%s\"\n" + +#: mmo.c:2986 +#, c-format +msgid "%B: Bad symbol definition: `Main' set to %s rather than the start address %s\n" +msgstr "%B: má definição de símbolo: \"Main\" definido como %s em vez do endereço inicial %s\n" + +#: mmo.c:3085 +#, c-format +msgid "%B: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d. Only `Main' will be emitted.\n" +msgstr "%B: aviso: tabela de simbolo muito grande para mmo, maior que palavras de 65535 32-bit: %d. Só \"Main\" será emitido.\n" + +#: mmo.c:3131 +#, c-format +msgid "%B: internal error, symbol table changed size from %d to %d words\n" +msgstr "%B: erro interno, tabela de símbolo alterou o tamanho de %d para %d palavras\n" + +#: mmo.c:3184 +#, c-format +msgid "%B: internal error, internal register section %A had contents\n" +msgstr "%B: erro interno, secção de registo interna %A tinha conteúdo\n" + +#: mmo.c:3235 +msgid "%B: no initialized registers; section length 0\n" +msgstr "%B: sem registos inicializados; tamanho de secção 0\n" + +#: mmo.c:3242 +#, c-format +msgid "%B: too many initialized registers; section length %Ld" +msgstr "%B: demasiados registos inicializados; tamanho de secção %Ld" + +#: mmo.c:3247 +#, c-format +msgid "%B: invalid start address for initialized registers of length %Ld: %#Lx" +msgstr "%B: endereço inicial inválido para registos inicializados de tamanho %Ld: %#Lx" + +#: oasys.c:881 +#, c-format +msgid "%B: can not represent section `%A' in oasys" +msgstr "%B: impossível representar secção \"%A\" em oasys" + +#: osf-core.c:127 +#, c-format +msgid "Unhandled OSF/1 core file section type %d\n" +msgstr "Tipo de secção %d de ficheiro núcleo OSF/1 não gerida\n" + +#: pe-mips.c:609 +msgid "%B: `ld -r' not supported with PE MIPS objects\n" +msgstr "%B: \"ld -r\" não suportado com objectos PE MIPS\n" + +#. OK, at this point the following variables are set up: +#. src = VMA of the memory we're fixing up +#. mem = pointer to memory we're fixing up +#. val = VMA of what we need to refer to. +#: pe-mips.c:720 +#, c-format +msgid "%B: unimplemented %s\n" +msgstr "%B: %s não implementado\n" + +#: pe-mips.c:746 +msgid "%B: jump too far away\n" +msgstr "%B: salto para demasiado longe\n" + +#: pe-mips.c:772 +msgid "%B: bad pair/reflo after refhi\n" +msgstr "%B: mau pair/reflo após refhi\n" + +#: pef.c:526 +#, c-format +msgid "bfd_pef_scan: unknown architecture 0x%lx" +msgstr "bfd_pef_scan: arquitectura desconhecida 0x%lx" + +#. PR 17512: file: 2245-7442-0.004. +#: pei-x86_64.c:281 +#, c-format +msgid "Unknown: %x" +msgstr "Desconhecido: %x" + +#: pei-x86_64.c:331 +#, c-format +msgid "warning: xdata section corrupt\n" +msgstr "aviso: secção xdata corrupta\n" + +#: pei-x86_64.c:341 +#, c-format +msgid "warning: xdata section corrupt" +msgstr "aviso: secção xdata corrupta" + +#: pei-x86_64.c:401 +#, c-format +msgid "Too many unwind codes (%ld)\n" +msgstr "Demasiados códigos unwind (%ld)\n" + +#: pei-x86_64.c:491 +#, c-format +msgid "Warning: %s section size (%ld) is not a multiple of %d\n" +msgstr "Aviso: tamanho de secção %s (%ld) não é múltiplo de %d\n" + +#: pei-x86_64.c:498 +#, c-format +msgid "Warning: %s section size is zero\n" +msgstr "Aviso: tamanho de secção %s é zero\n" + +#: pei-x86_64.c:513 +#, c-format +msgid "Warning: %s section size (%ld) is smaller than virtual size (%ld)\n" +msgstr "Aviso: tamanho de secção %s (%ld) é menor que o tamanho virtual (%ld)\n" + +#: pei-x86_64.c:522 +#, c-format +msgid "" +"\n" +"The Function Table (interpreted %s section contents)\n" +msgstr "" +"\n" +"A tabela de função (interpretado %s conteúdo de secção)\n" + +#: pei-x86_64.c:525 +#, c-format +msgid "vma:\t\t\tBeginAddress\t EndAddress\t UnwindData\n" +msgstr "vma:\t\t\tEndInicial \t EndFinal \t DadosUnwind\n" + +#: pei-x86_64.c:654 +#, c-format +msgid "" +"\n" +"Dump of %s\n" +msgstr "" +"\n" +"Despejo de %s\n" + +#. XXX code yet to be written. +#: peicode.h:775 +#, c-format +msgid "%B: Unhandled import type; %x" +msgstr "%B: tipo de importação não gerido; %x" + +#: peicode.h:781 +#, c-format +msgid "%B: Unrecognised import type; %x" +msgstr "%B: tipo de importação não reconhecido; %x" + +#: peicode.h:796 +#, c-format +msgid "%B: Unrecognised import name type; %x" +msgstr "%B: tipo de nome de importação não reconhecido; %x" + +#: peicode.h:1217 +#, c-format +msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive" +msgstr "%B: tipo de máquina não reconhecido (0x%x) em arquivo Import Library Format" + +#: peicode.h:1230 +#, c-format +msgid "%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive" +msgstr "%B: tipo de máquina reconhecido mas não gerido (0x%x) em arquivo Import Library Format" + +#: peicode.h:1248 +msgid "%B: size field is zero in Import Library Format header" +msgstr "%B: tamanho de campo é zero em cabeçalho Import Library Format" + +#: peicode.h:1280 +msgid "%B: string not null terminated in ILF object file." +msgstr "%B: cadeia nã-null terminada em ficheiro objecto ILF." + +#: peicode.h:1335 +msgid "%B: Error: Debug Data ends beyond end of debug directory." +msgstr "%B: erro: Debug Data termina após o fim da pasta de depuração." + +#: ppcboot.c:393 +#, c-format +msgid "" +"\n" +"ppcboot header:\n" +msgstr "" +"\n" +"cabeçalho ppcboot:\n" + +#: ppcboot.c:394 +#, c-format +msgid "Entry offset = 0x%.8lx (%ld)\n" +msgstr "Desvio da entrada = 0x%.8lx (%ld)\n" + +#: ppcboot.c:396 +#, c-format +msgid "Length = 0x%.8lx (%ld)\n" +msgstr "Tamanho = 0x%.8lx (%ld)\n" + +#: ppcboot.c:400 +#, c-format +msgid "Flag field = 0x%.2x\n" +msgstr "Campo de bandeira = 0x%.2x\n" + +#: ppcboot.c:406 +#, c-format +msgid "Partition name = \"%s\"\n" +msgstr "Nome da partição = \"%s\"\n" + +#: ppcboot.c:426 +#, c-format +msgid "" +"\n" +"Partition[%d] start = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n" +msgstr "" +"\n" +"Início da partição[%d] = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n" + +#: ppcboot.c:433 +#, c-format +msgid "Partition[%d] end = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n" +msgstr "Fim da partição[%d] = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n" + +#: ppcboot.c:440 +#, c-format +msgid "Partition[%d] sector = 0x%.8lx (%ld)\n" +msgstr "Sector da partição[%d] = 0x%.8lx (%ld)\n" + +#: ppcboot.c:444 +#, c-format +msgid "Partition[%d] length = 0x%.8lx (%ld)\n" +msgstr "Tamanho da partição[%d] = 0x%.8lx (%ld)\n" + +#: reloc.c:8106 +msgid "INPUT_SECTION_FLAGS are not supported.\n" +msgstr "INPUT_SECTION_FLAGS não são suportadas.\n" + +#: reloc.c:8207 +#, c-format +msgid "%X%P: %B(%A): error: relocation for offset %V has no value\n" +msgstr "%X%P: %B(%A): erro: relocalização para desvio %V não tem valor\n" + +#: reloc.c:8283 +#, c-format +msgid "%X%P: %B(%A): relocation \"%R\" is not supported\n" +msgstr "%X%P: %B(%A): relocalização \"%R\" não é suportada\n" + +#: reloc.c:8292 +#, c-format +msgid "%X%P: %B(%A): relocation \"%R\" returns an unrecognized value %x\n" +msgstr "%X%P: %B(%A): relocalização \"%R\" devolve um valor não reconhecido %x\n" + +#: reloc.c:8354 +#, c-format +msgid "%B: unrecognized relocation (%#x) in section `%A'" +msgstr "%B: relocalização não reconhecida (%#x) na secção \"%A\"" + +#. PR 21803: Suggest the most likely cause of this error. +#: reloc.c:8358 +#, c-format +msgid "Is this version of the linker - %s - out of date ?" +msgstr "Estará esta versão do linker - %s - fora do prazo?" + +#: rs6000-core.c:471 +msgid "%B: warning core file truncated" +msgstr "%B: aviso: ficheiro núcleo truncado" + +#: som.c:5478 +#, c-format +msgid "" +"\n" +"Exec Auxiliary Header\n" +msgstr "" +"\n" +"Exec Auxiliary Header\n" + +#: som.c:5787 +msgid "som_sizeof_headers unimplemented" +msgstr "som_sizeof_headers não implementado" + +#: srec.c:260 +#, c-format +msgid "%B:%d: Unexpected character `%s' in S-record file\n" +msgstr "%B:%d: carácter \"%s\" inesperado em ficheiro S-record\n" + +#: srec.c:488 +#, c-format +msgid "%B:%d: byte count %d too small\n" +msgstr "%B:%d: total de byte %d muito pequeno\n" + +#: srec.c:581 srec.c:615 +#, c-format +msgid "%B:%d: Bad checksum in S-record file\n" +msgstr "%B:%d: mau checksum em ficheiro S-record\n" + +#: stabs.c:279 +#, c-format +msgid "%B(%A+%#lx): Stabs entry has invalid string index." +msgstr "%B(%A+%#lx): entrada Stabs tem índice de cadeia inválido." + +#: syms.c:1079 +msgid "Unsupported .stab relocation" +msgstr "Relocalização .stab não suportada" + +#: vms-alpha.c:479 +msgid "Corrupt EIHD record - size is too small" +msgstr "Registo EIHD corrupto - tamanho muito pequeno" + +#: vms-alpha.c:660 +#, c-format +msgid "Unable to read EIHS record at offset %#x" +msgstr "Impossível ler registo EIHS no desvio %#x" + +#: vms-alpha.c:1172 +#, c-format +msgid "Corrupt EGSD record: its size (%#x) is too small" +msgstr "Registo EGSD corrupto: tamanho (%#x) muito pequeno" + +#: vms-alpha.c:1196 +#, c-format +msgid "Corrupt EGSD record: size (%#x) is larger than remaining space (%#x)" +msgstr "Registo EGSD corrupto: tamanho (%#x) maior que o espaço restante (%#x)" + +#: vms-alpha.c:1204 +#, c-format +msgid "Corrupt EGSD record: size (%#x) is too small" +msgstr "Registo EGSD corrupto: tamanho (%#x) muito pequeno" + +#: vms-alpha.c:1333 vms-alpha.c:1349 vms-alpha.c:1389 +#, c-format +msgid "Corrupt EGSD record: its psindx field is too big (%#lx)" +msgstr "Registo EGSD corrupto: campo psindx muito grande (%#lx)" + +#: vms-alpha.c:1418 +#, c-format +msgid "Unknown EGSD subtype %d" +msgstr "Sub-tipo EGSD %d desconhecido" + +#: vms-alpha.c:1451 +#, c-format +msgid "Stack overflow (%d) in _bfd_vms_push" +msgstr "Transporte de stack (%d) em _bfd_vms_push" + +#: vms-alpha.c:1464 +msgid "Stack underflow in _bfd_vms_pop" +msgstr "Sub-transporte de stack em _bfd_vms_pop" + +#. These names have not yet been added to this switch statement. +#: vms-alpha.c:1706 +#, c-format +msgid "unknown ETIR command %d" +msgstr "comando ETIR %d desconhecido" + +#: vms-alpha.c:1737 +msgid "Corrupt vms value" +msgstr "Valor vms corrupto" + +#: vms-alpha.c:1865 +msgid "Corrupt ETIR record encountered" +msgstr "Encontrado registo ETIR corrupto" + +#: vms-alpha.c:1922 +#, c-format +msgid "bad section index in %s" +msgstr "mau índice de secção em %s" + +#: vms-alpha.c:1935 +#, c-format +msgid "unsupported STA cmd %s" +msgstr "comando STA %s não suportado" + +#. Insert field. +#. Unsigned shift. +#. Rotate. +#. Redefine symbol to current location. +#. Define a literal. +#: vms-alpha.c:2115 vms-alpha.c:2146 vms-alpha.c:2237 vms-alpha.c:2395 +#, c-format +msgid "%s: not supported" +msgstr "%s: não suportado" + +#: vms-alpha.c:2121 +#, c-format +msgid "%s: not implemented" +msgstr "%s: não implementado" + +#: vms-alpha.c:2379 +#, c-format +msgid "invalid use of %s with contexts" +msgstr "uso inválido de %s com contextos" + +#: vms-alpha.c:2413 +#, c-format +msgid "reserved cmd %d" +msgstr "comando reservado %d" + +#: vms-alpha.c:2497 +msgid "Corrupt EEOM record - size is too small" +msgstr "Registo EEOM corrupto - tamanho demasiado pequeno" + +#: vms-alpha.c:2506 +msgid "Object module NOT error-free !\n" +msgstr "Módulo objecto NÃO livre de erros!\n" + +#: vms-alpha.c:3830 +#, c-format +msgid "SEC_RELOC with no relocs in section %A" +msgstr "SEC_RELOC sem relocs na secção %A" + +#: vms-alpha.c:3882 vms-alpha.c:4095 +#, c-format +msgid "Size error in section %A" +msgstr "Erro de tamanho na secção %A" + +#: vms-alpha.c:4041 +msgid "Spurious ALPHA_R_BSR reloc" +msgstr "Relocalização ALPHA_R_BSR espúria" + +#: vms-alpha.c:4082 +#, c-format +msgid "Unhandled relocation %s" +msgstr "Relocalização %s não gerida" + +#: vms-alpha.c:4375 +#, c-format +msgid "unknown source command %d" +msgstr "Comando fonte %d desconhecido" + +#: vms-alpha.c:4436 +msgid "DST__K_SET_LINUM_INCR not implemented" +msgstr "DST__K_SET_LINUM_INCR não implementado" + +#: vms-alpha.c:4442 +msgid "DST__K_SET_LINUM_INCR_W not implemented" +msgstr "DST__K_SET_LINUM_INCR_W não implementado" + +#: vms-alpha.c:4448 +msgid "DST__K_RESET_LINUM_INCR not implemented" +msgstr "DST__K_RESET_LINUM_INCR não implementado" + +#: vms-alpha.c:4454 +msgid "DST__K_BEG_STMT_MODE not implemented" +msgstr "DST__K_BEG_STMT_MODE não implementado" + +#: vms-alpha.c:4460 +msgid "DST__K_END_STMT_MODE not implemented" +msgstr "DST__K_END_STMT_MODE não implementado" + +#: vms-alpha.c:4487 +msgid "DST__K_SET_PC not implemented" +msgstr "DST__K_SET_PC não implementado" + +#: vms-alpha.c:4493 +msgid "DST__K_SET_PC_W not implemented" +msgstr "DST__K_SET_PC_W não implementado" + +#: vms-alpha.c:4499 +msgid "DST__K_SET_PC_L not implemented" +msgstr "DST__K_SET_PC_L não implementado" + +#: vms-alpha.c:4505 +msgid "DST__K_SET_STMTNUM not implemented" +msgstr "DST__K_SET_STMTNUM não implementado" + +#: vms-alpha.c:4548 +#, c-format +msgid "unknown line command %d" +msgstr "comando de linha %d desconhecido" + +#: vms-alpha.c:5008 vms-alpha.c:5026 vms-alpha.c:5041 vms-alpha.c:5057 +#: vms-alpha.c:5070 vms-alpha.c:5082 vms-alpha.c:5095 +#, c-format +msgid "Unknown reloc %s + %s" +msgstr "Reloc %s + %s desconhecida" + +#: vms-alpha.c:5150 +#, c-format +msgid "Unknown reloc %s" +msgstr "Reloc %s desconhecida" + +#: vms-alpha.c:5163 +msgid "Invalid section index in ETIR" +msgstr "Índice de secção inválido em ETIR" + +#: vms-alpha.c:5172 +msgid "Relocation for non-REL psect" +msgstr "Relocalização para psect não-REL" + +#: vms-alpha.c:5219 +#, c-format +msgid "Unknown symbol in command %s" +msgstr "Símbolo desconhecido em comando %s" + +#: vms-alpha.c:5629 +#, c-format +msgid "reloc (%d) is *UNKNOWN*" +msgstr "reloc (%d) é *UNKNOWN*" + +#: vms-alpha.c:5745 +#, c-format +msgid " EMH %u (len=%u): " +msgstr " EMH %u (tam=%u): " + +#: vms-alpha.c:5750 +#, c-format +msgid " Error: The length is less than the length of an EMH record\n" +msgstr " Erro: o tamanho é menor que o tamanho de um registo EMH\n" + +#: vms-alpha.c:5767 +#, c-format +msgid " Error: The record length is less than the size of an EMH_MHD record\n" +msgstr " Erro: o tamanho do registo é menor que o tamanho de um registo EMH_MHD\n" + +#: vms-alpha.c:5770 +#, c-format +msgid "Module header\n" +msgstr "Cabeçalho de módulo\n" + +#: vms-alpha.c:5771 +#, c-format +msgid " structure level: %u\n" +msgstr " nível de estrutura: %u\n" + +#: vms-alpha.c:5772 +#, c-format +msgid " max record size: %u\n" +msgstr " tam. máx registo: %u\n" + +#: vms-alpha.c:5778 +#, c-format +msgid " Error: The module name is missing\n" +msgstr " Erro: nome de módulo em falta\n" + +#: vms-alpha.c:5784 +#, c-format +msgid " Error: The module name is too long\n" +msgstr " Erro: nome de módulo muito longo\n" + +#: vms-alpha.c:5787 +#, c-format +msgid " module name : %.*s\n" +msgstr " nome de módulo : %.*s\n" + +#: vms-alpha.c:5791 +#, c-format +msgid " Error: The module version is missing\n" +msgstr " Erro: versão de módulo em falta\n" + +#: vms-alpha.c:5797 +#, c-format +msgid " Error: The module version is too long\n" +msgstr " Erro: versão de módulo muito longa\n" + +#: vms-alpha.c:5800 +#, c-format +msgid " module version : %.*s\n" +msgstr " versão de módulo: %.*s\n" + +#: vms-alpha.c:5803 +#, c-format +msgid " Error: The compile date is truncated\n" +msgstr " Erro: data de compilação truncada\n" + +#: vms-alpha.c:5805 +#, c-format +msgid " compile date : %.17s\n" +msgstr " data compilação: %.17s\n" + +#: vms-alpha.c:5810 +#, c-format +msgid "Language Processor Name\n" +msgstr "Nome do processador de linguagem\n" + +#: vms-alpha.c:5811 +#, c-format +msgid " language name: %.*s\n" +msgstr " nome linguagem: %.*s\n" + +#: vms-alpha.c:5815 +#, c-format +msgid "Source Files Header\n" +msgstr "Cabeçalho de ficheiros fonte\n" + +#: vms-alpha.c:5816 +#, c-format +msgid " file: %.*s\n" +msgstr " ficheiro: %.*s\n" + +#: vms-alpha.c:5820 +#, c-format +msgid "Title Text Header\n" +msgstr "Cabeçalho do texto de título\n" + +#: vms-alpha.c:5821 +#, c-format +msgid " title: %.*s\n" +msgstr " título: %.*s\n" + +#: vms-alpha.c:5825 +#, c-format +msgid "Copyright Header\n" +msgstr "Cabeçalho de copyright\n" + +#: vms-alpha.c:5826 +#, c-format +msgid " copyright: %.*s\n" +msgstr " copyright: %.*s\n" + +#: vms-alpha.c:5830 +#, c-format +msgid "unhandled emh subtype %u\n" +msgstr "sub-tipo emh %u não gerido\n" + +#: vms-alpha.c:5840 +#, c-format +msgid " EEOM (len=%u):\n" +msgstr " EEOM (tam=%u):\n" + +#: vms-alpha.c:5845 +#, c-format +msgid " Error: The length is less than the length of an EEOM record\n" +msgstr " Erro: o tamanho é menor que o tamanho de um registo EEOM\n" + +#: vms-alpha.c:5849 +#, c-format +msgid " number of cond linkage pairs: %u\n" +msgstr " número de pares de ligação condicional: %u\n" + +#: vms-alpha.c:5851 +#, c-format +msgid " completion code: %u\n" +msgstr " código de conclusão: %u\n" + +#: vms-alpha.c:5855 +#, c-format +msgid " transfer addr flags: 0x%02x\n" +msgstr " transferir band end: 0x%02x\n" + +#: vms-alpha.c:5856 +#, c-format +msgid " transfer addr psect: %u\n" +msgstr " transferir psect end.: %u\n" + +#: vms-alpha.c:5858 +#, c-format +msgid " transfer address : 0x%08x\n" +msgstr " transferir endereço: 0x%08x\n" + +#: vms-alpha.c:5867 +msgid " WEAK" +msgstr " WEAK" + +#: vms-alpha.c:5869 +msgid " DEF" +msgstr " DEF" + +#: vms-alpha.c:5871 +msgid " UNI" +msgstr " UNI" + +#: vms-alpha.c:5873 vms-alpha.c:5894 +msgid " REL" +msgstr " REL" + +#: vms-alpha.c:5875 +msgid " COMM" +msgstr " COMM" + +#: vms-alpha.c:5877 +msgid " VECEP" +msgstr " VECEP" + +#: vms-alpha.c:5879 +msgid " NORM" +msgstr " NORM" + +#: vms-alpha.c:5881 +msgid " QVAL" +msgstr " QVAL" + +#: vms-alpha.c:5888 +msgid " PIC" +msgstr " PIC" + +#: vms-alpha.c:5890 +msgid " LIB" +msgstr " LIB" + +#: vms-alpha.c:5892 +msgid " OVR" +msgstr " OVR" + +#: vms-alpha.c:5896 +msgid " GBL" +msgstr " GBL" + +#: vms-alpha.c:5898 +msgid " SHR" +msgstr " SHR" + +#: vms-alpha.c:5900 +msgid " EXE" +msgstr " EXE" + +#: vms-alpha.c:5902 +msgid " RD" +msgstr " RD" + +#: vms-alpha.c:5904 +msgid " WRT" +msgstr " WRT" + +#: vms-alpha.c:5906 +msgid " VEC" +msgstr " VEC" + +#: vms-alpha.c:5908 +msgid " NOMOD" +msgstr " NOMOD" + +#: vms-alpha.c:5910 +msgid " COM" +msgstr " COM" + +#: vms-alpha.c:5912 +msgid " 64B" +msgstr " 64B" + +#: vms-alpha.c:5921 +#, c-format +msgid " EGSD (len=%u):\n" +msgstr " EGSD (tam=%u):\n" + +#: vms-alpha.c:5934 +#, c-format +msgid " EGSD entry %2u (type: %u, len: %u): " +msgstr " entrada EGSD %2u (tipo: %u, tamanho: %u): " + +#: vms-alpha.c:5940 vms-alpha.c:6191 +#, c-format +msgid " Error: length larger than remaining space in record\n" +msgstr " Erro: tamanho maior que o espaço restante no registo\n" + +#: vms-alpha.c:5952 +#, c-format +msgid "PSC - Program section definition\n" +msgstr "PSC - definição da secção Program\n" + +#: vms-alpha.c:5953 vms-alpha.c:5970 +#, c-format +msgid " alignment : 2**%u\n" +msgstr " alinhamento : 2**%u\n" + +#: vms-alpha.c:5954 vms-alpha.c:5971 +#, c-format +msgid " flags : 0x%04x" +msgstr " bandeiras : 0x%04x" + +#: vms-alpha.c:5958 +#, c-format +msgid " alloc (len): %u (0x%08x)\n" +msgstr " aloc. (tam): %u (0x%08x)\n" + +#: vms-alpha.c:5959 vms-alpha.c:6016 vms-alpha.c:6065 +#, c-format +msgid " name : %.*s\n" +msgstr " nome : %.*s\n" + +#: vms-alpha.c:5969 +#, c-format +msgid "SPSC - Shared Image Program section def\n" +msgstr "SPSC - definição de secção Shared Image Program\n" + +#: vms-alpha.c:5975 +#, c-format +msgid " alloc (len) : %u (0x%08x)\n" +msgstr " aloc. (tam) : %u (0x%08x)\n" + +#: vms-alpha.c:5976 +#, c-format +msgid " image offset : 0x%08x\n" +msgstr " desvio imagem : 0x%08x\n" + +#: vms-alpha.c:5978 +#, c-format +msgid " symvec offset : 0x%08x\n" +msgstr " desvio symvec : 0x%08x\n" + +#: vms-alpha.c:5980 +#, c-format +msgid " name : %.*s\n" +msgstr " nome : %.*s\n" + +#: vms-alpha.c:5993 +#, c-format +msgid "SYM - Global symbol definition\n" +msgstr "SYM - definição de símbolo Global\n" + +#: vms-alpha.c:5994 vms-alpha.c:6054 vms-alpha.c:6075 vms-alpha.c:6094 +#, c-format +msgid " flags: 0x%04x" +msgstr " bandeiras: 0x%04x" + +#: vms-alpha.c:5997 +#, c-format +msgid " psect offset: 0x%08x\n" +msgstr " desvio psect: 0x%08x\n" + +#: vms-alpha.c:6001 +#, c-format +msgid " code address: 0x%08x\n" +msgstr " end. de cód.: 0x%08x\n" + +#: vms-alpha.c:6003 +#, c-format +msgid " psect index for entry point : %u\n" +msgstr " índice psect do ponto de entrada: %u\n" + +#: vms-alpha.c:6006 vms-alpha.c:6082 vms-alpha.c:6101 +#, c-format +msgid " psect index : %u\n" +msgstr " índice psect : %u\n" + +#: vms-alpha.c:6008 vms-alpha.c:6084 vms-alpha.c:6103 +#, c-format +msgid " name : %.*s\n" +msgstr " nome : %.*s\n" + +#: vms-alpha.c:6015 +#, c-format +msgid "SYM - Global symbol reference\n" +msgstr "SYM - referência de símbolo Global\n" + +#: vms-alpha.c:6027 +#, c-format +msgid "IDC - Ident Consistency check\n" +msgstr "IDC - verificação Ident Consistency\n" + +#: vms-alpha.c:6028 +#, c-format +msgid " flags : 0x%08x" +msgstr " bandeiras : 0x%08x" + +#: vms-alpha.c:6032 +#, c-format +msgid " id match : %x\n" +msgstr " comparação id : %x\n" + +#: vms-alpha.c:6034 +#, c-format +msgid " error severity: %x\n" +msgstr " severidade do erro: %x\n" + +#: vms-alpha.c:6037 +#, c-format +msgid " entity name : %.*s\n" +msgstr " nome entidade : %.*s\n" + +#: vms-alpha.c:6039 +#, c-format +msgid " object name : %.*s\n" +msgstr " nome objecto : %.*s\n" + +#: vms-alpha.c:6042 +#, c-format +msgid " binary ident : 0x%08x\n" +msgstr " ident. binária: 0x%08x\n" + +#: vms-alpha.c:6045 +#, c-format +msgid " ascii ident : %.*s\n" +msgstr " ident. ascii : %.*s\n" + +#: vms-alpha.c:6053 +#, c-format +msgid "SYMG - Universal symbol definition\n" +msgstr "SYMG - definição Universal\n" + +#: vms-alpha.c:6057 +#, c-format +msgid " symbol vector offset: 0x%08x\n" +msgstr " desvio do vector de símbolo: 0x%08x\n" + +#: vms-alpha.c:6059 +#, c-format +msgid " entry point: 0x%08x\n" +msgstr " ponto de entrada: 0x%08x\n" + +#: vms-alpha.c:6061 +#, c-format +msgid " proc descr : 0x%08x\n" +msgstr " descrição de procedimento: 0x%08x\n" + +#: vms-alpha.c:6063 +#, c-format +msgid " psect index: %u\n" +msgstr " índice psect: %u\n" + +#: vms-alpha.c:6074 +#, c-format +msgid "SYMV - Vectored symbol definition\n" +msgstr "SYMV - definição de símbolo Vectored\n" + +#: vms-alpha.c:6078 +#, c-format +msgid " vector : 0x%08x\n" +msgstr " vector : 0x%08x\n" + +#: vms-alpha.c:6080 vms-alpha.c:6099 +#, c-format +msgid " psect offset: %u\n" +msgstr " desvio psect: %u\n" + +#: vms-alpha.c:6093 +#, c-format +msgid "SYMM - Global symbol definition with version\n" +msgstr "SYMM - definição de símbolo Global com versão\n" + +#: vms-alpha.c:6097 +#, c-format +msgid " version mask: 0x%08x\n" +msgstr " máscara de versão: 0x%08x\n" + +#: vms-alpha.c:6108 +#, c-format +msgid "unhandled egsd entry type %u\n" +msgstr "tipo de entrada egsd %u não gerida\n" + +#: vms-alpha.c:6143 +#, c-format +msgid " linkage index: %u, replacement insn: 0x%08x\n" +msgstr " índice de ligação: %u, insn de substituição: 0x%08x\n" + +#: vms-alpha.c:6147 +#, c-format +msgid " psect idx 1: %u, offset 1: 0x%08x %08x\n" +msgstr " índ psect 1: %u, desvio 1: 0x%08x %08x\n" + +#: vms-alpha.c:6152 +#, c-format +msgid " psect idx 2: %u, offset 2: 0x%08x %08x\n" +msgstr " índ psect 2: %u, desvio 2: 0x%08x %08x\n" + +#: vms-alpha.c:6158 +#, c-format +msgid " psect idx 3: %u, offset 3: 0x%08x %08x\n" +msgstr " índ psect 3: %u, desvio 3: 0x%08x %08x\n" + +#: vms-alpha.c:6163 +#, c-format +msgid " global name: %.*s\n" +msgstr " nome global: %.*s\n" + +#: vms-alpha.c:6174 +#, c-format +msgid " %s (len=%u+%u):\n" +msgstr " %s (tam=%u+%u):\n" + +#: vms-alpha.c:6196 +#, c-format +msgid " (type: %3u, size: 4+%3u): " +msgstr " (tipo: %3u, tam.: 4+%3u): " + +#: vms-alpha.c:6200 +#, c-format +msgid "STA_GBL (stack global) %.*s\n" +msgstr "STA_GBL (stack global) %.*s\n" + +#: vms-alpha.c:6204 +#, c-format +msgid "STA_LW (stack longword) 0x%08x\n" +msgstr "STA_LW (stack longword) 0x%08x\n" + +#: vms-alpha.c:6208 +#, c-format +msgid "STA_QW (stack quadword) 0x%08x %08x\n" +msgstr "STA_QW (stack quadword) 0x%08x %08x\n" + +#: vms-alpha.c:6213 +#, c-format +msgid "STA_PQ (stack psect base + offset)\n" +msgstr "STA_PQ (stack psect base + desvio)\n" + +#: vms-alpha.c:6215 +#, c-format +msgid " psect: %u, offset: 0x%08x %08x\n" +msgstr " psect: %u, desvio: 0x%08x %08x\n" + +#: vms-alpha.c:6221 +#, c-format +msgid "STA_LI (stack literal)\n" +msgstr "STA_LI (stack literal)\n" + +#: vms-alpha.c:6224 +#, c-format +msgid "STA_MOD (stack module)\n" +msgstr "STA_MOD (stack módulo)\n" + +#: vms-alpha.c:6227 +#, c-format +msgid "STA_CKARG (compare procedure argument)\n" +msgstr "STA_CKARG (comparar argumento de procedimento)\n" + +#: vms-alpha.c:6231 +#, c-format +msgid "STO_B (store byte)\n" +msgstr "STO_B (armazenar byte)\n" + +#: vms-alpha.c:6234 +#, c-format +msgid "STO_W (store word)\n" +msgstr "STO_W (armazenar word)\n" + +#: vms-alpha.c:6237 +#, c-format +msgid "STO_LW (store longword)\n" +msgstr "STO_LW (armazenar longword)\n" + +#: vms-alpha.c:6240 +#, c-format +msgid "STO_QW (store quadword)\n" +msgstr "STO_QW (armazenar quadword)\n" + +#: vms-alpha.c:6246 +#, c-format +msgid "STO_IMMR (store immediate repeat) %u bytes\n" +msgstr "STO_IMMR (armazenar repetição imediata) %u bytes\n" + +#: vms-alpha.c:6253 +#, c-format +msgid "STO_GBL (store global) %.*s\n" +msgstr "STO_GBL (armazenar global) %.*s\n" + +#: vms-alpha.c:6257 +#, c-format +msgid "STO_CA (store code address) %.*s\n" +msgstr "STO_CA (armazenar endereço de código) %.*s\n" + +#: vms-alpha.c:6261 +#, c-format +msgid "STO_RB (store relative branch)\n" +msgstr "STO_RB (armazenar ramo relativo)\n" + +#: vms-alpha.c:6264 +#, c-format +msgid "STO_AB (store absolute branch)\n" +msgstr "STO_AB (armazenar ramo absoluto)\n" + +#: vms-alpha.c:6267 +#, c-format +msgid "STO_OFF (store offset to psect)\n" +msgstr "STO_OFF (armazenar desvio para psect)\n" + +#: vms-alpha.c:6273 +#, c-format +msgid "STO_IMM (store immediate) %u bytes\n" +msgstr "STO_IMM (armazenar imediato) %u bytes\n" + +#: vms-alpha.c:6280 +#, c-format +msgid "STO_GBL_LW (store global longword) %.*s\n" +msgstr "STO_GBL_LW (armazenar longword global) %.*s\n" + +#: vms-alpha.c:6284 +#, c-format +msgid "STO_OFF (store LP with procedure signature)\n" +msgstr "STO_OFF ( global LP com assinatura de procedimento)\n" + +#: vms-alpha.c:6287 +#, c-format +msgid "STO_BR_GBL (store branch global) *todo*\n" +msgstr "STO_BR_GBL ( global ramo global) *todo*\n" + +#: vms-alpha.c:6290 +#, c-format +msgid "STO_BR_PS (store branch psect + offset) *todo*\n" +msgstr "STO_BR_PS ( global ramo psect + desvio) *todo*\n" + +#: vms-alpha.c:6294 +#, c-format +msgid "OPR_NOP (no-operation)\n" +msgstr "OPR_NOP (sem-operação)\n" + +#: vms-alpha.c:6297 +#, c-format +msgid "OPR_ADD (add)\n" +msgstr "OPR_ADD (adicionar)\n" + +#: vms-alpha.c:6300 +#, c-format +msgid "OPR_SUB (subtract)\n" +msgstr "OPR_SUB (subtrair)\n" + +#: vms-alpha.c:6303 +#, c-format +msgid "OPR_MUL (multiply)\n" +msgstr "OPR_MUL (multiplicar)\n" + +#: vms-alpha.c:6306 +#, c-format +msgid "OPR_DIV (divide)\n" +msgstr "OPR_DIV (dividir)\n" + +#: vms-alpha.c:6309 +#, c-format +msgid "OPR_AND (logical and)\n" +msgstr "OPR_AND (e lógico)\n" + +#: vms-alpha.c:6312 +#, c-format +msgid "OPR_IOR (logical inclusive or)\n" +msgstr "OPR_IOR (ou inclusivo lógico)\n" + +#: vms-alpha.c:6315 +#, c-format +msgid "OPR_EOR (logical exclusive or)\n" +msgstr "OPR_EOR (ou exclusivo lógico)\n" + +#: vms-alpha.c:6318 +#, c-format +msgid "OPR_NEG (negate)\n" +msgstr "OPR_NEG (negar)\n" + +#: vms-alpha.c:6321 +#, c-format +msgid "OPR_COM (complement)\n" +msgstr "OPR_COM (complementar)\n" + +#: vms-alpha.c:6324 +#, c-format +msgid "OPR_INSV (insert field)\n" +msgstr "OPR_INSV (inserir campo)\n" + +#: vms-alpha.c:6327 +#, c-format +msgid "OPR_ASH (arithmetic shift)\n" +msgstr "OPR_ASH (mudança aritmética)\n" + +#: vms-alpha.c:6330 +#, c-format +msgid "OPR_USH (unsigned shift)\n" +msgstr "OPR_USH (mudança não assinada)\n" + +#: vms-alpha.c:6333 +#, c-format +msgid "OPR_ROT (rotate)\n" +msgstr "OPR_ROT (rodar)\n" + +#: vms-alpha.c:6336 +#, c-format +msgid "OPR_SEL (select)\n" +msgstr "OPR_SEL (seleccionar)\n" + +#: vms-alpha.c:6339 +#, c-format +msgid "OPR_REDEF (redefine symbol to curr location)\n" +msgstr "OPR_REDEF (redefinir símbolo para localização actual)\n" + +#: vms-alpha.c:6342 +#, c-format +msgid "OPR_REDEF (define a literal)\n" +msgstr "OPR_REDEF (definir um literal)\n" + +#: vms-alpha.c:6346 +#, c-format +msgid "STC_LP (store cond linkage pair)\n" +msgstr "STC_LP (armazenar par de ligação condicional)\n" + +#: vms-alpha.c:6350 +#, c-format +msgid "STC_LP_PSB (store cond linkage pair + signature)\n" +msgstr "STC_LP_PSB (armazenar par de ligação condicional + assinatura)\n" + +#: vms-alpha.c:6352 +#, c-format +msgid " linkage index: %u, procedure: %.*s\n" +msgstr " índice de ligaão: %u, procedimento: %.*s\n" + +#: vms-alpha.c:6355 +#, c-format +msgid " signature: %.*s\n" +msgstr " assinatura: %.*s\n" + +#: vms-alpha.c:6358 +#, c-format +msgid "STC_GBL (store cond global)\n" +msgstr "STC_GBL (armazenar global condicional)\n" + +#: vms-alpha.c:6360 +#, c-format +msgid " linkage index: %u, global: %.*s\n" +msgstr " índice de ligação: %u, global: %.*s\n" + +#: vms-alpha.c:6364 +#, c-format +msgid "STC_GCA (store cond code address)\n" +msgstr "STC_GCA (armazenar endereço de código condicional)\n" + +#: vms-alpha.c:6366 +#, c-format +msgid " linkage index: %u, procedure name: %.*s\n" +msgstr " índice de ligação: %u, nome do procedimento: %.*s\n" + +#: vms-alpha.c:6370 +#, c-format +msgid "STC_PS (store cond psect + offset)\n" +msgstr "STC_PS (armazenar psect condicional + desvio)\n" + +#: vms-alpha.c:6373 +#, c-format +msgid " linkage index: %u, psect: %u, offset: 0x%08x %08x\n" +msgstr " índice de ligação: %u, psect: %u, desvio: 0x%08x %08x\n" + +#: vms-alpha.c:6380 +#, c-format +msgid "STC_NOP_GBL (store cond NOP at global addr)\n" +msgstr "STC_NOP_GBL (armazenar NOP condicional em endereço global)\n" + +#: vms-alpha.c:6384 +#, c-format +msgid "STC_NOP_PS (store cond NOP at psect + offset)\n" +msgstr "STC_NOP_PS (armazenar NOP condicional em psect + desvio)\n" + +#: vms-alpha.c:6388 +#, c-format +msgid "STC_BSR_GBL (store cond BSR at global addr)\n" +msgstr "STC_BSR_GBL (armazenar BSR condicional em endereço global)\n" + +#: vms-alpha.c:6392 +#, c-format +msgid "STC_BSR_PS (store cond BSR at psect + offset)\n" +msgstr "STC_BSR_PS (armazenar BSR condicional em psect + desvio)\n" + +#: vms-alpha.c:6396 +#, c-format +msgid "STC_LDA_GBL (store cond LDA at global addr)\n" +msgstr "STC_LDA_GBL (armazenar LDA condicional em endereço global)\n" + +#: vms-alpha.c:6400 +#, c-format +msgid "STC_LDA_PS (store cond LDA at psect + offset)\n" +msgstr "STC_LDA_PS (armazenar LDA condicional em psect + desvio)\n" + +#: vms-alpha.c:6404 +#, c-format +msgid "STC_BOH_GBL (store cond BOH at global addr)\n" +msgstr "STC_BOH_GBL (armazenar BOH condicional em endereço global)\n" + +#: vms-alpha.c:6408 +#, c-format +msgid "STC_BOH_PS (store cond BOH at psect + offset)\n" +msgstr "STC_BOH_PS (armazenar BOH condicional em psect + desvio)\n" + +#: vms-alpha.c:6413 +#, c-format +msgid "STC_NBH_GBL (store cond or hint at global addr)\n" +msgstr "STC_NBH_GBL (armazenar condicional ou dica em endereço global)\n" + +#: vms-alpha.c:6417 +#, c-format +msgid "STC_NBH_PS (store cond or hint at psect + offset)\n" +msgstr "STC_NBH_PS (armazenar condicional ou dica em psect + desvio)\n" + +#: vms-alpha.c:6421 +#, c-format +msgid "CTL_SETRB (set relocation base)\n" +msgstr "CTL_SETRB (definir base de relocalização)\n" + +#: vms-alpha.c:6427 +#, c-format +msgid "CTL_AUGRB (augment relocation base) %u\n" +msgstr "CTL_AUGRB (aumentar base de relocalização) %u\n" + +#: vms-alpha.c:6431 +#, c-format +msgid "CTL_DFLOC (define location)\n" +msgstr "CTL_DFLOC (definir localização)\n" + +#: vms-alpha.c:6434 +#, c-format +msgid "CTL_STLOC (set location)\n" +msgstr "CTL_STLOC (definir localização)\n" + +#: vms-alpha.c:6437 +#, c-format +msgid "CTL_STKDL (stack defined location)\n" +msgstr "CTL_STKDL (localização definida por stack)\n" + +#: vms-alpha.c:6440 vms-alpha.c:6864 vms-alpha.c:6990 +#, c-format +msgid "*unhandled*\n" +msgstr "*não gerido*\n" + +#: vms-alpha.c:6470 vms-alpha.c:6509 +#, c-format +msgid "cannot read GST record length\n" +msgstr "impossível ler tamanho do registo GST\n" + +#. Ill-formed. +#: vms-alpha.c:6491 +#, c-format +msgid "cannot find EMH in first GST record\n" +msgstr "impossível encontrar EMH no primeiro registo GST\n" + +#: vms-alpha.c:6517 +#, c-format +msgid "cannot read GST record header\n" +msgstr "impossível ler cabeçalho de registo GST\n" + +#: vms-alpha.c:6530 +#, c-format +msgid " corrupted GST\n" +msgstr " GST corrompido\n" + +#: vms-alpha.c:6538 +#, c-format +msgid "cannot read GST record\n" +msgstr "impossível ler registo GST\n" + +#: vms-alpha.c:6567 +#, c-format +msgid " unhandled EOBJ record type %u\n" +msgstr " tipo de registo EOBJ %u não gerido\n" + +#: vms-alpha.c:6591 +#, c-format +msgid " bitcount: %u, base addr: 0x%08x\n" +msgstr " bitcount: %u, endereço base: 0x%08x\n" + +#: vms-alpha.c:6605 +#, c-format +msgid " bitmap: 0x%08x (count: %u):\n" +msgstr " bitmap: 0x%08x (total: %u):\n" + +#: vms-alpha.c:6612 +#, c-format +msgid " %08x" +msgstr " %08x" + +#: vms-alpha.c:6638 +#, c-format +msgid " image %u (%u entries)\n" +msgstr " imagem %u (%u entradas)\n" + +#: vms-alpha.c:6644 +#, c-format +msgid " offset: 0x%08x, val: 0x%08x\n" +msgstr " desvio: 0x%08x, val: 0x%08x\n" + +#: vms-alpha.c:6666 +#, c-format +msgid " image %u (%u entries), offsets:\n" +msgstr " imagem %u (%u entradas), desvios:\n" + +#: vms-alpha.c:6673 +#, c-format +msgid " 0x%08x" +msgstr " 0x%08x" + +#. 64 bits. +#: vms-alpha.c:6795 +#, c-format +msgid "64 bits *unhandled*\n" +msgstr "64 bits *não geridos*\n" + +#: vms-alpha.c:6800 +#, c-format +msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n" +msgstr "classe: %u, dtype: %u, tamanho: %u, ponteiro: 0x%08x\n" + +#: vms-alpha.c:6811 +#, c-format +msgid "non-contiguous array of %s\n" +msgstr "matriz não contínua de %s\n" + +#: vms-alpha.c:6816 +#, c-format +msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n" +msgstr "dimct: %u, aflags: 0x%02x, dígitos: %u, escala: %u\n" + +#: vms-alpha.c:6821 +#, c-format +msgid "arsize: %u, a0: 0x%08x\n" +msgstr "arsize: %u, a0: 0x%08x\n" + +#: vms-alpha.c:6825 +#, c-format +msgid "Strides:\n" +msgstr "Passos:\n" + +#: vms-alpha.c:6835 +#, c-format +msgid "Bounds:\n" +msgstr "Vínculos:\n" + +#: vms-alpha.c:6841 +#, c-format +msgid "[%u]: Lower: %u, upper: %u\n" +msgstr "[%u]: inferior: %u, superior: %u\n" + +#: vms-alpha.c:6853 +#, c-format +msgid "unaligned bit-string of %s\n" +msgstr "cadeia de bits não alinhada de %s\n" + +#: vms-alpha.c:6858 +#, c-format +msgid "base: %u, pos: %u\n" +msgstr "base: %u, pos: %u\n" + +#: vms-alpha.c:6879 +#, c-format +msgid "vflags: 0x%02x, value: 0x%08x " +msgstr "vflags: 0x%02x, valor: 0x%08x " + +#: vms-alpha.c:6885 +#, c-format +msgid "(no value)\n" +msgstr "(sem valor)\n" + +#: vms-alpha.c:6888 +#, c-format +msgid "(not active)\n" +msgstr "(não activo)\n" + +#: vms-alpha.c:6891 +#, c-format +msgid "(not allocated)\n" +msgstr "(não alocada)\n" + +#: vms-alpha.c:6894 +#, c-format +msgid "(descriptor)\n" +msgstr "(descritor)\n" + +#: vms-alpha.c:6898 +#, c-format +msgid "(trailing value)\n" +msgstr "(valor inicial)\n" + +#: vms-alpha.c:6901 +#, c-format +msgid "(value spec follows)\n" +msgstr "(spec de valor segue)\n" + +#: vms-alpha.c:6904 +#, c-format +msgid "(at bit offset %u)\n" +msgstr "(no desvio de bit %u)\n" + +#: vms-alpha.c:6908 +#, c-format +msgid "(reg: %u, disp: %u, indir: %u, kind: " +msgstr "(reg: %u, disp: %u, indir: %u, tipo: " + +#: vms-alpha.c:6915 +msgid "literal" +msgstr "literal" + +#: vms-alpha.c:6918 +msgid "address" +msgstr "endereço" + +#: vms-alpha.c:6921 +msgid "desc" +msgstr "desc" + +#: vms-alpha.c:6924 +msgid "reg" +msgstr "reg" + +#: vms-alpha.c:6941 +#, c-format +msgid "len: %2u, kind: %2u " +msgstr "tam: %2u, tipo: %2u " + +#: vms-alpha.c:6947 +#, c-format +msgid "atomic, type=0x%02x %s\n" +msgstr "atómico, tipo=0x%02x %s\n" + +#: vms-alpha.c:6951 +#, c-format +msgid "indirect, defined at 0x%08x\n" +msgstr "indirecto, definido em 0x%08x\n" + +#: vms-alpha.c:6955 +#, c-format +msgid "typed pointer\n" +msgstr "ponteiro com tipo\n" + +#: vms-alpha.c:6959 +#, c-format +msgid "pointer\n" +msgstr "ponteiro\n" + +#: vms-alpha.c:6967 +#, c-format +msgid "array, dim: %u, bitmap: " +msgstr "matriz, dim: %u, bitmap: " + +#: vms-alpha.c:6974 +#, c-format +msgid "array descriptor:\n" +msgstr "descritor de matriz:\n" + +#: vms-alpha.c:6981 +#, c-format +msgid "type spec for element:\n" +msgstr "tipo de spec para elemento:\n" + +#: vms-alpha.c:6983 +#, c-format +msgid "type spec for subscript %u:\n" +msgstr "tipo de spec para subscrito %u:\n" + +#: vms-alpha.c:7001 +#, c-format +msgid "Debug symbol table:\n" +msgstr "Tabela de símbolos de depuração:\n" + +#: vms-alpha.c:7012 +#, c-format +msgid "cannot read DST header\n" +msgstr "impossível ler cabeçalho DST\n" + +#: vms-alpha.c:7018 +#, c-format +msgid " type: %3u, len: %3u (at 0x%08x): " +msgstr " tipo: %3u, tam: %3u (em 0x%08x): " + +#: vms-alpha.c:7032 +#, c-format +msgid "cannot read DST symbol\n" +msgstr "impossível ler símbolo DST\n" + +#: vms-alpha.c:7075 +#, c-format +msgid "standard data: %s\n" +msgstr "dados standard: %s\n" + +#: vms-alpha.c:7078 vms-alpha.c:7166 +#, c-format +msgid " name: %.*s\n" +msgstr " nome: %.*s\n" + +#: vms-alpha.c:7085 +#, c-format +msgid "modbeg\n" +msgstr "modbeg\n" + +#: vms-alpha.c:7087 +#, c-format +msgid " flags: %d, language: %u, major: %u, minor: %u\n" +msgstr " bands: %d, linguagem: %u, principal: %u, menor: %u\n" + +#: vms-alpha.c:7093 vms-alpha.c:7367 +#, c-format +msgid " module name: %.*s\n" +msgstr " nome módulo: %.*s\n" + +#: vms-alpha.c:7096 +#, c-format +msgid " compiler : %.*s\n" +msgstr " compilador : %.*s\n" + +#: vms-alpha.c:7101 +#, c-format +msgid "modend\n" +msgstr "modend\n" + +#: vms-alpha.c:7108 +msgid "rtnbeg\n" +msgstr "rtnbeg\n" + +#: vms-alpha.c:7110 +#, c-format +msgid " flags: %u, address: 0x%08x, pd-address: 0x%08x\n" +msgstr " bands: %u, endereço: 0x%08x, endereço pd: 0x%08x\n" + +#: vms-alpha.c:7115 +#, c-format +msgid " routine name: %.*s\n" +msgstr " nome da rotina: %.*s\n" + +#: vms-alpha.c:7123 +#, c-format +msgid "rtnend: size 0x%08x\n" +msgstr "rtnend: tamanho 0x%08x\n" + +#: vms-alpha.c:7131 +#, c-format +msgid "prolog: bkpt address 0x%08x\n" +msgstr "prólogo: bkpt endereço 0x%08x\n" + +#: vms-alpha.c:7140 +#, c-format +msgid "epilog: flags: %u, count: %u\n" +msgstr "epílogo: bandeiras: %u, total: %u\n" + +#: vms-alpha.c:7150 +#, c-format +msgid "blkbeg: address: 0x%08x, name: %.*s\n" +msgstr "blkbeg: endereço: 0x%08x, nome: %.*s\n" + +#: vms-alpha.c:7159 +#, c-format +msgid "blkend: size: 0x%08x\n" +msgstr "blkend: tamanho: 0x%08x\n" + +#: vms-alpha.c:7165 +#, c-format +msgid "typspec (len: %u)\n" +msgstr "typspec (tam: %u)\n" + +#: vms-alpha.c:7172 +#, c-format +msgid "septyp, name: %.*s\n" +msgstr "septyp, nome: %.*s\n" + +#: vms-alpha.c:7181 +#, c-format +msgid "recbeg: name: %.*s\n" +msgstr "recbeg: nome: %.*s\n" + +#: vms-alpha.c:7183 +#, c-format +msgid " len: %u bits\n" +msgstr " tam: %u bits\n" + +#: vms-alpha.c:7188 +#, c-format +msgid "recend\n" +msgstr "recend\n" + +#: vms-alpha.c:7192 +#, c-format +msgid "enumbeg, len: %u, name: %.*s\n" +msgstr "enumbeg, tam: %u, nome: %.*s\n" + +#: vms-alpha.c:7196 +#, c-format +msgid "enumelt, name: %.*s\n" +msgstr "enumelt, nome: %.*s\n" + +#: vms-alpha.c:7200 +#, c-format +msgid "enumend\n" +msgstr "enumend\n" + +#: vms-alpha.c:7205 +#, c-format +msgid "label, name: %.*s\n" +msgstr "etiqueta, nome: %.*s\n" + +#: vms-alpha.c:7207 +#, c-format +msgid " address: 0x%08x\n" +msgstr " endereço: 0x%08x\n" + +#: vms-alpha.c:7217 +#, c-format +msgid "discontiguous range (nbr: %u)\n" +msgstr "intervalo descontínuo (nr: %u)\n" + +#: vms-alpha.c:7220 +#, c-format +msgid " address: 0x%08x, size: %u\n" +msgstr " endereço: 0x%08x, tamanho: %u\n" + +#: vms-alpha.c:7230 +#, c-format +msgid "line num (len: %u)\n" +msgstr "nº linha (tam: %u)\n" + +#: vms-alpha.c:7247 +#, c-format +msgid "delta_pc_w %u\n" +msgstr "delta_pc_w %u\n" + +#: vms-alpha.c:7254 +#, c-format +msgid "incr_linum(b): +%u\n" +msgstr "incr_linum(b): +%u\n" + +#: vms-alpha.c:7260 +#, c-format +msgid "incr_linum_w: +%u\n" +msgstr "incr_linum_w: +%u\n" + +#: vms-alpha.c:7266 +#, c-format +msgid "incr_linum_l: +%u\n" +msgstr "incr_linum_l: +%u\n" + +#: vms-alpha.c:7272 +#, c-format +msgid "set_line_num(w) %u\n" +msgstr "set_line_num(w) %u\n" + +#: vms-alpha.c:7277 +#, c-format +msgid "set_line_num_b %u\n" +msgstr "set_line_num_b %u\n" + +#: vms-alpha.c:7282 +#, c-format +msgid "set_line_num_l %u\n" +msgstr "set_line_num_l %u\n" + +#: vms-alpha.c:7287 +#, c-format +msgid "set_abs_pc: 0x%08x\n" +msgstr "set_abs_pc: 0x%08x\n" + +#: vms-alpha.c:7291 +#, c-format +msgid "delta_pc_l: +0x%08x\n" +msgstr "delta_pc_l: +0x%08x\n" + +#: vms-alpha.c:7296 +#, c-format +msgid "term(b): 0x%02x" +msgstr "term(b): 0x%02x" + +#: vms-alpha.c:7298 +#, c-format +msgid " pc: 0x%08x\n" +msgstr " pc: 0x%08x\n" + +#: vms-alpha.c:7303 +#, c-format +msgid "term_w: 0x%04x" +msgstr "term_w: 0x%04x" + +#: vms-alpha.c:7305 +#, c-format +msgid " pc: 0x%08x\n" +msgstr " pc: 0x%08x\n" + +#: vms-alpha.c:7311 +#, c-format +msgid "delta pc +%-4d" +msgstr "delta pc +%-4d" + +#: vms-alpha.c:7315 +#, c-format +msgid " pc: 0x%08x line: %5u\n" +msgstr " pc: 0x%08x line: %5u\n" + +#: vms-alpha.c:7320 +#, c-format +msgid " *unhandled* cmd %u\n" +msgstr " cmd *não gerido* %u\n" + +#: vms-alpha.c:7335 +#, c-format +msgid "source (len: %u)\n" +msgstr "fonte (tam: %u)\n" + +#: vms-alpha.c:7350 +#, c-format +msgid " declfile: len: %u, flags: %u, fileid: %u\n" +msgstr " declfile: tam: %u, bands: %u, idfich: %u\n" + +#: vms-alpha.c:7355 +#, c-format +msgid " rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n" +msgstr " rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n" + +#: vms-alpha.c:7364 +#, c-format +msgid " filename : %.*s\n" +msgstr " nomeficheiro: %.*s\n" + +#: vms-alpha.c:7373 +#, c-format +msgid " setfile %u\n" +msgstr " setfile %u\n" + +#: vms-alpha.c:7378 vms-alpha.c:7383 +#, c-format +msgid " setrec %u\n" +msgstr " setrec %u\n" + +#: vms-alpha.c:7388 vms-alpha.c:7393 +#, c-format +msgid " setlnum %u\n" +msgstr " setlnum %u\n" + +#: vms-alpha.c:7398 vms-alpha.c:7403 +#, c-format +msgid " deflines %u\n" +msgstr " deflines %u\n" + +#: vms-alpha.c:7407 +#, c-format +msgid " formfeed\n" +msgstr " formfeed\n" + +#: vms-alpha.c:7411 +#, c-format +msgid " *unhandled* cmd %u\n" +msgstr " cmd *não gerido* %u\n" + +#: vms-alpha.c:7423 +#, c-format +msgid "*unhandled* dst type %u\n" +msgstr "tipo DST *não gerido* %u\n" + +#: vms-alpha.c:7455 +#, c-format +msgid "cannot read EIHD\n" +msgstr "impossível ler EIHD\n" + +#: vms-alpha.c:7459 +#, c-format +msgid "EIHD: (size: %u, nbr blocks: %u)\n" +msgstr "EIHD: (tamanho: %u, nº blocos: %u)\n" + +#: vms-alpha.c:7463 +#, c-format +msgid " majorid: %u, minorid: %u\n" +msgstr " majorid: %u, minorid: %u\n" + +#: vms-alpha.c:7471 +msgid "executable" +msgstr "executável" + +#: vms-alpha.c:7474 +msgid "linkable image" +msgstr "imagem ligável" + +#: vms-alpha.c:7481 +#, c-format +msgid " image type: %u (%s)" +msgstr " tipo de imagem: %u (%s)" + +#: vms-alpha.c:7487 +msgid "native" +msgstr "nativo" + +#: vms-alpha.c:7490 +msgid "CLI" +msgstr "CLI" + +#: vms-alpha.c:7497 +#, c-format +msgid ", subtype: %u (%s)\n" +msgstr ", sub-tipo: %u (%s)\n" + +#: vms-alpha.c:7504 +#, c-format +msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n" +msgstr " desvios: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n" + +#: vms-alpha.c:7508 +#, c-format +msgid " fixup info rva: " +msgstr " fixup info rva: " + +#: vms-alpha.c:7510 +#, c-format +msgid ", symbol vector rva: " +msgstr ", vector símbolo rva: " + +#: vms-alpha.c:7513 +#, c-format +msgid "" +"\n" +" version array off: %u\n" +msgstr "" +"\n" +" matriz de versão off: %u\n" + +#: vms-alpha.c:7518 +#, c-format +msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n" +msgstr " total img I/O: %u, nº canais: %u, req pri: %08x%08x\n" + +#: vms-alpha.c:7524 +#, c-format +msgid " linker flags: %08x:" +msgstr " bands linker: %08x:" + +#: vms-alpha.c:7555 +#, c-format +msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n" +msgstr " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n" + +#: vms-alpha.c:7561 +#, c-format +msgid " BPAGE: %u" +msgstr " BPAGE: %u" + +#: vms-alpha.c:7568 +#, c-format +msgid ", ext fixup offset: %u, no_opt psect off: %u" +msgstr ", desvio ext fixup: %u, no_opt psect off: %u" + +#: vms-alpha.c:7571 +#, c-format +msgid ", alias: %u\n" +msgstr ", aliás: %u\n" + +#: vms-alpha.c:7579 +#, c-format +msgid "system version array information:\n" +msgstr "informação da matriz de versão do sistema:\n" + +#: vms-alpha.c:7583 +#, c-format +msgid "cannot read EIHVN header\n" +msgstr "impossível ler cabeçalho EIHVN\n" + +#: vms-alpha.c:7593 +#, c-format +msgid "cannot read EIHVN version\n" +msgstr "impossível ler versão EIHVN\n" + +#: vms-alpha.c:7596 +#, c-format +msgid " %02u " +msgstr " %02u " + +#: vms-alpha.c:7600 +msgid "BASE_IMAGE " +msgstr "BASE_IMAGE " + +#: vms-alpha.c:7603 +msgid "MEMORY_MANAGEMENT" +msgstr "MEMORY_MANAGEMENT" + +#: vms-alpha.c:7606 +msgid "IO " +msgstr "IO " + +#: vms-alpha.c:7609 +msgid "FILES_VOLUMES " +msgstr "FILES_VOLUMES " + +#: vms-alpha.c:7612 +msgid "PROCESS_SCHED " +msgstr "PROCESS_SCHED " + +#: vms-alpha.c:7615 +msgid "SYSGEN " +msgstr "SYSGEN " + +#: vms-alpha.c:7618 +msgid "CLUSTERS_LOCKMGR " +msgstr "CLUSTERS_LOCKMGR " + +#: vms-alpha.c:7621 +msgid "LOGICAL_NAMES " +msgstr "LOGICAL_NAMES " + +#: vms-alpha.c:7624 +msgid "SECURITY " +msgstr "SECURITY " + +#: vms-alpha.c:7627 +msgid "IMAGE_ACTIVATOR " +msgstr "IMAGE_ACTIVATOR " + +#: vms-alpha.c:7630 +msgid "NETWORKS " +msgstr "NETWORKS " + +#: vms-alpha.c:7633 +msgid "COUNTERS " +msgstr "COUNTERS " + +#: vms-alpha.c:7636 +msgid "STABLE " +msgstr "STABLE " + +#: vms-alpha.c:7639 +msgid "MISC " +msgstr "MISC " + +#: vms-alpha.c:7642 +msgid "CPU " +msgstr "CPU " + +#: vms-alpha.c:7645 +msgid "VOLATILE " +msgstr "VOLATILE " + +#: vms-alpha.c:7648 +msgid "SHELL " +msgstr "SHELL " + +#: vms-alpha.c:7651 +msgid "POSIX " +msgstr "POSIX " + +#: vms-alpha.c:7654 +msgid "MULTI_PROCESSING " +msgstr "MULTI_PROCESSING " + +#: vms-alpha.c:7657 +msgid "GALAXY " +msgstr "GALAXY " + +#: vms-alpha.c:7660 +msgid "*unknown* " +msgstr "*desconhecido* " + +#: vms-alpha.c:7676 vms-alpha.c:7951 +#, c-format +msgid "cannot read EIHA\n" +msgstr "impossível ler EIHA\n" + +#: vms-alpha.c:7679 +#, c-format +msgid "Image activation: (size=%u)\n" +msgstr "Activação da imagem: (tam=%u)\n" + +#: vms-alpha.c:7682 +#, c-format +msgid " First address : 0x%08x 0x%08x\n" +msgstr " 1º endereço: 0x%08x 0x%08x\n" + +#: vms-alpha.c:7686 +#, c-format +msgid " Second address: 0x%08x 0x%08x\n" +msgstr " 2º endereço: 0x%08x 0x%08x\n" + +#: vms-alpha.c:7690 +#, c-format +msgid " Third address : 0x%08x 0x%08x\n" +msgstr " 3º endereço: 0x%08x 0x%08x\n" + +#: vms-alpha.c:7694 +#, c-format +msgid " Fourth address: 0x%08x 0x%08x\n" +msgstr " 4º endereço: 0x%08x 0x%08x\n" + +#: vms-alpha.c:7698 +#, c-format +msgid " Shared image : 0x%08x 0x%08x\n" +msgstr " Imagem partilhada: 0x%08x 0x%08x\n" + +#: vms-alpha.c:7709 +#, c-format +msgid "cannot read EIHI\n" +msgstr "impossível ler EIHI\n" + +#: vms-alpha.c:7713 +#, c-format +msgid "Image identification: (major: %u, minor: %u)\n" +msgstr "Identificação da imagem: (principal: %u, menor: %u)\n" + +#: vms-alpha.c:7716 +#, c-format +msgid " image name : %.*s\n" +msgstr " nome da imagem : %.*s\n" + +#: vms-alpha.c:7718 +#, c-format +msgid " link time : %s\n" +msgstr " hora de ligação : %s\n" + +#: vms-alpha.c:7720 +#, c-format +msgid " image ident : %.*s\n" +msgstr " ident imagem : %.*s\n" + +#: vms-alpha.c:7722 +#, c-format +msgid " linker ident : %.*s\n" +msgstr " ident linker : %.*s\n" + +#: vms-alpha.c:7724 +#, c-format +msgid " image build ident: %.*s\n" +msgstr " ident build imagem: %.*s\n" + +#: vms-alpha.c:7734 +#, c-format +msgid "cannot read EIHS\n" +msgstr "impossível ler EIHS\n" + +#: vms-alpha.c:7738 +#, c-format +msgid "Image symbol & debug table: (major: %u, minor: %u)\n" +msgstr "Tabela de símbolo de imagem e depuração: (principal: %u, menor: %u)\n" + +#: vms-alpha.c:7744 +#, c-format +msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n" +msgstr " tabela de símbolo de depuração : vbn: %u, tamanho: %u (0x%x)\n" + +#: vms-alpha.c:7749 +#, c-format +msgid " global symbol table: vbn: %u, records: %u\n" +msgstr " tabela de símbolo global: vbn: %u, registos: %u\n" + +#: vms-alpha.c:7754 +#, c-format +msgid " debug module table : vbn: %u, size: %u\n" +msgstr " tabela de módulo de depuração: vbn: %u, tamanho: %u\n" + +#: vms-alpha.c:7767 +#, c-format +msgid "cannot read EISD\n" +msgstr "impossível ler EISD\n" + +#: vms-alpha.c:7778 +#, c-format +msgid "Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n" +msgstr "Descritor de secção de imagem: (principal: %u, menor: %u, tamanho: %u, desvio: %u)\n" + +#: vms-alpha.c:7786 +#, c-format +msgid " section: base: 0x%08x%08x size: 0x%08x\n" +msgstr " secção: base: 0x%08x%08x tamanho: 0x%08x\n" + +#: vms-alpha.c:7791 +#, c-format +msgid " flags: 0x%04x" +msgstr " bandeiras: 0x%04x" + +#: vms-alpha.c:7829 +#, c-format +msgid " vbn: %u, pfc: %u, matchctl: %u type: %u (" +msgstr " vbn: %u, pfc: %u, matchctl: %u tipo: %u (" + +#: vms-alpha.c:7835 +msgid "NORMAL" +msgstr "NORMAL" + +#: vms-alpha.c:7838 +msgid "SHRFXD" +msgstr "SHRFXD" + +#: vms-alpha.c:7841 +msgid "PRVFXD" +msgstr "PRVFXD" + +#: vms-alpha.c:7844 +msgid "SHRPIC" +msgstr "SHRPIC" + +#: vms-alpha.c:7847 +msgid "PRVPIC" +msgstr "PRVPIC" + +#: vms-alpha.c:7850 +msgid "USRSTACK" +msgstr "USRSTACK" + +#: vms-alpha.c:7856 +msgid ")\n" +msgstr ")\n" + +#: vms-alpha.c:7859 +#, c-format +msgid " ident: 0x%08x, name: %.*s\n" +msgstr " ident: 0x%08x, nome: %.*s\n" + +#: vms-alpha.c:7869 +#, c-format +msgid "cannot read DMT\n" +msgstr "impossível ler DMT\n" + +#: vms-alpha.c:7873 +#, c-format +msgid "Debug module table:\n" +msgstr "Tabela de módulo de depuração:\n" + +#: vms-alpha.c:7882 +#, c-format +msgid "cannot read DMT header\n" +msgstr "impossível ler cabeçalho DMT\n" + +#: vms-alpha.c:7888 +#, c-format +msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n" +msgstr " desvio do módulo: 0x%08x, tamanho: 0x%08x, (%u psects)\n" + +#: vms-alpha.c:7898 +#, c-format +msgid "cannot read DMT psect\n" +msgstr "impossível ler psect DMT\n" + +#: vms-alpha.c:7902 +#, c-format +msgid " psect start: 0x%08x, length: %u\n" +msgstr " início psect: 0x%08x, tamanho: %u\n" + +#: vms-alpha.c:7915 +#, c-format +msgid "cannot read DST\n" +msgstr "impossível ler DST\n" + +#: vms-alpha.c:7925 +#, c-format +msgid "cannot read GST\n" +msgstr "impossível ler GST\n" + +#: vms-alpha.c:7929 +#, c-format +msgid "Global symbol table:\n" +msgstr "Tabela de símbolo global:\n" + +#: vms-alpha.c:7958 +#, c-format +msgid "Image activator fixup: (major: %u, minor: %u)\n" +msgstr "Fixup do activador de imagem: (principal: %u, menor: %u)\n" + +#: vms-alpha.c:7962 +#, c-format +msgid " iaflink : 0x%08x %08x\n" +msgstr " iaflink : 0x%08x %08x\n" + +#: vms-alpha.c:7966 +#, c-format +msgid " fixuplnk: 0x%08x %08x\n" +msgstr " fixuplnk: 0x%08x %08x\n" + +#: vms-alpha.c:7969 +#, c-format +msgid " size : %u\n" +msgstr " tamanho: %u\n" + +#: vms-alpha.c:7971 +#, c-format +msgid " flags: 0x%08x\n" +msgstr " bandeiras: 0x%08x\n" + +#: vms-alpha.c:7976 +#, c-format +msgid " qrelfixoff: %5u, lrelfixoff: %5u\n" +msgstr " qrelfixoff: %5u, lrelfixoff: %5u\n" + +#: vms-alpha.c:7981 +#, c-format +msgid " qdotadroff: %5u, ldotadroff: %5u\n" +msgstr " qdotadroff: %5u, ldotadroff: %5u\n" + +#: vms-alpha.c:7986 +#, c-format +msgid " codeadroff: %5u, lpfixoff : %5u\n" +msgstr " codeadroff: %5u, lpfixoff : %5u\n" + +#: vms-alpha.c:7989 +#, c-format +msgid " chgprtoff : %5u\n" +msgstr " chgprtoff : %5u\n" + +#: vms-alpha.c:7993 +#, c-format +msgid " shlstoff : %5u, shrimgcnt : %5u\n" +msgstr " shlstoff : %5u, shrimgcnt : %5u\n" + +#: vms-alpha.c:7996 +#, c-format +msgid " shlextra : %5u, permctx : %5u\n" +msgstr " shlextra : %5u, permctx : %5u\n" + +#: vms-alpha.c:7999 +#, c-format +msgid " base_va : 0x%08x\n" +msgstr " base_va : 0x%08x\n" + +#: vms-alpha.c:8001 +#, c-format +msgid " lppsbfixoff: %5u\n" +msgstr " lppsbfixoff: %5u\n" + +#: vms-alpha.c:8009 +#, c-format +msgid " Shareable images:\n" +msgstr " Imagens partilháveis:\n" + +#: vms-alpha.c:8014 +#, c-format +msgid " %u: size: %u, flags: 0x%02x, name: %.*s\n" +msgstr " %u: tam.: %u, bands: 0x%02x, nome: %.*s\n" + +#: vms-alpha.c:8021 +#, c-format +msgid " quad-word relocation fixups:\n" +msgstr " fixups de relocalização de quad-word:\n" + +#: vms-alpha.c:8026 +#, c-format +msgid " long-word relocation fixups:\n" +msgstr " fixups de relocalização de long-word:\n" + +#: vms-alpha.c:8031 +#, c-format +msgid " quad-word .address reference fixups:\n" +msgstr " fixups de referência de .address de quad-word:\n" + +#: vms-alpha.c:8036 +#, c-format +msgid " long-word .address reference fixups:\n" +msgstr " fixups de referência de .address de long-word:\n" + +#: vms-alpha.c:8041 +#, c-format +msgid " Code Address Reference Fixups:\n" +msgstr " Fixups de referência de endereço de código:\n" + +#: vms-alpha.c:8046 +#, c-format +msgid " Linkage Pairs Reference Fixups:\n" +msgstr "Fixups de referência de pares de ligação:\n" + +#: vms-alpha.c:8055 +#, c-format +msgid " Change Protection (%u entries):\n" +msgstr " Alterar protecção (%u entradas):\n" + +#: vms-alpha.c:8061 +#, c-format +msgid " base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x " +msgstr " base: 0x%08x %08x, tam.: 0x%08x, prot: 0x%08x " + +#. FIXME: we do not yet support relocatable link. It is not obvious +#. how to do it for debug infos. +#: vms-alpha.c:8901 +msgid "%P: relocatable link is not supported\n" +msgstr "%P: ligação relocalizável não suportada\n" + +#: vms-alpha.c:8972 +#, c-format +msgid "%P: multiple entry points: in modules %B and %B\n" +msgstr "%P: múltiplos pontos de entrada: nos módulos %B e %B\n" + +#: vms-lib.c:1445 +#, c-format +msgid "could not open shared image '%s' from '%s'" +msgstr "impossível abrir imagem partilhada \"%s\" de \"%s\"" + +#: vms-misc.c:361 +msgid "_bfd_vms_output_counted called with zero bytes" +msgstr "_bfd_vms_output_counted chamado com zero bytes" + +#: vms-misc.c:366 +msgid "_bfd_vms_output_counted called with too many bytes" +msgstr "_bfd_vms_output_counted chamado com demasiados bytes" + +#: xcofflink.c:832 +msgid "%B: XCOFF shared object when not producing XCOFF output" +msgstr "%B: objecto partilhado XCOFF sem produzir saída XCOFF" + +#: xcofflink.c:853 +msgid "%B: dynamic object with no .loader section" +msgstr "%B: objecto dinâmico sem secção .loader" + +#: xcofflink.c:1413 +#, c-format +msgid "%B: `%s' has line numbers but no enclosing section" +msgstr "%B: \"%s\" tem números de linha mas sem secção envolvente" + +#: xcofflink.c:1466 +#, c-format +msgid "%B: class %d symbol `%s' has no aux entries" +msgstr "%B: classe %d símbolo \"%s\" não tem entradas aux" + +#: xcofflink.c:1489 +#, c-format +msgid "%B: symbol `%s' has unrecognized csect type %d" +msgstr "%B: símbolo \"%s\" tem tipo csect %d não reconhecido" + +#: xcofflink.c:1502 +#, c-format +msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %Ld" +msgstr "%B: mau símbolo XTY_ER \"%s\": classe %d scnum %d scnlen %Ld" + +#: xcofflink.c:1532 +#, c-format +msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %Ld" +msgstr "%B: XMC_TC0 símbolo \"%s\" é classe %d scnlen %Ld" + +#: xcofflink.c:1679 +#, c-format +msgid "%B: csect `%s' not in enclosing section" +msgstr "%B: csect \"%s\" não está em secção envolvente" + +#: xcofflink.c:1787 +#, c-format +msgid "%B: misplaced XTY_LD `%s'" +msgstr "%B: XTY_LD \"%s\" mal colocado" + +#: xcofflink.c:2108 +#, c-format +msgid "%B: reloc %s:%Ld not in csect" +msgstr "%B: reloc %s:%Ld fora de csect" + +#: xcofflink.c:3198 +#, c-format +msgid "%s: no such symbol" +msgstr "%s: sem tal símbolo" + +#: xcofflink.c:3303 +#, c-format +msgid "warning: attempt to export undefined symbol `%s'" +msgstr "aviso: tentativa de exportar símbolo \"%s\" indefinido" + +#: xcofflink.c:3682 +msgid "error: undefined symbol __rtinit" +msgstr "erro: símbolo __rtinit indefinido" + +#: xcofflink.c:4062 +#, c-format +msgid "%B: loader reloc in unrecognized section `%s'" +msgstr "%B: reloc loader em secção \"%s\" não reconhecida" + +#: xcofflink.c:4074 +#, c-format +msgid "%B: `%s' in loader reloc but not loader sym" +msgstr "%B: \"%s\" em reloc loader mas sem símbolo loader" + +#: xcofflink.c:4091 +#, c-format +msgid "%B: loader reloc in read-only section %A" +msgstr "%B: reloc loader em secção só de leitura %A" + +#: xcofflink.c:5115 +#, c-format +msgid "TOC overflow: %#Lx > 0x10000; try -mminimal-toc when compiling" +msgstr "Transporte TOC: %#Lx > 0x10000; tente -mminimal-toc ao compilar" + +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:1890 +#, c-format +msgid "Invalid AArch64 reloc number: %d" +msgstr "Número de reloc AArch64 inválido: %d" + +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:4779 +msgid "%B: error: Erratum 835769 stub out of range (input file too large)" +msgstr "%B: erro: Erratum 835769 fictício fora do intervalo (ficheiro de entrada muito grande)" + +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:4860 +msgid "%B: error: Erratum 843419 stub out of range (input file too large)" +msgstr "%B: erro: Erratum 843419 fictício fora do intervalo (ficheiro de entrada muito grande)" + +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5366 +#, c-format +msgid "%B: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC" +msgstr "%B: relocalização %s contra símbolo \"%s\" que pode ligar externamente não pode ser usada ao fazer um objecto partilhado; recompile com -fPIC" + +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:5457 +#, c-format +msgid "%B: Local symbol descriptor table be NULL when applying relocation %s against local symbol" +msgstr "%B: tabela de descritor de símbolo local é NULL ao aplicar relocalização %s contra símbolo local" + +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6479 +msgid "Too many GOT entries for -fpic, please recompile with -fPIC" +msgstr "Demasiadas entradas GOT para -fpic, recompile com -fPIC" + +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:6507 +msgid "One possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined." +msgstr "Uma causa possível deste erro é o símbolo ser referenciado no código indicado como se tivesse um alinhamento maior do que aquele que foi declarado na definição." + +#: /work/sources/binutils/branches/2.30/bfd/elfnn-aarch64.c:7084 +#, c-format +msgid "%B: relocation %s against `%s' can not be used when making a shared object" +msgstr "%B: relocalização %s contra \"%s\" não pode ser usada ao fazer um objecto partilhado" + +#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2570 +msgid "" +"%B: ABI is incompatible with that of the selected emulation:\n" +" target emulation `%s' does not match `%s'" +msgstr "" +"%B: ABI é incompatível com aquele da emulação seleccionada:\n" +" emulação alvo \"%s\" não corresponde a \"%s\"" + +#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:2590 +msgid "%B: can't link hard-float modules with soft-float modules" +msgstr "%B: impossível ligar módulos hard-float com módulos soft-float" + +#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:3070 +msgid "%B(%A+0x%lx): %d bytes required for alignment to %d-byte boundary, but only %d present" +msgstr "%B(%A+0x%lx): %d bytes requeridos para alinhamento com limite %d-byte, mas só há %d presentes" + +#: /work/sources/binutils/branches/2.30/bfd/elfnn-riscv.c:3136 +msgid "%B(%A+0x%lx): Unable to clear RISCV_PCREL_HI20 relocfor cooresponding RISCV_PCREL_LO12 reloc" +msgstr "%B(%A+0x%lx): impossível limpar RISCV_PCREL_HI20 relocfor corespondente a reloc RISCV_PCREL_LO12" + +#: peigen.c:157 pepigen.c:157 pex64igen.c:157 +msgid "%B: unable to find name for empty section" +msgstr "%B: impossível encontrar nome para secção vazia" + +#: peigen.c:183 pepigen.c:183 pex64igen.c:183 +msgid "%B: out of memory creating name for empty section" +msgstr "%B: sem memória ao criar nome para secção vazia" + +#: peigen.c:194 pepigen.c:194 pex64igen.c:194 +msgid "%B: unable to create fake empty section" +msgstr "%B: impossível criar secção vazia falsa" + +#: peigen.c:532 pepigen.c:532 pex64igen.c:532 +msgid "%B: aout header specifies an invalid number of data-directory entries: %ld" +msgstr "%B: cabeçalho aout especifica um número inválido de entradas data-directory: %ld" + +#: peigen.c:1089 pepigen.c:1089 pex64igen.c:1089 +#, c-format +msgid "%B: line number overflow: 0x%lx > 0xffff" +msgstr "%B: transporte de nº de linha: 0x%lx > 0xffff" + +#: peigen.c:1233 pepigen.c:1233 pex64igen.c:1233 +msgid "Export Directory [.edata (or where ever we found it)]" +msgstr "Pasta de exportação [.edata (ou onde o encontrámos)]" + +#: peigen.c:1234 pepigen.c:1234 pex64igen.c:1234 +msgid "Import Directory [parts of .idata]" +msgstr "Pasta de importação [partes de .idata]" + +#: peigen.c:1235 pepigen.c:1235 pex64igen.c:1235 +msgid "Resource Directory [.rsrc]" +msgstr "Pasta de recursos [.rsrc]" + +#: peigen.c:1236 pepigen.c:1236 pex64igen.c:1236 +msgid "Exception Directory [.pdata]" +msgstr "Pasta de excepções [.pdata]" + +#: peigen.c:1237 pepigen.c:1237 pex64igen.c:1237 +msgid "Security Directory" +msgstr "Pasta de segurança" + +#: peigen.c:1238 pepigen.c:1238 pex64igen.c:1238 +msgid "Base Relocation Directory [.reloc]" +msgstr "Pasta de relocalização base [.reloc]" + +#: peigen.c:1239 pepigen.c:1239 pex64igen.c:1239 +msgid "Debug Directory" +msgstr "Pasta de depuração" + +#: peigen.c:1240 pepigen.c:1240 pex64igen.c:1240 +msgid "Description Directory" +msgstr "Pasta de descrição" + +#: peigen.c:1241 pepigen.c:1241 pex64igen.c:1241 +msgid "Special Directory" +msgstr "Pasta especial" + +#: peigen.c:1242 pepigen.c:1242 pex64igen.c:1242 +msgid "Thread Storage Directory [.tls]" +msgstr "Pasta de armazenamento de Thread [.tls]" + +#: peigen.c:1243 pepigen.c:1243 pex64igen.c:1243 +msgid "Load Configuration Directory" +msgstr "Pasta de configuração de carregamento" + +#: peigen.c:1244 pepigen.c:1244 pex64igen.c:1244 +msgid "Bound Import Directory" +msgstr "Pasta de importação vinculada" + +#: peigen.c:1245 pepigen.c:1245 pex64igen.c:1245 +msgid "Import Address Table Directory" +msgstr "Pasta de tabela de endereços de importação" + +#: peigen.c:1246 pepigen.c:1246 pex64igen.c:1246 +msgid "Delay Import Directory" +msgstr "Pasta de atraso de importação" + +#: peigen.c:1247 pepigen.c:1247 pex64igen.c:1247 +msgid "CLR Runtime Header" +msgstr "Cabeçalho de execução CLR" + +#: peigen.c:1248 pepigen.c:1248 pex64igen.c:1248 +msgid "Reserved" +msgstr "Reservado" + +#: peigen.c:1308 pepigen.c:1308 pex64igen.c:1308 +#, c-format +msgid "" +"\n" +"There is an import table, but the section containing it could not be found\n" +msgstr "" +"\n" +"Há uma tabela de importação, mas a secção que a contém não pôde ser encontrada\n" + +#: peigen.c:1314 pepigen.c:1314 pex64igen.c:1314 +#, c-format +msgid "" +"\n" +"There is an import table in %s, but that section has no contents\n" +msgstr "" +"\n" +"Há uma tabela de importação em %s, mas essa secção não tem conteúdo\n" + +#: peigen.c:1321 pepigen.c:1321 pex64igen.c:1321 +#, c-format +msgid "" +"\n" +"There is an import table in %s at 0x%lx\n" +msgstr "" +"\n" +"Há uma tabela de importação em %s em 0x%lx\n" + +#: peigen.c:1363 pepigen.c:1363 pex64igen.c:1363 +#, c-format +msgid "" +"\n" +"Function descriptor located at the start address: %04lx\n" +msgstr "" +"\n" +"Descritor de função localizado no endereço inicial: %04lx\n" + +#: peigen.c:1367 pepigen.c:1367 pex64igen.c:1367 +#, c-format +msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n" +msgstr "\tcode-base %08lx toc (carregável/actual) %08lx/%08lx\n" + +#: peigen.c:1375 pepigen.c:1375 pex64igen.c:1375 +#, c-format +msgid "" +"\n" +"No reldata section! Function descriptor not decoded.\n" +msgstr "" +"\n" +"Sem secção reldata! Descritor de função não descodificado.\n" + +#: peigen.c:1380 pepigen.c:1380 pex64igen.c:1380 +#, c-format +msgid "" +"\n" +"The Import Tables (interpreted %s section contents)\n" +msgstr "" +"\n" +"As tabelas de importação (interpretado %s conteúdo de secção)\n" + +#: peigen.c:1383 pepigen.c:1383 pex64igen.c:1383 +#, c-format +msgid "" +" vma: Hint Time Forward DLL First\n" +" Table Stamp Chain Name Thunk\n" +msgstr "" +" vma: Dica Hora Avanço DLL Prim.\n" +" Tabela Selo Cadeia Nome Thunk\n" + +#: peigen.c:1433 pepigen.c:1433 pex64igen.c:1433 +#, c-format +msgid "" +"\n" +"\tDLL Name: %.*s\n" +msgstr "" +"\n" +"\tNome DLL: %.*s\n" + +#: peigen.c:1449 pepigen.c:1449 pex64igen.c:1449 +#, c-format +msgid "\tvma: Hint/Ord Member-Name Bound-To\n" +msgstr "\tvma: Dica/Ord Nome-membro ligado a\n" + +#: peigen.c:1474 pepigen.c:1474 pex64igen.c:1474 +#, c-format +msgid "" +"\n" +"There is a first thunk, but the section containing it could not be found\n" +msgstr "" +"\n" +"Há um primeiro thunk, mas a secção que o contém não pôde ser encontrada\n" + +#: peigen.c:1518 peigen.c:1557 pepigen.c:1518 pepigen.c:1557 pex64igen.c:1518 +#: pex64igen.c:1557 +#, c-format +msgid "\t" +msgstr "\t" + +#: peigen.c:1650 pepigen.c:1650 pex64igen.c:1650 +#, c-format +msgid "" +"\n" +"There is an export table, but the section containing it could not be found\n" +msgstr "" +"\n" +"Há uma tabela de exportação, mas a secção que a contém não pôde ser encontrada\n" + +#: peigen.c:1656 pepigen.c:1656 pex64igen.c:1656 +#, c-format +msgid "" +"\n" +"There is an export table in %s, but that section has no contents\n" +msgstr "" +"\n" +"Há uma tabela de exportação em %s, mas essa secção não tem conteúdo\n" + +#: peigen.c:1666 pepigen.c:1666 pex64igen.c:1666 +#, c-format +msgid "" +"\n" +"There is an export table in %s, but it does not fit into that section\n" +msgstr "" +"\n" +"Há uma tabela de exportação em %s, mas não serve nessa secção\n" + +#: peigen.c:1677 pepigen.c:1677 pex64igen.c:1677 +#, c-format +msgid "" +"\n" +"There is an export table in %s, but it is too small (%d)\n" +msgstr "" +"\n" +"Há uma tabela de exportação em %s, mas é demasiado pequena (%d)\n" + +#: peigen.c:1683 pepigen.c:1683 pex64igen.c:1683 +#, c-format +msgid "" +"\n" +"There is an export table in %s at 0x%lx\n" +msgstr "" +"\n" +"Há uma tabela de exportação em %s em 0x%lx\n" + +#: peigen.c:1711 pepigen.c:1711 pex64igen.c:1711 +#, c-format +msgid "" +"\n" +"The Export Tables (interpreted %s section contents)\n" +"\n" +msgstr "" +"\n" +"As tabelas de exportação (interpretado %s conteúdo de secção)\n" +"\n" + +#: peigen.c:1715 pepigen.c:1715 pex64igen.c:1715 +#, c-format +msgid "Export Flags \t\t\t%lx\n" +msgstr "Bandeiras de exportação \t\t\t%lx\n" + +#: peigen.c:1718 pepigen.c:1718 pex64igen.c:1718 +#, c-format +msgid "Time/Date stamp \t\t%lx\n" +msgstr "Selo Hora/Data \t\t%lx\n" + +#: peigen.c:1722 pepigen.c:1722 pex64igen.c:1722 +#, c-format +msgid "Major/Minor \t\t\t%d/%d\n" +msgstr "Principal/Menor \t\t\t%d/%d\n" + +#: peigen.c:1725 pepigen.c:1725 pex64igen.c:1725 +#, c-format +msgid "Name \t\t\t\t" +msgstr "Nome \t\t\t\t" + +#: peigen.c:1736 pepigen.c:1736 pex64igen.c:1736 +#, c-format +msgid "Ordinal Base \t\t\t%ld\n" +msgstr "Base ordinal \t\t\t%ld\n" + +#: peigen.c:1739 pepigen.c:1739 pex64igen.c:1739 +#, c-format +msgid "Number in:\n" +msgstr "Número em:\n" + +#: peigen.c:1742 pepigen.c:1742 pex64igen.c:1742 +#, c-format +msgid "\tExport Address Table \t\t%08lx\n" +msgstr "\tTabela end. exportação \t\t%08lx\n" + +#: peigen.c:1746 pepigen.c:1746 pex64igen.c:1746 +#, c-format +msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n" +msgstr "\t[Nome Ponteiro/Ordinal] Tabela\t%08lx\n" + +#: peigen.c:1749 pepigen.c:1749 pex64igen.c:1749 +#, c-format +msgid "Table Addresses\n" +msgstr "Endereços da tabela\n" + +#: peigen.c:1752 pepigen.c:1752 pex64igen.c:1752 +#, c-format +msgid "\tExport Address Table \t\t" +msgstr "\tTabela end. exportação \t\t" + +#: peigen.c:1757 pepigen.c:1757 pex64igen.c:1757 +#, c-format +msgid "\tName Pointer Table \t\t" +msgstr "\tTabela Nome Ponteiro \t\t" + +#: peigen.c:1762 pepigen.c:1762 pex64igen.c:1762 +#, c-format +msgid "\tOrdinal Table \t\t\t" +msgstr "\tTabela ordinal \t\t\t" + +#: peigen.c:1776 pepigen.c:1776 pex64igen.c:1776 +#, c-format +msgid "" +"\n" +"Export Address Table -- Ordinal Base %ld\n" +msgstr "" +"\n" +"Tabela end. exportação -- Base ordinal %ld\n" + +#: peigen.c:1785 pepigen.c:1785 pex64igen.c:1785 +#, c-format +msgid "\tInvalid Export Address Table rva (0x%lx) or entry count (0x%lx)\n" +msgstr "\trva de tabela de end. de exportação (0x%lx) ou total de entradas (0x%lx) inválidos\n" + +#: peigen.c:1804 pepigen.c:1804 pex64igen.c:1804 +msgid "Forwarder RVA" +msgstr "Reencaminhador RVA" + +#: peigen.c:1816 pepigen.c:1816 pex64igen.c:1816 +msgid "Export RVA" +msgstr "Exportação RVA" + +#: peigen.c:1823 pepigen.c:1823 pex64igen.c:1823 +#, c-format +msgid "" +"\n" +"[Ordinal/Name Pointer] Table\n" +msgstr "" +"\n" +"Tabela [Ordinal/Nome Ponteiro]\n" + +#: peigen.c:1831 pepigen.c:1831 pex64igen.c:1831 +#, c-format +msgid "\tInvalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)\n" +msgstr "\trva de tabela de ponteiro de nome (0x%lx) ou total de entradas (0x%lx) inválidos\n" + +#: peigen.c:1838 pepigen.c:1838 pex64igen.c:1838 +#, c-format +msgid "\tInvalid Ordinal Table rva (0x%lx) or entry count (0x%lx)\n" +msgstr "\trva de tabela ordinal (0x%lx) ou total de entradas (0x%lx) inválidos\n" + +#: peigen.c:1852 pepigen.c:1852 pex64igen.c:1852 +#, c-format +msgid "\t[%4ld] \n" +msgstr "\t[%4ld] \n" + +#: peigen.c:1906 peigen.c:2103 pepigen.c:1906 pepigen.c:2103 pex64igen.c:1906 +#: pex64igen.c:2103 +#, c-format +msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n" +msgstr "Aviso, .tamanho da secção pdata (%ld) não é múltiplo de %d\n" + +#: peigen.c:1910 peigen.c:2107 pepigen.c:1910 pepigen.c:2107 pex64igen.c:1910 +#: pex64igen.c:2107 +#, c-format +msgid "" +"\n" +"The Function Table (interpreted .pdata section contents)\n" +msgstr "" +"\n" +"A tabela de função (interpretado conteúdo de secção .pdata)\n" + +#: peigen.c:1913 pepigen.c:1913 pex64igen.c:1913 +#, c-format +msgid " vma:\t\t\tBegin Address End Address Unwind Info\n" +msgstr " vma:\t\t\tEnd. inicial End. final Info Unwind\n" + +#: peigen.c:1915 pepigen.c:1915 pex64igen.c:1915 +#, c-format +msgid "" +" vma:\t\tBegin End EH EH PrologEnd Exception\n" +" \t\tAddress Address Handler Data Address Mask\n" +msgstr "" +" vma:\t\tInício Fim EH EH PrólogFim Excepção\n" +" \t\tEndereço Endereço Gestor Dados Endereço Máscara\n" + +#: peigen.c:1928 pepigen.c:1928 pex64igen.c:1928 +#, c-format +msgid "Virtual size of .pdata section (%ld) larger than real size (%ld)\n" +msgstr "Tamanho virtual da secção .pdata (%ld) maior que o tamanho real (%ld)\n" + +#: peigen.c:1998 pepigen.c:1998 pex64igen.c:1998 +#, c-format +msgid " Register save millicode" +msgstr " Register save millicode" + +#: peigen.c:2001 pepigen.c:2001 pex64igen.c:2001 +#, c-format +msgid " Register restore millicode" +msgstr " Register restore millicode" + +#: peigen.c:2004 pepigen.c:2004 pex64igen.c:2004 +#, c-format +msgid " Glue code sequence" +msgstr " Colar sequência de código" + +#: peigen.c:2109 pepigen.c:2109 pex64igen.c:2109 +#, c-format +msgid "" +" vma:\t\tBegin Prolog Function Flags Exception EH\n" +" \t\tAddress Length Length 32b exc Handler Data\n" +msgstr "" +" vma:\t\tInício Prólogo Função Bands Excepção EH\n" +" \t\tEndereço Tam. Tam. 32b exc Gestor Dados\n" + +#: peigen.c:2231 pepigen.c:2231 pex64igen.c:2231 +#, c-format +msgid "" +"\n" +"\n" +"PE File Base Relocations (interpreted .reloc section contents)\n" +msgstr "" +"\n" +"\n" +"Relocalizações base de ficheiros PE (interpretado conteúdo de secção .reloc)\n" + +#: peigen.c:2261 pepigen.c:2261 pex64igen.c:2261 +#, c-format +msgid "" +"\n" +"Virtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld\n" +msgstr "" +"\n" +"Endereço virtual: %08lx, tamanho do pedaço %ld (0x%lx), número de fixups %ld\n" + +#: peigen.c:2279 pepigen.c:2279 pex64igen.c:2279 +#, c-format +msgid "\treloc %4d offset %4x [%4lx] %s" +msgstr "\treloc %4d desvio %4x [%4lx] %s" + +#: peigen.c:2340 pepigen.c:2340 pex64igen.c:2340 +#, c-format +msgid "%03x %*.s Entry: " +msgstr "%03x %*.s Entrada: " + +#: peigen.c:2364 pepigen.c:2364 pex64igen.c:2364 +#, c-format +msgid "name: [val: %08lx len %d]: " +msgstr "nome: [val: %08lx tam %d]: " + +#: peigen.c:2384 pepigen.c:2384 pex64igen.c:2384 +#, c-format +msgid "\n" +msgstr "\n" + +#: peigen.c:2394 pepigen.c:2394 pex64igen.c:2394 +#, c-format +msgid "\n" +msgstr "\n" + +#: peigen.c:2399 pepigen.c:2399 pex64igen.c:2399 +#, c-format +msgid "ID: %#08lx" +msgstr "ID: %#08lx" + +#: peigen.c:2402 pepigen.c:2402 pex64igen.c:2402 +#, c-format +msgid ", Value: %#08lx\n" +msgstr ", Valor: %#08lx\n" + +#: peigen.c:2424 pepigen.c:2424 pex64igen.c:2424 +#, c-format +msgid "%03x %*.s Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d\n" +msgstr "%03x %*.s Folha: End.: %#08lx, Tamanho: %#08lx, Codepage: %d\n" + +#: peigen.c:2466 pepigen.c:2466 pex64igen.c:2466 +#, c-format +msgid "\n" +msgstr "\n" + +#: peigen.c:2474 pepigen.c:2474 pex64igen.c:2474 +#, c-format +msgid " Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d\n" +msgstr " Tabela: Car.: %d, Hora: %08lx, Ver: %d/%d, Nomes Núm: %d, IDs: %d\n" + +#: peigen.c:2563 pepigen.c:2563 pex64igen.c:2563 +#, c-format +msgid "Corrupt .rsrc section detected!\n" +msgstr "Secção .rsrc corrompida detectada!\n" + +#: peigen.c:2587 pepigen.c:2587 pex64igen.c:2587 +#, c-format +msgid "" +"\n" +"WARNING: Extra data in .rsrc section - it will be ignored by Windows:\n" +msgstr "" +"\n" +"AVISO: dados extra em secção .rsrc - será ignorada pelo Windows:\n" + +#: peigen.c:2593 pepigen.c:2593 pex64igen.c:2593 +#, c-format +msgid " String table starts at offset: %#03x\n" +msgstr " Tabela de cadeia começa no desvio: %#03x\n" + +#: peigen.c:2596 pepigen.c:2596 pex64igen.c:2596 +#, c-format +msgid " Resources start at offset: %#03x\n" +msgstr " Recursos começam no desvio: %#03x\n" + +#: peigen.c:2648 pepigen.c:2648 pex64igen.c:2648 +#, c-format +msgid "" +"\n" +"There is a debug directory, but the section containing it could not be found\n" +msgstr "" +"\n" +"Há uma pasta de depuração, mas a secção que a contém não pôde ser encontrada\n" + +#: peigen.c:2654 pepigen.c:2654 pex64igen.c:2654 +#, c-format +msgid "" +"\n" +"There is a debug directory in %s, but that section has no contents\n" +msgstr "" +"\n" +"Há uma pasta de depuração em %s, mas essa secção não tem conteúdo\n" + +#: peigen.c:2661 pepigen.c:2661 pex64igen.c:2661 +#, c-format +msgid "" +"\n" +"Error: section %s contains the debug data starting address but it is too small\n" +msgstr "" +"\n" +"Erro: secção %s contém o endereço dos dados de depuração, mas é muito pequena\n" + +#: peigen.c:2666 pepigen.c:2666 pex64igen.c:2666 +#, c-format +msgid "" +"\n" +"There is a debug directory in %s at 0x%lx\n" +"\n" +msgstr "" +"\n" +"Há uma pasta de depuração em %s em 0x%lx\n" +"\n" + +#: peigen.c:2673 pepigen.c:2673 pex64igen.c:2673 +#, c-format +msgid "The debug data size field in the data directory is too big for the section" +msgstr "O campo de tamanho dos dados de depuração na pasta de dados é demasiado grande para a secção" + +#: peigen.c:2678 pepigen.c:2678 pex64igen.c:2678 +#, c-format +msgid "Type Size Rva Offset\n" +msgstr "Tipo Tam. Rva Desvio\n" + +#: peigen.c:2726 pepigen.c:2726 pex64igen.c:2726 +#, c-format +msgid "(format %c%c%c%c signature %s age %ld)\n" +msgstr "(formato %c%c%c%c assinatura %s idade %ld)\n" + +#: peigen.c:2734 pepigen.c:2734 pex64igen.c:2734 +#, c-format +msgid "The debug directory size is not a multiple of the debug directory entry size\n" +msgstr "O tamanho da pasta de depuração não é múltiplo do tamanho da entrada da pasta de depuração\n" + +#. The MS dumpbin program reportedly ands with 0xff0f before +#. printing the characteristics field. Not sure why. No reason to +#. emulate it here. +#: peigen.c:2754 pepigen.c:2754 pex64igen.c:2754 +#, c-format +msgid "" +"\n" +"Characteristics 0x%x\n" +msgstr "" +"\n" +"Características 0x%x\n" + +#: peigen.c:2989 pepigen.c:2989 pex64igen.c:2989 +#, c-format +msgid "%B: Data Directory size (%lx) exceeds space left in section (%Lx)" +msgstr "%B: tamanho da pasta de dados (%lx) excede o espaço deixado na secção (%Lx)" + +#: peigen.c:3019 pepigen.c:3019 pex64igen.c:3019 +msgid "Failed to update file offsets in debug directory" +msgstr "Falha ao actualizar desvios de ficheiro na pasta de depuração" + +#: peigen.c:3025 pepigen.c:3025 pex64igen.c:3025 +msgid "%B: Failed to read debug data section" +msgstr "%B: falha ao ler secção de dados de depuração" + +#: peigen.c:3841 pepigen.c:3841 pex64igen.c:3841 +#, c-format +msgid ".rsrc merge failure: duplicate string resource: %d" +msgstr "falha de união .rsrc: recurso de cadeia duplicado: %d" + +#: peigen.c:3976 pepigen.c:3976 pex64igen.c:3976 +msgid ".rsrc merge failure: multiple non-default manifests" +msgstr "falha de união .rsrc: múltiplos manifestos não-predefinidos" + +#: peigen.c:3994 pepigen.c:3994 pex64igen.c:3994 +msgid ".rsrc merge failure: a directory matches a leaf" +msgstr "falha de união .rsrc: uma pasta corresponde a uma folha" + +#: peigen.c:4036 pepigen.c:4036 pex64igen.c:4036 +msgid ".rsrc merge failure: duplicate leaf" +msgstr "falha de união .rsrc: folha duplicada" + +#: peigen.c:4038 pepigen.c:4038 pex64igen.c:4038 +#, c-format +msgid ".rsrc merge failure: duplicate leaf: %s" +msgstr "falha de união .rsrc: folha duplicada: %s" + +#: peigen.c:4104 pepigen.c:4104 pex64igen.c:4104 +msgid ".rsrc merge failure: dirs with differing characteristics\n" +msgstr "falha de união .rsrc: pastas com características diferentes\n" + +#: peigen.c:4111 pepigen.c:4111 pex64igen.c:4111 +msgid ".rsrc merge failure: differing directory versions\n" +msgstr "falha de união .rsrc: versões de pasta diferentes\n" + +#. Corrupted .rsrc section - cannot merge. +#: peigen.c:4228 pepigen.c:4228 pex64igen.c:4228 +msgid "%B: .rsrc merge failure: corrupt .rsrc section" +msgstr "%B: falha de união .rsrc: secção .rsrc corrupta" + +#: peigen.c:4236 pepigen.c:4236 pex64igen.c:4236 +msgid "%B: .rsrc merge failure: unexpected .rsrc size" +msgstr "%B: falha de união .rsrc: tamanho .rsrc inesperado" + +#: peigen.c:4375 pepigen.c:4375 pex64igen.c:4375 +msgid "%B: unable to fill in DataDictionary[1] because .idata$2 is missing" +msgstr "%B: impossível preencher DataDictionary[1] porque .idata$2 está em falta" + +#: peigen.c:4395 pepigen.c:4395 pex64igen.c:4395 +msgid "%B: unable to fill in DataDictionary[1] because .idata$4 is missing" +msgstr "%B: impossível preencher DataDictionary[1] porque .idata$4 está em falta" + +#: peigen.c:4416 pepigen.c:4416 pex64igen.c:4416 +msgid "%B: unable to fill in DataDictionary[12] because .idata$5 is missing" +msgstr "%B: impossível preencher DataDictionary[12] porque .idata$5 está em falta" + +#: peigen.c:4436 pepigen.c:4436 pex64igen.c:4436 +msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing" +msgstr "%B: impossível preencher DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] porque .idata$6 está em falta" + +#: peigen.c:4478 pepigen.c:4478 pex64igen.c:4478 +msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing" +msgstr "%B: impossível preencher DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] porque .idata$6 está em falta" + +#: peigen.c:4503 pepigen.c:4503 pex64igen.c:4503 +msgid "%B: unable to fill in DataDictionary[9] because __tls_used is missing" +msgstr "%B: impossível preencher DataDictionary[9] porque __tls_used está em falta" diff -Nru binutils-2.30.51.20180512/bfd/po/SRC-POTFILES.in binutils-2.30.52.20180613/bfd/po/SRC-POTFILES.in --- binutils-2.30.51.20180512/bfd/po/SRC-POTFILES.in 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/po/SRC-POTFILES.in 2018-06-04 21:27:35.000000000 +0200 @@ -98,6 +98,7 @@ cpu-rl78.c cpu-rs6000.c cpu-rx.c +cpu-s12z.c cpu-s390.c cpu-score.c cpu-sh.c @@ -185,6 +186,7 @@ elf32-pru.c elf32-rl78.c elf32-rx.c +elf32-s12z.c elf32-s390.c elf32-score.c elf32-score7.c diff -Nru binutils-2.30.51.20180512/bfd/ppcboot.c binutils-2.30.52.20180613/bfd/ppcboot.c --- binutils-2.30.51.20180512/bfd/ppcboot.c 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/ppcboot.c 2018-06-04 21:27:35.000000000 +0200 @@ -460,6 +460,7 @@ #define ppcboot_section_already_linked \ _bfd_generic_section_already_linked #define ppcboot_bfd_define_common_symbol bfd_generic_define_common_symbol +#define ppcboot_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define ppcboot_bfd_define_start_stop bfd_generic_define_start_stop #define ppcboot_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define ppcboot_bfd_link_add_symbols _bfd_generic_link_add_symbols diff -Nru binutils-2.30.51.20180512/bfd/reloc.c binutils-2.30.52.20180613/bfd/reloc.c --- binutils-2.30.51.20180512/bfd/reloc.c 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/reloc.c 2018-06-04 21:27:35.000000000 +0200 @@ -431,6 +431,7 @@ { switch (howto->size) { + case 5: return 3; case 0: return 1; case 1: return 2; case 2: return 4; @@ -917,6 +918,16 @@ switch (howto->size) { + case 5: + { + long x = bfd_get_32 (abfd, (bfd_byte *) data + octets); + x >>= 8; + DOIT (x); + bfd_put_16 (abfd, (bfd_vma) (x >> 8), (bfd_byte *) data + octets); + bfd_put_8 (abfd, (x & 0xFF), (unsigned char *) data + 2 + octets); + } + break; + case 0: { char x = bfd_get_8 (abfd, (char *) data + octets); @@ -5949,6 +5960,12 @@ This is the 8 bit high part of an absolute address and immediately follows a matching LO8XG part. ENUM + BFD_RELOC_S12Z_15_PCREL +ENUMDOC + Freescale S12Z reloc. + This is a 15 bit relative address. If the most significant bits are all zero + then it may be truncated to 8 bits. +ENUM BFD_RELOC_16C_NUM08 ENUMX BFD_RELOC_16C_NUM08_C diff -Nru binutils-2.30.51.20180512/bfd/section.c binutils-2.30.52.20180613/bfd/section.c --- binutils-2.30.51.20180512/bfd/section.c 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/section.c 2018-05-16 15:49:14.000000000 +0200 @@ -820,21 +820,21 @@ return TRUE; } -static unsigned int section_id = 0x10; /* id 0 to 3 used by STD_SECTION. */ +unsigned int _bfd_section_id = 0x10; /* id 0 to 3 used by STD_SECTION. */ /* Initializes a new section. NEWSECT->NAME is already set. */ static asection * bfd_section_init (bfd *abfd, asection *newsect) { - newsect->id = section_id; + newsect->id = _bfd_section_id; newsect->index = abfd->section_count; newsect->owner = abfd; if (! BFD_SEND (abfd, _new_section_hook, (abfd, newsect))) return NULL; - section_id++; + _bfd_section_id++; abfd->section_count++; bfd_section_list_append (abfd, newsect); return newsect; @@ -1285,23 +1285,6 @@ } /* -FUNCTION - bfd_get_next_section_id - -SYNOPSIS - int bfd_get_next_section_id (void); - -DESCRIPTION - Returns the id that the next section created will have. -*/ - -int -bfd_get_next_section_id (void) -{ - return section_id; -} - -/* FUNCTION bfd_set_section_flags diff -Nru binutils-2.30.51.20180512/bfd/som.c binutils-2.30.52.20180613/bfd/som.c --- binutils-2.30.51.20180512/bfd/som.c 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/som.c 2018-06-04 21:27:35.000000000 +0200 @@ -6759,6 +6759,7 @@ #define som_bfd_discard_group bfd_generic_discard_group #define som_section_already_linked _bfd_generic_section_already_linked #define som_bfd_define_common_symbol bfd_generic_define_common_symbol +#define som_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define som_bfd_define_start_stop bfd_generic_define_start_stop #define som_bfd_merge_private_bfd_data _bfd_generic_bfd_merge_private_bfd_data #define som_bfd_copy_private_header_data _bfd_generic_bfd_copy_private_header_data diff -Nru binutils-2.30.51.20180512/bfd/srec.c binutils-2.30.52.20180613/bfd/srec.c --- binutils-2.30.51.20180512/bfd/srec.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/srec.c 2018-06-04 21:27:35.000000000 +0200 @@ -1278,6 +1278,7 @@ #define srec_bfd_discard_group bfd_generic_discard_group #define srec_section_already_linked _bfd_generic_section_already_linked #define srec_bfd_define_common_symbol bfd_generic_define_common_symbol +#define srec_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define srec_bfd_define_start_stop bfd_generic_define_start_stop #define srec_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define srec_bfd_link_add_symbols _bfd_generic_link_add_symbols diff -Nru binutils-2.30.51.20180512/bfd/sysdep.h binutils-2.30.52.20180613/bfd/sysdep.h --- binutils-2.30.51.20180512/bfd/sysdep.h 2018-01-05 03:08:28.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/sysdep.h 2018-06-13 10:31:38.000000000 +0200 @@ -108,6 +108,10 @@ #ifndef O_ACCMODE #define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) #endif +/* Systems that don't already define this, don't need it. */ +#ifndef O_BINARY +#define O_BINARY 0 +#endif #ifndef SEEK_SET #define SEEK_SET 0 diff -Nru binutils-2.30.51.20180512/bfd/targets.c binutils-2.30.52.20180613/bfd/targets.c --- binutils-2.30.51.20180512/bfd/targets.c 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/targets.c 2018-06-04 21:27:35.000000000 +0200 @@ -465,6 +465,7 @@ . NAME##_bfd_discard_group, \ . NAME##_section_already_linked, \ . NAME##_bfd_define_common_symbol, \ +. NAME##_bfd_link_hide_symbol, \ . NAME##_bfd_define_start_stop . . int (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *); @@ -531,6 +532,10 @@ . bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *, . struct bfd_link_hash_entry *); . +. {* Hide a symbol. *} +. void (*_bfd_link_hide_symbol) (bfd *, struct bfd_link_info *, +. struct bfd_link_hash_entry *); +. . {* Define a __start, __stop, .startof. or .sizeof. symbol. *} . struct bfd_link_hash_entry * . (*_bfd_define_start_stop) (struct bfd_link_info *, const char *, @@ -684,6 +689,7 @@ extern const bfd_target m68hc11_elf32_vec; extern const bfd_target m68hc12_elf32_vec; extern const bfd_target m68k_elf32_vec; +extern const bfd_target s12z_elf32_vec; extern const bfd_target mach_o_be_vec; extern const bfd_target mach_o_le_vec; extern const bfd_target mach_o_fat_vec; @@ -1044,6 +1050,8 @@ &m68k_elf32_vec, + &s12z_elf32_vec, + &mach_o_be_vec, &mach_o_le_vec, &mach_o_fat_vec, @@ -1108,7 +1116,9 @@ &nds32_elf32_linux_be_vec, &nds32_elf32_linux_le_vec, +#ifdef BFD64 &nfp_elf64_vec, +#endif &nios2_elf32_be_vec, &nios2_elf32_le_vec, diff -Nru binutils-2.30.51.20180512/bfd/tekhex.c binutils-2.30.52.20180613/bfd/tekhex.c --- binutils-2.30.51.20180512/bfd/tekhex.c 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/tekhex.c 2018-06-04 21:27:35.000000000 +0200 @@ -981,6 +981,7 @@ #define tekhex_bfd_discard_group bfd_generic_discard_group #define tekhex_section_already_linked _bfd_generic_section_already_linked #define tekhex_bfd_define_common_symbol bfd_generic_define_common_symbol +#define tekhex_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define tekhex_bfd_define_start_stop bfd_generic_define_start_stop #define tekhex_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define tekhex_bfd_link_add_symbols _bfd_generic_link_add_symbols diff -Nru binutils-2.30.51.20180512/bfd/version.h binutils-2.30.52.20180613/bfd/version.h --- binutils-2.30.51.20180512/bfd/version.h 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/bfd/version.h 2018-06-13 10:31:38.000000000 +0200 @@ -16,7 +16,7 @@ In releases, the date is not included in either version strings or sonames. */ -#define BFD_VERSION_DATE 20180512 +#define BFD_VERSION_DATE 20180613 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ diff -Nru binutils-2.30.51.20180512/bfd/version.m4 binutils-2.30.52.20180613/bfd/version.m4 --- binutils-2.30.51.20180512/bfd/version.m4 2018-01-21 08:26:09.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/version.m4 2018-06-04 21:27:35.000000000 +0200 @@ -1 +1 @@ -m4_define([BFD_VERSION], [2.30.51]) +m4_define([BFD_VERSION], [2.30.52]) diff -Nru binutils-2.30.51.20180512/bfd/vms-alpha.c binutils-2.30.52.20180613/bfd/vms-alpha.c --- binutils-2.30.51.20180512/bfd/vms-alpha.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/vms-alpha.c 2018-06-04 21:27:35.000000000 +0200 @@ -9498,6 +9498,7 @@ #define vms_bfd_discard_group bfd_generic_discard_group #define vms_section_already_linked _bfd_generic_section_already_linked #define vms_bfd_define_common_symbol bfd_generic_define_common_symbol +#define vms_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define vms_bfd_define_start_stop bfd_generic_define_start_stop #define vms_bfd_copy_private_header_data _bfd_generic_bfd_copy_private_header_data @@ -9545,6 +9546,7 @@ _bfd_generic_section_already_linked #define alpha_vms_bfd_define_common_symbol bfd_generic_define_common_symbol +#define alpha_vms_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define alpha_vms_bfd_define_start_stop bfd_generic_define_start_stop #define alpha_vms_bfd_link_just_syms _bfd_generic_link_just_syms #define alpha_vms_bfd_copy_link_hash_symbol_type \ diff -Nru binutils-2.30.51.20180512/bfd/xsym.c binutils-2.30.52.20180613/bfd/xsym.c --- binutils-2.30.51.20180512/bfd/xsym.c 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/bfd/xsym.c 2018-06-04 21:27:35.000000000 +0200 @@ -51,6 +51,7 @@ #define bfd_sym_bfd_discard_group bfd_generic_discard_group #define bfd_sym_section_already_linked _bfd_generic_section_already_linked #define bfd_sym_bfd_define_common_symbol bfd_generic_define_common_symbol +#define bfd_sym_bfd_link_hide_symbol _bfd_generic_link_hide_symbol #define bfd_sym_bfd_define_start_stop bfd_generic_define_start_stop #define bfd_sym_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define bfd_sym_bfd_link_add_symbols _bfd_generic_link_add_symbols diff -Nru binutils-2.30.51.20180512/binutils/ar.c binutils-2.30.52.20180613/binutils/ar.c --- binutils-2.30.51.20180512/binutils/ar.c 2018-01-05 03:08:28.000000000 +0100 +++ binutils-2.30.52.20180613/binutils/ar.c 2018-06-04 21:27:35.000000000 +0200 @@ -75,6 +75,9 @@ /* Nonzero means describe each action performed. */ int verbose = 0; +/* Nonzero means display offsets of files in the archive. */ +int display_offsets = 0; + /* Nonzero means preserve dates of members when extracting them. */ int preserve_dates = 0; @@ -268,13 +271,13 @@ #if BFD_SUPPORTS_PLUGINS /* xgettext:c-format */ const char *command_line - = _("Usage: %s [emulation options] [-]{dmpqrstx}[abcDfilMNoPsSTuvV]" + = _("Usage: %s [emulation options] [-]{dmpqrstx}[abcDfilMNoOPsSTuvV]" " [--plugin ] [member-name] [count] archive-file file...\n"); #else /* xgettext:c-format */ const char *command_line - = _("Usage: %s [emulation options] [-]{dmpqrstx}[abcDfilMNoPsSTuvV]" + = _("Usage: %s [emulation options] [-]{dmpqrstx}[abcDfilMNoOPsSTuvV]" " [member-name] [count] archive-file file...\n"); #endif s = help ? stdout : stderr; @@ -290,7 +293,7 @@ fprintf (s, _(" q[f] - quick append file(s) to the archive\n")); fprintf (s, _(" r[ab][f][u] - replace existing or insert new file(s) into the archive\n")); fprintf (s, _(" s - act as ranlib\n")); - fprintf (s, _(" t - display contents of archive\n")); + fprintf (s, _(" t[O][v] - display contents of the archive\n")); fprintf (s, _(" x[o] - extract file(s) from the archive\n")); fprintf (s, _(" command specific modifiers:\n")); fprintf (s, _(" [a] - put file(s) after [member-name]\n")); @@ -313,6 +316,7 @@ fprintf (s, _(" [f] - truncate inserted file names\n")); fprintf (s, _(" [P] - use full path names when matching\n")); fprintf (s, _(" [o] - preserve original dates\n")); + fprintf (s, _(" [O] - display offsets of files in the archive\n")); fprintf (s, _(" [u] - only replace files that are newer than current archive contents\n")); fprintf (s, _(" generic modifiers:\n")); fprintf (s, _(" [c] - do not warn if the library had to be created\n")); @@ -473,7 +477,7 @@ argv = new_argv; } - while ((c = getopt_long (argc, argv, "hdmpqrtxlcoVsSuvabiMNfPTDU", + while ((c = getopt_long (argc, argv, "hdmpqrtxlcoOVsSuvabiMNfPTDU", long_options, NULL)) != EOF) { switch (c) @@ -528,6 +532,9 @@ case 'o': preserve_dates = 1; break; + case 'O': + display_offsets = 1; + break; case 'V': show_version = TRUE; break; @@ -1503,5 +1510,5 @@ static void print_descr (bfd *abfd) { - print_arelt_descr (stdout, abfd, verbose); + print_arelt_descr (stdout, abfd, verbose, display_offsets); } diff -Nru binutils-2.30.51.20180512/binutils/arsup.c binutils-2.30.52.20180613/binutils/arsup.c --- binutils-2.30.51.20180512/binutils/arsup.c 2018-01-05 03:08:28.000000000 +0100 +++ binutils-2.30.52.20180613/binutils/arsup.c 2018-06-04 21:27:35.000000000 +0200 @@ -96,7 +96,7 @@ static void ar_directory_doer (bfd *abfd, bfd *ignore ATTRIBUTE_UNUSED) { - print_arelt_descr(outfile, abfd, verbose); + print_arelt_descr(outfile, abfd, verbose, FALSE); } void diff -Nru binutils-2.30.51.20180512/binutils/bucomm.c binutils-2.30.52.20180613/binutils/bucomm.c --- binutils-2.30.51.20180512/binutils/bucomm.c 2018-01-05 03:08:28.000000000 +0100 +++ binutils-2.30.52.20180613/binutils/bucomm.c 2018-06-04 21:27:35.000000000 +0200 @@ -427,7 +427,7 @@ Mode User\tGroup\tSize\tDate Name */ void -print_arelt_descr (FILE *file, bfd *abfd, bfd_boolean verbose) +print_arelt_descr (FILE *file, bfd *abfd, bfd_boolean verbose, bfd_boolean offsets) { struct stat buf; @@ -458,7 +458,17 @@ } } - fprintf (file, "%s\n", bfd_get_filename (abfd)); + fprintf (file, "%s", bfd_get_filename (abfd)); + + if (offsets) + { + if (bfd_is_thin_archive (abfd) && abfd->proxy_origin) + fprintf (file, " 0x%lx", (unsigned long) abfd->proxy_origin); + else if (!bfd_is_thin_archive (abfd) && abfd->origin) + fprintf (file, " 0x%lx", (unsigned long) abfd->origin); + } + + fprintf (file, "\n"); } /* Return a path for a new temporary file in the same directory diff -Nru binutils-2.30.51.20180512/binutils/bucomm.h binutils-2.30.52.20180613/binutils/bucomm.h --- binutils-2.30.51.20180512/binutils/bucomm.h 2018-01-05 03:08:28.000000000 +0100 +++ binutils-2.30.52.20180613/binutils/bucomm.h 2018-06-04 21:27:35.000000000 +0200 @@ -49,7 +49,7 @@ int display_info (void); -void print_arelt_descr (FILE *, bfd *, bfd_boolean); +void print_arelt_descr (FILE *, bfd *, bfd_boolean, bfd_boolean); char *make_tempname (char *); char *make_tempdir (char *); diff -Nru binutils-2.30.51.20180512/binutils/ChangeLog binutils-2.30.52.20180613/binutils/ChangeLog --- binutils-2.30.51.20180512/binutils/ChangeLog 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/binutils/ChangeLog 2018-06-13 14:17:13.000000000 +0200 @@ -1,3 +1,77 @@ +2018-06-13 Nick Clifton + + * doc/binutils.texi (objdump): Add missing closing square + parenthesis to listing of objcopy's command line options. + +2018-06-11 Nick Clifton + + * po/es.po: Updated Spanish translation. + +2018-06-01 H.J. Lu + + * configure: Regenerated. + +2018-05-31 Alan Modra + + * testsuite/binutils-all/compress.exp (test_gnu_debuglink): Don't + set CC_FOR_TARGET. Run test non-native. + * testsuite/binutils-all/objdump.exp (test_build_id_debuglink): + Likewise. + (test_follow_debuglink): Run test non-native. + +2018-05-30 Ant Bikeneev + + PR 23107 + * ar.c (display_offsets): New variable. + (usage): Add description of 'O' operator. + (decode_option): Handle 'O' operator. + (print_descr): Pass display_offsets to print_arelt_descr. + * arsup.c: Update call to printy_arelt_descr. + * objdump.c: Likewise. + * bucomm.c (print_arelt_descr): If offsets parameter is true then + display offset of archive element within the archive. + * bucomm.h: Update prototype for print_arelt_descr. + * doc/binutils.texi: Update description of ar command. + * NEWS: Mention the new feature. + * testsuite/binutils-all/ar.exp: Add text of new feature. + +2018-05-28 Alan Modra + + PR 23235 + * testsuite/binutils-all/compress.exp (test_gnu_debuglink): Return + unsupported rather than fail on compile errors. + * testsuite/binutils-all/objdump.exp (test_build_id_debuglink): + Likewise. Save and restore CFLAGS_FOR_TARGET. + +2018-05-18 Kito Cheng + + * readelf.c (get_machine_flags): Handle EF_RISCV_RVE. + +2018-05-18 John Darrington + + * readelf.c: Add support for s12z architecture. + * testsuite/lib/binutils-common.exp (is_elf_format): Excluse s12z + targets. + +2018-05-15 Tamar Christina + + PR binutils/21446 + * doc/binutils.texi (-M): Document AArch64 options. + +2018-05-15 Tamar Christina + + PR binutils/21446 + * doc/binutils.texi (-M): Document AArch64 options. + * NEWS: Document notes and warnings. + +2018-05-15 Alan Modra + + * testsuite/lib/binutils-common.exp (is_elf_format): Add chorus, + cloudabi, fuchsia, kaos and nto. Merge netbsdelf* into *elf*, + and *uclinux* into *linux*. + * testsuite/binutils-all/objcopy.exp: Accept armeb for rel + strip-13 test, exclude arm-vxworks and arm-windiss. + 2018-05-10 John Darrington * readelf.c (get_machine_name): EM_S12Z - handle new case. diff -Nru binutils-2.30.51.20180512/binutils/configure binutils-2.30.52.20180613/binutils/configure --- binutils-2.30.51.20180512/binutils/configure 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/binutils/configure 2018-06-04 21:27:35.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for binutils 2.30.51. +# Generated by GNU Autoconf 2.64 for binutils 2.30.52. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software @@ -556,8 +556,8 @@ # Identity of this package. PACKAGE_NAME='binutils' PACKAGE_TARNAME='binutils' -PACKAGE_VERSION='2.30.51' -PACKAGE_STRING='binutils 2.30.51' +PACKAGE_VERSION='2.30.52' +PACKAGE_STRING='binutils 2.30.52' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1336,7 +1336,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures binutils 2.30.51 to adapt to many kinds of systems. +\`configure' configures binutils 2.30.52 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1407,7 +1407,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of binutils 2.30.51:";; + short | recursive ) echo "Configuration of binutils 2.30.52:";; esac cat <<\_ACEOF @@ -1528,7 +1528,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -binutils configure 2.30.51 +binutils configure 2.30.52 generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2170,7 +2170,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by binutils $as_me 2.30.51, which was +It was created by binutils $as_me 2.30.52, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -3979,7 +3979,7 @@ # Define the identity of the package. PACKAGE='binutils' - VERSION='2.30.51' + VERSION='2.30.52' cat >>confdefs.h <<_ACEOF @@ -15197,7 +15197,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by binutils $as_me 2.30.51, which was +This file was extended by binutils $as_me 2.30.52, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15261,7 +15261,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -binutils config.status 2.30.51 +binutils config.status 2.30.52 configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff -Nru binutils-2.30.51.20180512/binutils/doc/binutils.texi binutils-2.30.52.20180613/binutils/doc/binutils.texi --- binutils-2.30.51.20180512/binutils/doc/binutils.texi 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/binutils/doc/binutils.texi 2018-06-13 14:17:13.000000000 +0200 @@ -361,9 +361,10 @@ @cindex contents of archive Display a @emph{table} listing the contents of @var{archive}, or those of the files listed in @var{member}@dots{} that are present in the -archive. Normally only the member name is shown; if you also want to -see the modes (permissions), timestamp, owner, group, and size, you can -request that by also specifying the @samp{v} modifier. +archive. Normally only the member name is shown, but if the modifier +@samp{O} is specified, then the corresponding offset of the member is also +displayed. Finally, in order to see the modes (permissions), timestamp, +owner, group, and size the @samp{v} modifier should be included. If you do not specify a @var{member}, all files in the archive are listed. @@ -456,6 +457,11 @@ you do not specify this modifier, files extracted from the archive are stamped with the time of extraction. +@item O +@cindex offsets of files +Display member offsets inside the archive. Use together with the @samp{t} +option. + @item P Use the full path name when matching names in the archive. @sc{gnu} @command{ar} can not create an archive with a full path name (such archives @@ -2071,7 +2077,7 @@ [@option{-R}|@option{--dynamic-reloc}] [@option{-s}|@option{--full-contents}] [@option{-W[lLiaprmfFsoRtUuTgAckK]}| - @option{--dwarf}[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links] + @option{--dwarf}[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]] [@option{-G}|@option{--stabs}] [@option{-t}|@option{--syms}] [@option{-T}|@option{--dynamic-syms}] @@ -2342,6 +2348,11 @@ useful when attempting to disassemble thumb code produced by other compilers. +For AArch64 targets this switch can be used to set whether instructions are +disassembled as the most general instruction using the @option{-M no-aliases} +option or whether instruction notes should be generated as comments in the +disasssembly using @option{-M notes}. + For the x86, some of the options duplicate functions of the @option{-m} switch, but allow finer grained control. Multiple selections from the following may be specified as a comma separated string. diff -Nru binutils-2.30.51.20180512/binutils/NEWS binutils-2.30.52.20180613/binutils/NEWS --- binutils-2.30.51.20180512/binutils/NEWS 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/binutils/NEWS 2018-06-04 21:27:35.000000000 +0200 @@ -2,6 +2,16 @@ * Add support for disassembling netronome Flow Processor (NFP) firmware files. +* The AArch64 port now supports showing disassembly notes which are emitted + when inconsistencies are found with the instruction that may result in the + instruction being invalid. These can be turned on with the option -M notes + to objdump. + +* The AArch64 port now emits warnings when a combination of an instruction and + a named register could be invalid. + +* Added O modifier to ar to display member offsets inside an archive + Changes in 2.30: * Add --debug-dump=links option to readelf and --dwarf=links option to objdump diff -Nru binutils-2.30.51.20180512/binutils/objdump.c binutils-2.30.52.20180613/binutils/objdump.c --- binutils-2.30.51.20180512/binutils/objdump.c 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/binutils/objdump.c 2018-06-04 21:27:35.000000000 +0200 @@ -3582,7 +3582,7 @@ printf (_("\n%s: file format %s\n"), bfd_get_filename (abfd), abfd->xvec->name); if (dump_ar_hdrs) - print_arelt_descr (stdout, abfd, TRUE); + print_arelt_descr (stdout, abfd, TRUE, FALSE); if (dump_file_header) dump_bfd_header (abfd); if (dump_private_headers) diff -Nru binutils-2.30.51.20180512/binutils/po/es.po binutils-2.30.52.20180613/binutils/po/es.po --- binutils-2.30.51.20180512/binutils/po/es.po 2018-03-25 07:24:05.000000000 +0200 +++ binutils-2.30.52.20180613/binutils/po/es.po 2018-06-13 10:31:38.000000000 +0200 @@ -1,24 +1,23 @@ -# Spanish language for binutils 2.30.0 -# Copyright (C) 2002 - 2018 Free Software Foundation, Inc. +# Mensajes en español para binutils 2.30.0. +# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2018 Free Software Foundation, Inc. # This file is distributed under the same license as the binutils package. -# Cristian Othón Martínez Vera , 2002 - 2012. -# Francisco Javier Serrador , 2018 +# Cristian Othón Martínez Vera , 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. +# Antonio Ceballos Roa 2018 +# msgid "" msgstr "" "Project-Id-Version: binutils 2.30.0\n" "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" "POT-Creation-Date: 2018-01-13 13:44+0000\n" -"PO-Revision-Date: 2018-03-19 19:58+0200\n" -"Last-Translator: Javier \n" +"PO-Revision-Date: 2018-06-08 16:38+0200\n" +"Last-Translator: Antonio Ceballos Roa \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Virtaal 0.7.1\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Poedit-SourceCharset: UTF-8\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: addr2line.c:80 #, c-format @@ -75,7 +74,7 @@ #: windmc.c:227 windres.c:688 #, c-format msgid "Report bugs to %s\n" -msgstr "Reportar defectos a %s\n" +msgstr "Reportar bichos a %s\n" #. Note for translators: This printf is used to join the #. function name just printed above to the line number/ @@ -111,7 +110,7 @@ #: addr2line.c:465 nm.c:1683 objdump.c:3856 #, c-format msgid "unknown demangling style `%s'" -msgstr "estilo desenredando desconocido `%s'" +msgstr "estilo de desenredo `%s' desconocido" #: ar.c:257 #, c-format @@ -141,7 +140,7 @@ #: ar.c:287 #, c-format msgid " d - delete file(s) from the archive\n" -msgstr " d - borrar fichero(s) desde el archivo\n" +msgstr " d - borra fichero(s) del archivo\n" #: ar.c:288 #, c-format @@ -151,7 +150,7 @@ #: ar.c:289 #, c-format msgid " p - print file(s) found in the archive\n" -msgstr " p - escribe fichero(s) encontrados en el archivo\n" +msgstr " p - muestra fichero(s) encontrados en el archivo\n" #: ar.c:290 #, c-format @@ -161,7 +160,7 @@ #: ar.c:291 #, c-format msgid " r[ab][f][u] - replace existing or insert new file(s) into the archive\n" -msgstr " r[ab][f][u] - reemplaza fichero(s) existente(s) o inserta uno(s) nuevo(s) al archivo\n" +msgstr " r[ab][f][u] - reemplaza fichero(s) existente(s) o inserta fichero(s) nuevo(s) en el archivo\n" #: ar.c:292 #, c-format @@ -171,7 +170,7 @@ #: ar.c:293 #, c-format msgid " t - display contents of archive\n" -msgstr " t - enseña los contenidos del archivo\n" +msgstr " t - muestra los contenidos del archivo\n" #: ar.c:294 #, c-format @@ -186,37 +185,37 @@ #: ar.c:296 #, c-format msgid " [a] - put file(s) after [member-name]\n" -msgstr " [a] - pone fichero(s) tras [nombre-miembro]\n" +msgstr " [a] - coloca fichero(s) despúes de [nombre-miembro]\n" #: ar.c:297 #, c-format msgid " [b] - put file(s) before [member-name] (same as [i])\n" -msgstr " [b] - pone fichero(s) antes de [nombre-miembro] (igual que [i])\n" +msgstr " [b] - coloca fichero(s) antes de [nombre-miembro] (igual que [i])\n" #: ar.c:300 #, c-format msgid " [D] - use zero for timestamps and uids/gids (default)\n" -msgstr " [D] - utiliza cero para sello temporal y diversos uid/gid (predet.)\n" +msgstr " [D] - utiliza cero para marcas de tiempo y uids/gids (pred.)\n" #: ar.c:302 #, c-format msgid " [U] - use actual timestamps and uids/gids\n" -msgstr " [U] - utiliza sello actual y diversos uid/gid\n" +msgstr " [D] - utiliza marcas de tiempo reales y uids/gids\n" #: ar.c:307 #, c-format msgid " [D] - use zero for timestamps and uids/gids\n" -msgstr " [D] - utiliza cero para sello temporal y diversos uid/gid\n" +msgstr " [D] - utiliza cero para marcas de tiempo y uids/gids\n" #: ar.c:309 #, c-format msgid " [U] - use actual timestamps and uids/gids (default)\n" -msgstr " [U] - utiliza sello temporal actual y diversos uid/gid\n" +msgstr " [D] - utiliza cero para marcas de tiempo y uids/gids (pred.)\n" #: ar.c:312 #, c-format msgid " [N] - use instance [count] of name\n" -msgstr " [N] - emplee la instancia [cuenta] del nombre\n" +msgstr " [N] - usa la instancia [cuenta] del nombre\n" #: ar.c:313 #, c-format @@ -226,17 +225,17 @@ #: ar.c:314 #, c-format msgid " [P] - use full path names when matching\n" -msgstr " [P] - utiliza nombres de ruta completos cuando coincidan\n" +msgstr " [P] - utiliza nombres completos de ruta cuando se buscan coincidencias\n" #: ar.c:315 #, c-format msgid " [o] - preserve original dates\n" -msgstr " [o] - conserva fechas originales\n" +msgstr " [o] - conserva las fechas originales\n" #: ar.c:316 #, c-format msgid " [u] - only replace files that are newer than current archive contents\n" -msgstr " [u] - sólo reemplaza ficheros más nuevos que los contenidos archivados actuales\n" +msgstr " [u] - sólo reemplaza ficheros que sean más nuevos que el contenido actual del archivo\n" #: ar.c:317 #, c-format @@ -246,7 +245,7 @@ #: ar.c:318 #, c-format msgid " [c] - do not warn if the library had to be created\n" -msgstr " [c] - no advertir si la biblioteca tiene que ser creada\n" +msgstr " [c] - no avisa si se tiene que crear la biblioteca\n" #: ar.c:319 #, c-format @@ -256,22 +255,22 @@ #: ar.c:320 #, c-format msgid " [S] - do not build a symbol table\n" -msgstr " [S] - no construye una distribución simbólica\n" +msgstr " [S] - no construye una tabla de símbolos\n" #: ar.c:321 #, c-format msgid " [T] - make a thin archive\n" -msgstr " [T] - crea un archivo delgado\n" +msgstr " [T] - hace un archivo delgado\n" #: ar.c:322 #, c-format msgid " [v] - be verbose\n" -msgstr " [v] - ser detallado\n" +msgstr " [v] - detallado\n" #: ar.c:323 #, c-format msgid " [V] - display the version number\n" -msgstr " [V] - enseña el número de versión\n" +msgstr " [V] - muestra el número de versión\n" #: ar.c:324 #, c-format @@ -281,7 +280,7 @@ #: ar.c:325 #, c-format msgid " --target=BFDNAME - specify the target object format as BFDNAME\n" -msgstr " --target=NOMBFD - especifica el formato objeto objetivo como nombre BFDNAME\n" +msgstr " --target=NOMBFD - especifica el formato objeto objetivo como NOMBFD\n" #: ar.c:327 #, c-format @@ -291,7 +290,7 @@ #: ar.c:328 #, c-format msgid " --plugin

- load the specified plugin\n" -msgstr " --plugin

- carga el complemento especificado\n" +msgstr " --plugin

- carga el plugin especificado\n" #: ar.c:349 #, c-format @@ -315,7 +314,7 @@ #: ar.c:354 #, c-format msgid " --plugin Load the specified plugin\n" -msgstr " --plugin Carga el complemento especificado\n" +msgstr " --plugin Carga el plugin especificado\n" #: ar.c:358 #, c-format @@ -323,9 +322,10 @@ " -D Use zero for symbol map timestamp (default)\n" " -U Use an actual symbol map timestamp\n" msgstr "" -" -D Emplea cero para distribución de sello temporal simbólico\n" -" -U Emplea una distribución de sello simbólico actual\n" -"\n" +" -D Utiliza cero como marca de tiempo del mapa de\n" +" símbolos (funcionamiento predeterminado)\n" +" -U Utiliza una marca de tiempo real para el mapa de\n" +" símbolos\n" #: ar.c:362 #, c-format @@ -333,8 +333,10 @@ " -D Use zero for symbol map timestamp\n" " -U Use actual symbol map timestamp (default)\n" msgstr "" -" -D Emplea cero para distribución de sello temporal simbólico\n" -" -U Emplea distribución de sello simbólico actual (predeterminado)\n" +" -D Utiliza cero como marca de tiempo del mapa de\n" +" símbolos\n" +" -U Utiliza una marca de tiempo real para el mapa de\n" +" símbolos (funcionamiento predeterminado)\n" #: ar.c:365 #, c-format @@ -343,10 +345,10 @@ " -h --help Print this help message\n" " -v --version Print version information\n" msgstr "" -" -t Actualiza la marca de tiempo de símbolos\n" -" distribuídos del archivo\n" -" -h --help Escribe este mensaje de ayuda\n" -" -V --version Escribe la información de versión\n" +" -t Actualiza la marca de tiempo del mapa de\n" +" símbolos del archivo\n" +" -h --help Muestra este mensaje de ayuda\n" +" -V --version Muestra la información de versión\n" #: ar.c:489 msgid "two different operation options specified" @@ -355,7 +357,7 @@ #: ar.c:580 ar.c:640 nm.c:1764 #, c-format msgid "sorry - this program has been built without plugin support\n" -msgstr "disculpe - este programa se construyó sin soporte para complementos\n" +msgstr "perdón - este programa se construyó sin soporte para plugins\n" #: ar.c:770 msgid "no operation specified" @@ -371,11 +373,11 @@ #: ar.c:779 msgid "`u' modifier ignored since `D' is the default (see `U')" -msgstr "modificador `u' ignorado desde `D' es lo predeterminado (vea `U')" +msgstr "" #: ar.c:788 msgid "missing position arg." -msgstr "falta posición arg." +msgstr "" #: ar.c:794 msgid "`N' is only meaningful with the `x' and `d' options." @@ -383,7 +385,7 @@ #: ar.c:796 msgid "`N' missing value." -msgstr "valor `N' ausente." +msgstr "" #: ar.c:799 msgid "Value for `N' must be positive." @@ -406,17 +408,17 @@ #: ar.c:962 #, c-format msgid "Cannot convert existing library %s to thin format" -msgstr "No puede convertir biblioteca existente %s a formato ligero" +msgstr "" #: ar.c:968 #, c-format msgid "Cannot convert existing thin library %s to normal format" -msgstr "No puede convertir bibliotecas delgadas existente %s a formato común" +msgstr "" #: ar.c:1000 ar.c:1064 ar.c:1394 objcopy.c:3288 #, c-format msgid "internal stat error on %s" -msgstr "error de estado interno en %s" +msgstr "error interno de stat en %s" #: ar.c:1019 ar.c:1097 #, c-format @@ -426,7 +428,7 @@ #: ar.c:1056 objcopy.c:3252 #, c-format msgid "illegal pathname found in archive member: %s" -msgstr "nombre de ruta ilegal encontrado en miembro archivo: %s" +msgstr "" #: ar.c:1155 msgid "could not create temporary file whilst writing archive" @@ -435,22 +437,22 @@ #: ar.c:1299 #, c-format msgid "No member named `%s'\n" -msgstr "Ningún miembro nombrado «%s»\n" +msgstr "No hay un miembro llamado `%s'\n" #: ar.c:1349 #, c-format msgid "no entry %s in archive %s!" -msgstr "¡sin asiento %s al archivo %s!" +msgstr "¡No hay una entrada %s en el archivo %s!" #: ar.c:1488 #, c-format msgid "%s: no archive map to update" -msgstr "%s: ninguna distribución archivada a actualizar" +msgstr "%s: no hay un mapa de archivo para actualizar" #: arsup.c:89 #, c-format msgid "No entry %s in archive.\n" -msgstr "Ningún asiento %s al archivo.\n" +msgstr "No hay una entrada %s en el archivo.\n" #: arsup.c:114 #, c-format @@ -465,7 +467,7 @@ #: arsup.c:181 #, c-format msgid "%s: Can't open input archive %s\n" -msgstr "%s: No puede abrir archivo de entrada %s\n" +msgstr "%s: No se puede abrir el fichero de entrada %s\n" #: arsup.c:190 #, c-format @@ -475,12 +477,12 @@ #: arsup.c:230 #, c-format msgid "%s: no output archive specified yet\n" -msgstr "%s: ningún archivo especificado de salida aún\n" +msgstr "%s: no se ha especificado aún un archivo de salida\n" #: arsup.c:250 arsup.c:293 arsup.c:335 arsup.c:358 arsup.c:424 #, c-format msgid "%s: no open output archive\n" -msgstr "%s: ningún archivo de salida abierto\n" +msgstr "%s: no hay un archivo de salida abierto\n" #: arsup.c:266 arsup.c:379 arsup.c:405 #, c-format @@ -495,12 +497,12 @@ #: arsup.c:433 #, c-format msgid "Current open archive is %s\n" -msgstr "Archivo actualmente abierto es %s\n" +msgstr "El archivo actualmente abierto es %s\n" #: arsup.c:457 #, c-format msgid "%s: no open archive\n" -msgstr "%s: ningún archivo abierto\n" +msgstr "%s: no hay un archivo abierto\n" #: binemul.c:38 #, c-format @@ -567,17 +569,17 @@ #: bucomm.c:416 #, c-format msgid "BFD header file version %s\n" -msgstr "Versión de encabezado del fichero BFD %s\n" +msgstr "encabezado del fichero BFD versión %s\n" #: bucomm.c:446 #, c-format msgid "

Set PE image base to
\n" +#| " --section-alignment Set PE section alignment to \n" +#| " --stack [,] Set PE reserve/commit stack to /\n" +#| " \n" +#| " --subsystem [:]\n" +#| " Set PE subsystem to [& ]\n" +#| " --compress-debug-sections Compress DWARF debug sections using zlib\n" +#| " --decompress-debug-sections Decompress DWARF debug sections using zlib\n" +#| " -v --verbose List all object files modified\n" +#| " @ Read options from \n" +#| " -V --version Display this program's version number\n" +#| " -h --help Display this output\n" +#| " --info List object formats & architectures supported\n" msgid "" " -j --only-section Only copy section into the output\n" " --add-gnu-debuglink= Add section .gnu_debuglink linking to \n" @@ -5143,72 +5482,76 @@ " -h --help Display this output\n" " --info List object formats & architectures supported\n" msgstr "" -" -j --only-section Solo copia sección a la salida símbolos\n" -" --add-gnu-debuglink= Añade sección .gnu_debuglink enlazando a \n" -" -R --remove-section Quita sección desde la salida\n" -" --remove-relocations Quita reubicaciones desde sección \n" -" -S --strip-all Quita toda información simbólica y reubicación\n" -" -g --strip-debug Quita todos símbolos depuradores y secciones\n" -" --strip-dwo Quita todas las secciones DWO\n" -" --strip-unneeded Quita todos los símbolos no necesario para\n" -"\t\t\t\t reubicaciones\n" -" -N --strip-symbol No copia el del símbolo\n" -" --strip-unneeded-symbol \n" -" No copia el símbolo a menos que sea\n" -" necesario para reubicaciones\n" -" --only-keep-debug Recorta todo excepto la información depuradora\n" -" --extract-dwo Solo copia secciones DWO\n" -" --extract-symbol Quita contenidos de la sección pero conserva símbolos\n" -" -K --keep-symbol No desnuda el símbolo \n" -" --keep-file-symbols No descubre los símbolos de fichero\n" -" --localize-hidden Convierte todos los símbolos ocultos ELF en local\n" -" -L --localize-symbol Fuerza marcar el símbolo como local\n" -" --globalize-symbol Fuerza marcar el símbolo como global\n" -" -G --keep-global-symbol Vuelve locales todos los símbolos excepto \n" -" -W --weaken-symbol Fuerza que el símbolo se marque como débil\n" -" --weaken Fuerza que todos los símbolos se marquen como débiles\n" -" -w --wildcard Permite comodines en la comparación de símbolos\n" -" -I --input-target Asume que el fichero de entrada está en el\n" -" formato \n" -" -O --output-target Crea un fichero de salida en el formato \n" -" -B --binary-architecture Establece la arquitectura del fichero de salida,\n" +" -I --input-target Asume que el fichero de entrada está en\n" +" el formato \n" +" -O --output-target Crea un fichero de salida en el formato\n" +" \n" +" -B --binary-architecture Establece la arquitectura del fichero de\n" " salida, cuando la entrada es binaria\n" " -F --target Establece tanto el formato de salida como\n" " el de entrada a \n" -" --debugging Convierte la información de depuración, si es posible\n" +" --debugging Convierte la información de depuración, si\n" +" es posible\n" " -p --preserve-dates Copia las marcas de tiempo de modificación y\n" " acceso a la salida\n" " -j --only-section Sólo copia la sección en la salida\n" " --add-gnu-debuglink= Agrega la sección de enlazado .gnu_debuglink\n" " al ero\n" -" -R --remove-section Quita la sección de la salida\n" -" -S --strip-all Quita todos los símbolos y la información de\n" +" -R --remove-section Borra la sección de la salida\n" +" -S --strip-all Borra todos los símbolos y la información de\n" " reubicación\n" -" -g --strip-debug Quita todos los símbolos y secciones dedepuración\n" +" -g --strip-debug Borra todos los símbolos y secciones de\n" " depuración\n" -" --strip-unneeded Quita todos los símbolos innecesarios para\n" +" --strip-unneeded Borra todos los símbolos innecesarios para\n" " las reubicaciones\n" -" -x --discard-all Quita todos los símbolos que no son globales\n" -" -X --discard-locals Quita cualquier símbolo generado por el\n" +" -N --strip-symbol No copia el símbolo \n" +" --strip-unneeded-symbol \n" +" No copia el símbolo a menos que sea\n" +" necesario para las reubicaciones\n" +" --only-keep-debug Borra todo excepto la información de\n" +" depuración\n" +" --extract-symbol Borra los contenidos de la sección pero\n" +" conserva los símbolos\n" +" -K --keep-symbol No borra el símbolo \n" +" --keep-file-symbols No borra los símbolos de fichero\n" +" --localize-hidden Convierte todos los símbolos ocultos ELF\n" +" en locales\n" +" -L --localize-symbol Fuerza que el símbolo se marque como\n" +" local\n" +" --globalize-symbol Fuerza que el símbolo se marque como\n" +" global\n" +" -G --keep-global-symbol Vuelve locales todos los símbolos excepto\n" +" \n" +" -W --weaken-symbol Fuerza que el símbolo se marque como\n" +" débil\n" +" --weaken Fuerza que todos los símbolos se marquen como\n" +" débiles\n" +" -w --wildcard Permite comodines en la comparación de\n" +" símbolos\n" +" -x --discard-all Borra todos los símbolos que no son globales\n" +" -X --discard-locals Borra cualquier símbolo generado por el\n" " compilador\n" -" -i --interleave [] Solo copia N de cada bytes\n" +" -i --interleave [] Sólo copia N de cada bytes\n" " --interleave-width Define N para --interleave\n" -" -b --byte Selecciona el byte en cada bloque espaciado\n" +" -b --byte Selecciona el byte en cada bloque\n" +" espaciado\n" " --gap-fill Rellena los huecos entre secciones con \n" -" --pad-to Rellena la última sección hasta la \n" -" --set-start Establece la dirección de inicio en \n" +" --pad-to Rellena la última sección hasta\n" +" la \n" +" --set-start Establece la dirección de inicio en\n" +" \n" " {--change-start|--adjust-start} \n" -" Añade a la dirección de inicio\n" +" Agrega a la dirección de inicio\n" " {--change-addresses|--adjust-vma} \n" -" Añade a las direcciones LMA, VMA y\n" -"\t\t\t\t la de inicio\n" +" Agrega a las direcciones LMA, VMA y\n" +" la de inicio\n" " {--change-section-address|--adjust-section-vma} {=|+|-}\n" -" Modifica el LMA y el VMA de la sección\n" -" por \n" +" Cambia el LMA y el VMA de la sección\n" +" por \n" " --change-section-lma {=|+|-}\n" -" Modifica LMA de la sección por \n" +" Cambia LMA de la sección por \n" " --change-section-vma {=|+|-}\n" -" Modifica VMA de la sección por \n" +" Cambia VMA de la sección por \n" " {--[no-]change-warnings|--[no-]adjust-warnings}\n" " Avisa si no existe una sección nombrada\n" " --set-section-flags =\n" @@ -5219,7 +5562,7 @@ " en el a la salida\n" " --rename-section =[,] Renombra la sección a \n" " --long-section-names {enable|disable|keep}\n" -" Manipula los nombres de sección largos en\n" +" Maneja los nombres de sección largos en\n" " objetos Coff.\n" " --change-leading-char Fuerza el carácter de estilo inicial en\n" " el formato de salida\n" @@ -5230,10 +5573,11 @@ " --redefine-sym = Redefine el nombre de símbolo a \n" " --redefine-syms --redefine-sym para todos los pares de\n" " símbolos enlistados en el \n" -" --srec-len Restringe la longitud de los Srecords generados\n" +" --srec-len Restringe la longitud de los Srecords\n" " generados\n" -" --srec-forceS3 Restringe el tipo de los Srecords generados a S3\n" -" --strip-symbols -N para todos los símbolos listados en el\n" +" --srec-forceS3 Restringe el tipo de los Srecords generados\n" +" a S3\n" +" --strip-symbols -N para todos los símbolos enlistados en el\n" " \n" " --strip-unneeded-symbols \n" " --strip-unneeded-symbol para todos los\n" @@ -5254,7 +5598,8 @@ " --writable-text Marca el texto de salida como modificable\n" " --readonly-text Marca el texto de salida como protegido\n" " contra escritura\n" -" --pure Marca el fichero de salida como paginado en demanda\n" +" --pure Marca el fichero de salida como paginado en\n" +" demanda\n" " --impure Marca el fichero de salida como impuro\n" " --prefix-symbols Agrega al inicio de cada nombre de\n" " símbolo\n" @@ -5276,12 +5621,10 @@ " usando zlib\n" " --decompress-debug-sections Descomprime las secciones de depuración\n" " DWARF usando zlib\n" -" -M --merge-notes Quita asientos redundantes en secciones anotadas\n" -" --no-merge-notes No intentar quitar anotaciones redundantes (predet.)\n" " -v --verbose Enlista todos los ficheros objeto modificados\n" " @ Lee opciones del \n" -" -V --version Enseña el número de versión de este programa\n" -" -h --help Enseña esta salida\n" +" -V --version Muestra el número de versión de este programa\n" +" -h --help Muestra esta salida\n" " --info Enlista los formatos objeto y arquitecturas\n" " que se admiten\n" @@ -5293,7 +5636,7 @@ #: objcopy.c:666 #, c-format msgid " Removes symbols and sections from files\n" -msgstr " Quita símbolos y secciones desde ficheros\n" +msgstr " Remueve símbolos y secciones de los ficheros\n" #: objcopy.c:668 #, c-format @@ -5303,13 +5646,30 @@ " -F --target= Set both input and output format to \n" " -p --preserve-dates Copy modified/access timestamps to the output\n" msgstr "" -" -I --input-target= Asume fichero entrante esté en formato \n" -" -O --output-target= Crea un fichero saliente en formato \n" -" -F --target= Establece ambas entrada y salida a \n" -" -p --preserve-dates Copiar sellados modificado/acceso a la salida\n" #: objcopy.c:686 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| " -I --input-target= Assume input file is in format \n" +#| " -O --output-target= Create an output file in format \n" +#| " -F --target= Set both input and output format to \n" +#| " -p --preserve-dates Copy modified/access timestamps to the output\n" +#| " -R --remove-section= Remove section from the output\n" +#| " -s --strip-all Remove all symbol and relocation information\n" +#| " -g -S -d --strip-debug Remove all debugging symbols & sections\n" +#| " --strip-unneeded Remove all symbols not needed by relocations\n" +#| " --only-keep-debug Strip everything but the debug information\n" +#| " -N --strip-symbol= Do not copy symbol \n" +#| " -K --keep-symbol= Do not strip symbol \n" +#| " --keep-file-symbols Do not strip file symbol(s)\n" +#| " -w --wildcard Permit wildcard in symbol comparison\n" +#| " -x --discard-all Remove all non-global symbols\n" +#| " -X --discard-locals Remove any compiler-generated symbols\n" +#| " -v --verbose List all object files modified\n" +#| " -V --version Display this program's version number\n" +#| " -h --help Display this output\n" +#| " --info List object formats & architectures supported\n" +#| " -o Place stripped output into \n" msgid "" " -R --remove-section= Also remove section from the output\n" " --remove-relocations Remove relocations from section \n" @@ -5332,33 +5692,42 @@ " --info List object formats & architectures supported\n" " -o Place stripped output into \n" msgstr "" -" -R --remove-section= También quita la sección de la salida\n" -" --remove-relocations Quita reubicaciones desde sección \n" -" -s --strip-all Quita todos los símbolos y la información de\n" -"\t\t\t\t reubicación\n" -" -g -S -d --strip-debug Quita todos los símbolos y secciones de depuración\n" -" --strip-dwo Quita todas las secciones DWO\n" -" --strip-unneeded Quita todos los símbolos innecesarios para\n" -" las reubicaciones\n" -" --only-keep-debug Recorta todo excepto la información depuradora\n" -" -M --merge-notes Quita asientos redundantes dentro de secciones\n" -" anotadas (predet.)\n" +" -I --input-target= Asume que el fichero de entrada está en\n" +" el formato \n" +" -O --output-target= Crea un fichero de salida en el formato\n" +" \n" +" -F --target Establece tanto el formato de salida como\n" +" el de entrada a \n" +" -p --preserve-dates Copia las marcas de tiempo de modificación\n" +" y acceso a la salida\n" +" -R --remove-section= Borra la sección de la salida\n" +" -s --strip-all Borra todos los símbolos y la información\n" +" de reubicación\n" +" -g -S -d --strip-debug Borra todos los símbolos y secciones de\n" +" depuración\n" +" --strip-unneeded Borra todos los símbolos innecesarios para\n" +" las reubicaciones\n" +" --only-keep-debug Borra todo excepto la información de\n" +" depuración\n" " -N --strip-symbol= No copia el símbolo \n" -" -K --keep-symbol= No recorta el símbolo \n" -" --keep-file-symbols No recorta los símbolo(s) de fichero\n" -" -w --wildcard Permite comodines en la comparación simbólica\n" -" -x --discard-all Quita todos los símbolos que no son globales\n" -" -X --discard-locals Quita cualquier símbolo generado por el compilador\n" -" -v --verbose Lista todos los ficheros objeto modificados\n" -" -V --version Enseña el número de versión de este programa\n" -" -h --help Enseña esta salida\n" -" --info Enseña los formatos objeto y arquitecturas admitidos\n" -" -o \t Coloca la salida limpia en el \n" +" -K --keep-symbol= No borra el símbolo \n" +" --keep-file-symbols No borra los símbolos de fichero\n" +" -w --wildcard Permite comodines en la comparación de\n" +" símbolos\n" +" -x --discard-all Borra todos los símbolos que no son globales\n" +" -X --discard-locals Borra cualquier símbolo generado por\n" +" el compilador\n" +" -v --verbose Enlista todos los ficheros objeto modificados\n" +" -V --version Muestra el número de versión de este programa\n" +" -h --help Muestra esta salida\n" +" --info Muestra los formatos objeto y arquitecturas\n" +" admitidos\n" +" -o Coloca la salida limpia en el \n" #: objcopy.c:761 #, c-format msgid "unrecognized section flag `%s'" -msgstr "opción seccional desconocida «%s»" +msgstr "opción de sección `%s' desconocida" #: objcopy.c:762 objcopy.c:834 #, c-format @@ -5366,24 +5735,26 @@ msgstr "opciones admitidas: %s" #: objcopy.c:833 -#, c-format +#, fuzzy, c-format +#| msgid "unrecognized section flag `%s'" msgid "unrecognized symbol flag `%s'" -msgstr "opción simbólica no reconocida «%s»" +msgstr "opción de sección `%s' desconocida" #: objcopy.c:892 -#, c-format +#, fuzzy, c-format +#| msgid "%s both copied and removed" msgid "error: %s both copied and removed" -msgstr "error: ambos %s copiados y eliminados" +msgstr "%s copiado y borrado al mismo tiempo" #: objcopy.c:898 #, c-format msgid "error: %s both sets and alters VMA" -msgstr "error: %s ambos conjuntos y alteraciones VMA" +msgstr "" #: objcopy.c:904 #, c-format msgid "error: %s both sets and alters LMA" -msgstr "error: %s ambos conjuntos y alteraciones LMA" +msgstr "" #: objcopy.c:1055 #, c-format @@ -5393,7 +5764,7 @@ #: objcopy.c:1058 objcopy.c:4667 #, c-format msgid "%s: fread failed" -msgstr "%s: fallado fread" +msgstr "%s: falló fread" #: objcopy.c:1131 #, c-format @@ -5403,17 +5774,22 @@ #: objcopy.c:1293 #, c-format msgid "error: section %s matches both remove and copy options" -msgstr "error: sección %s coincide ambas opciones desinstalar y copiar" +msgstr "" #: objcopy.c:1296 #, c-format msgid "error: section %s matches both update and remove options" -msgstr "error: sección %s: coincide ambas opciones actualizar y desinstalar" +msgstr "" #: objcopy.c:1448 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Section '%s' has no data to dump.\n" msgid "Section %s not found" -msgstr "Sección %s no encontrada" +msgstr "" +"\n" +"La sección '%s' no tiene datos para volcar.\n" #: objcopy.c:1596 #, c-format @@ -5421,9 +5797,10 @@ msgstr "no se elimina el símbolo `%s' porque se nombra en una reubicación" #: objcopy.c:1656 -#, c-format +#, fuzzy, c-format +#| msgid "C++ reference not found" msgid "'before=%s' not found" -msgstr "'anterior=%s' no encontrado" +msgstr "no se encontró la referencia C++" #: objcopy.c:1695 #, c-format @@ -5438,7 +5815,7 @@ #: objcopy.c:1726 #, c-format msgid "couldn't open symbol redefinition file %s (error: %s)" -msgstr "no se puede abrir el fichero de redefinición simbólica %s (error: %s)" +msgstr "no se puede abrir el fichero de redefinición de símbolos %s (error: %s)" #: objcopy.c:1804 #, c-format @@ -5467,43 +5844,43 @@ #: objcopy.c:2008 msgid "corrupt GNU build attribute note: wrong note type" -msgstr "corrompe anotación de atributo de compilación GNU: tamaño de descripción equivocada" +msgstr "" #: objcopy.c:2014 msgid "corrupt GNU build attribute note: note too big" -msgstr "corrompe anotación de atributo de compilación GNU: descripción de tamaño equivocado" +msgstr "" #: objcopy.c:2020 msgid "corrupt GNU build attribute note: name too small" -msgstr "corrompe anotación de atributo de compilación GNU: nombre demasiado pequeño" +msgstr "" #: objcopy.c:2047 msgid "corrupt GNU build attribute note: unsupported version" -msgstr "corrompe anotación de atributo de compilación GNU: tamaño de descripción equivocada" +msgstr "" #: objcopy.c:2096 msgid "corrupt GNU build attribute note: bad description size" -msgstr "corrompe anotación de atributo de compilación GNU: tamaño de descripción equivocada" +msgstr "" #: objcopy.c:2127 msgid "corrupt GNU build attribute note: name not NUL terminated" -msgstr "corrompe anotación de atributo de compilación GNU: nombre no terminado en NULO" +msgstr "" #: objcopy.c:2139 msgid "corrupt GNU build attribute notes: excess data at end" -msgstr "anotaciones atributivas compiladas GNU corrupta: datos excedentes al final" +msgstr "" #: objcopy.c:2145 msgid "bad GNU build attribute notes: no known versions detected" -msgstr "equivocación de compilación GNU de notas atributivas: detectadas versiones desconocidas" +msgstr "" #: objcopy.c:2153 msgid "bad GNU build attribute notes: multiple different versions" -msgstr "equivocación de compilación GNU de notas atributivas: múltiples versiones diferentes" +msgstr "" #: objcopy.c:2167 msgid "bad GNU build attribute notes: first note not version note" -msgstr "anotaciones atributivas de compilación GNU equivocada: primera anotación no es nota de versión" +msgstr "" #. PR 17636: Call non-fatal so that we return to our parent who #. may need to tidy temporary files. @@ -5512,19 +5889,20 @@ msgstr "No se puede cambiar la endianez del (los) fichero(s) de entrada" #: objcopy.c:2440 -#, c-format +#, fuzzy, c-format +#| msgid "error: the input file '%s' is empty" msgid "error: the input file '%s' has no sections" -msgstr "error: el fichero de entrada '%s' no tiene ninguna sección" +msgstr "error: el fichero de entrada '%s' está vacío" #: objcopy.c:2450 #, c-format msgid "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s'" -msgstr "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] no está admitido en «%s»" +msgstr "" #: objcopy.c:2457 #, c-format msgid "--elf-stt-common=[yes|no] is unsupported on `%s'" -msgstr "--elf-stt-common=[sí|no] no es compatible con «%s»" +msgstr "" #: objcopy.c:2464 #, c-format @@ -5564,50 +5942,70 @@ #: objcopy.c:2716 #, c-format msgid "error: %s not found, can't be updated" -msgstr "error: %s no encontrado, no puede ser actualizado" +msgstr "" #: objcopy.c:2741 +#, fuzzy +#| msgid "" +#| "\n" +#| "The %s section is empty.\n" msgid "warning: note section is empty" -msgstr "aviso: sección de nota está vacía" +msgstr "" +"\n" +"La sección %s está vacía.\n" #: objcopy.c:2746 +#, fuzzy +#| msgid "Warning: could not locate '%s'. reason: %s" msgid "warning: could not load note section" -msgstr "aviso: no pudo cargar sección anotada" +msgstr "Aviso: no se puede localizar '%s'. razón: %s" #: objcopy.c:2767 +#, fuzzy +#| msgid "failed to set size" msgid "warning: failed to set merged notes size" -msgstr "aviso: fallado para establecer tamaño de notas unidas" +msgstr "no se puede establecer el tamaño" #: objcopy.c:2788 -#, c-format +#, fuzzy, c-format +#| msgid "can't add section '%s' - it already exists!" msgid "can't dump section '%s' - it does not exist" -msgstr "no puede volcar sección «%s» - no existe" +msgstr "no se puede agregar la sección '%s' - ¡!" #: objcopy.c:2796 +#, fuzzy +#| msgid "can't set debugging section contents" msgid "can't dump section - it has no contents" -msgstr "no puede volcar sección - no tiene contextos" +msgstr "no se puede establecer el contenido de la sección de depuración" #: objcopy.c:2804 +#, fuzzy +#| msgid "can't add section '%s' - it already exists!" msgid "can't dump section - it is empty" -msgstr "no puede volcar sección - está vacía" +msgstr "no se puede agregar la sección '%s' - ¡!" #: objcopy.c:2813 +#, fuzzy +#| msgid "no .loader section in file\n" msgid "could not open section dump file" -msgstr "no pudo abrir el fichero de sección volcada" +msgstr "no hay sección .loader en el fichero\n" #: objcopy.c:2822 #, c-format msgid "error writing section contents to %s (error: %s)" -msgstr "error al escribir contenidos de sección a %s (error: %s)" +msgstr "" #: objcopy.c:2831 +#, fuzzy +#| msgid "can't set debugging section contents" msgid "could not retrieve section contents" -msgstr "no pudo obtener contenidos de sección" +msgstr "no se puede establecer el contenido de la sección de depuración" #: objcopy.c:2845 -#, c-format +#, fuzzy, c-format +#| msgid "can't add section '%s' - it already exists!" msgid "%s: debuglink section already exists" -msgstr "%s: ya existe sección debuglink" +msgstr "no se puede agregar la sección '%s' - ¡!" #: objcopy.c:2857 #, c-format @@ -5620,15 +6018,21 @@ #: objcopy.c:2973 msgid "can't add padding" -msgstr "no puede añadir relleno" +msgstr "No se puede agregar relleno" #: objcopy.c:3090 msgid "error: failed to copy merged notes into output" -msgstr "error: fallado para copiar anotaciones combinadas en salida" +msgstr "" #: objcopy.c:3095 +#, fuzzy +#| msgid "" +#| "\n" +#| "Could not find unwind info section for " msgid "could not find any mergeable note sections" -msgstr "no pudo encontrar ninguna sección de información mezcable" +msgstr "" +"\n" +"No se puede encontrar la sección de información de desenredo para " #: objcopy.c:3107 #, c-format @@ -5646,7 +6050,7 @@ #: objcopy.c:3179 msgid "treating that number as an absolute e_machine value instead" -msgstr "tratando que ese número como un valor e_machine absoluto en su lugar" +msgstr "en su lugar, se trata ese número como un valor e_machine absoluto" #: objcopy.c:3183 msgid "ignoring the alternative value" @@ -5736,7 +6140,7 @@ #: objcopy.c:5158 objcopy.c:5162 objcopy.c:5182 #, c-format msgid "bad format for %s" -msgstr "formato equivocado para %s" +msgstr "formato erróneo para %s" #: objcopy.c:4649 #, c-format @@ -5761,14 +6165,16 @@ msgstr "la anchura del espacio debe ser positivo" #: objcopy.c:5035 -#, c-format +#, fuzzy, c-format +#| msgid "unrecognized --endian type `%s'" msgid "unrecognized --compress-debug-sections type `%s'" -msgstr "no se reconoce el tipo --compress-debug-sections `%s'" +msgstr "no se reconoce el tipo --endian `%s'" #: objcopy.c:5056 -#, c-format +#, fuzzy, c-format +#| msgid "unrecognized section flag `%s'" msgid "unrecognized --elf-stt-common= option `%s'" -msgstr "opción no reconocida --elf-stt-common `%s'" +msgstr "opción de sección `%s' desconocida" #: objcopy.c:5072 #, c-format @@ -5778,7 +6184,7 @@ #: objcopy.c:5233 #, c-format msgid "unknown long section names option '%s'" -msgstr "opción de nombres seccionados largos desconocida «%s»" +msgstr "opción de nombres de sección largos '%s' desconocida" #: objcopy.c:5251 msgid "unable to parse alternative machine code" @@ -5819,7 +6225,7 @@ #: objcopy.c:5387 msgid "byte number must be less than interleave" -msgstr "el número de bytes debe ser menor que el intermedio" +msgstr "el número de bytes debe ser menor al espacio" #: objcopy.c:5390 msgid "interleave width must be less than or equal to interleave - byte`" @@ -5858,15 +6264,42 @@ #: objdump.c:201 #, c-format msgid " Display information from object .\n" -msgstr " Enseña información desde objeto .\n" +msgstr "Muestra la información de objeto.\n" #: objdump.c:202 #, c-format msgid " At least one of the following switches must be given:\n" -msgstr " Al menos uno de las siguientes opciones deben ser dadas:\n" +msgstr "Se requiere por lo menos una de los siguientes opciones:\n" #: objdump.c:203 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| " -a, --archive-headers Display archive header information\n" +#| " -f, --file-headers Display the contents of the overall file header\n" +#| " -p, --private-headers Display object format specific file header contents\n" +#| " -P, --private=OPT,OPT... Display object format specific contents\n" +#| " -h, --[section-]headers Display the contents of the section headers\n" +#| " -x, --all-headers Display the contents of all headers\n" +#| " -d, --disassemble Display assembler contents of executable sections\n" +#| " -D, --disassemble-all Display assembler contents of all sections\n" +#| " -S, --source Intermix source code with disassembly\n" +#| " -s, --full-contents Display the full contents of all sections requested\n" +#| " -g, --debugging Display debug information in object file\n" +#| " -e, --debugging-tags Display debug information using ctags style\n" +#| " -G, --stabs Display (in raw form) any STABS info in the file\n" +#| " -W[lLiaprmfFsoRt] or\n" +#| " --dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,\n" +#| " =frames-interp,=str,=loc,=Ranges,=pubtypes,\n" +#| " =gdb_index,=trace_info,=trace_abbrev,=trace_aranges]\n" +#| " Display DWARF info in the file\n" +#| " -t, --syms Display the contents of the symbol table(s)\n" +#| " -T, --dynamic-syms Display the contents of the dynamic symbol table\n" +#| " -r, --reloc Display the relocation entries in the file\n" +#| " -R, --dynamic-reloc Display the dynamic relocation entries in the file\n" +#| " @ Read options from \n" +#| " -v, --version Display this program's version number\n" +#| " -i, --info List object formats and architectures supported\n" +#| " -H, --help Display this information\n" msgid "" " -a, --archive-headers Display archive header information\n" " -f, --file-headers Display the contents of the overall file header\n" @@ -5896,38 +6329,40 @@ " -i, --info List object formats and architectures supported\n" " -H, --help Display this information\n" msgstr "" -" -a, --archive-headers Enseña información del encabezado del archivo\n" -" -f, --file-headers Enseña el contenido de todos los encabezados del\n" -" fichero\n" -" -P, --private=OPC,OPC... Enseña contenidos específicos del formato objeto\n" -" -h, --[section-]headers Enseña el contenido de los encabezados de sección\n" -" -x, --all-headers Enseña el contenido de todos los encabezados\n" -" -d, --disassemble Enseña el contenido de ensamblador de las secciones\n" -" ejecutables\n" +" -a, --archive-headers Muestra información del encabezado del archivo\n" +" -f, --file-headers Muestra el contenido de todos los encabezados del\n" +" fichero\n" +" -P, --private=OPC,OPC... Muestra contenidos específicos del formato objeto\n" +" -h, --[section-]headers Muestra el contenido de los encabezados de sección\n" +" -x, --all-headers Muestra el contenido de todos los encabezados\n" +" -d, --disassemble Muestra el contenido de ensamblador de las secciones\n" +" ejecutables\n" " -D, --disassemble-all Muestra el contenido de ensamblador de todas las\n" -" secciones\n" +" secciones\n" " -S, --source Entremezcla código fuente con el desensamblado\n" -" -s, --full-contents Enseña el contenido completo de todas las secciones\n" -" solicitadas\n" -" -g, --debugging Enseña la información de depuración en el fichero\n" -" objeto\n" -" -e, --debugging-tags Enseña la información de depuración en estilo ctags\n" -" -G, --stabs Enseña (sin formato) cualquier información de STABS\n" -" en el fichero\n" +" -s, --full-contents Muestra el contenido completo de todas las secciones\n" +" solicitadas\n" +" -g, --debugging Muestra la información de depuración en el fichero\n" +" objeto\n" +" -e, --debugging-tags Muestra la información de depuración en estilo ctags\n" +" -G, --stabs Muestra (sin formato) cualquier información de STABS\n" +" en el fichero\n" " -W[lLiaprmfFsoRt] o\n" " --dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,\n" " =frames-interp,=str,=loc,=Ranges,=pubtypes,\n" " =gdb_index,=trace_info,=trace_abbrev,=trace_aranges]\n" -" Enseña la información DWARF en el fichero\n" -" -t, --syms Enseña el contenido de la(s) segmento(s) simbólica\n" -" -T, --dynamic-syms Enseña el contenido dinámico de la tabla simbólica\n" -" -r, --reloc Enseña las entradas de reubicación en el fichero\n" -" -R, --dynamic-reloc Enseña las entradas de reubicación dinámica en el fichero\n" +" Muestra la información DWARF en el fichero\n" +" -t, --syms Muestra el contenido de la(s) tabla(s) de símbolos\n" +" -T, --dynamic-syms Muestra el contenido de la tabla de símbolos\n" +" dinámicos\n" +" -r, --reloc Muestra las entradas de reubicación en el fichero\n" +" -R, --dynamic-reloc Muestra las entradas de reubicación dinámica en el\n" +" fichero\n" " @ Lee opciones del \n" " -v, --version Muestra el número de versión de este programa\n" " -i, --info Enlista los formatos objeto y las arquitecturas\n" -" admitidos\n" -" -H, --help Enseña esta información\n" +" admitidos\n" +" -H, --help Muestra esta información\n" #: objdump.c:236 #, c-format @@ -5939,7 +6374,33 @@ " Los siguientes interruptores son opcionales:\n" #: objdump.c:237 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| " -b, --target=BFDNAME Specify the target object format as BFDNAME\n" +#| " -m, --architecture=MACHINE Specify the target architecture as MACHINE\n" +#| " -j, --section=NAME Only display information for section NAME\n" +#| " -M, --disassembler-options=OPT Pass text OPT on to the disassembler\n" +#| " -EB --endian=big Assume big endian format when disassembling\n" +#| " -EL --endian=little Assume little endian format when disassembling\n" +#| " --file-start-context Include context from start of file (with -S)\n" +#| " -I, --include=DIR Add DIR to search list for source files\n" +#| " -l, --line-numbers Include line numbers and filenames in output\n" +#| " -F, --file-offsets Include file offsets when displaying information\n" +#| " -C, --demangle[=STYLE] Decode mangled/processed symbol names\n" +#| " The STYLE, if specified, can be `auto', `gnu',\n" +#| " `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" +#| " or `gnat'\n" +#| " -w, --wide Format output for more than 80 columns\n" +#| " -z, --disassemble-zeroes Do not skip blocks of zeroes when disassembling\n" +#| " --start-address=ADDR Only process data whose address is >= ADDR\n" +#| " --stop-address=ADDR Only process data whose address is <= ADDR\n" +#| " --prefix-addresses Print complete address alongside disassembly\n" +#| " --[no-]show-raw-insn Display hex alongside symbolic disassembly\n" +#| " --insn-width=WIDTH Display WIDTH bytes on a single line for -d\n" +#| " --adjust-vma=OFFSET Add OFFSET to all displayed section addresses\n" +#| " --special-syms Include special symbols in symbol dumps\n" +#| " --prefix=PREFIX Add PREFIX to absolute paths for -S\n" +#| " --prefix-strip=LEVEL Strip initial directory names for -S\n" msgid "" " -b, --target=BFDNAME Specify the target object format as BFDNAME\n" " -m, --architecture=MACHINE Specify the target architecture as MACHINE\n" @@ -5972,17 +6433,18 @@ " como NOMBREBFD\n" " -m, --architecture=MÁQUINA Especifica la arquitectura objetivo\n" " como MÁQUINA\n" -" -j, --section=NOMBRE Solo enseña la información de la sección NOMBRE\n" +" -j, --section=NOMBRE Sólo muestra la información de\n" +" la sección NOMBRE\n" " -M, --disassembler-options=OPC Pasa el texto OPC al desensamblador\n" " -EB --endian=big Asume el formato big endian al desensamblar\n" " -EL --endian=little Asume el formato little endian al desensamblar\n" " --file-start-context Incluye el contexto del inicio del fichero\n" " (con -S)\n" -" -I, --include=DIR Añade el DIRectorio a la lista de búsqueda de\n" +" -I, --include=DIR Agrega el DIRectorio a la lista de búsqueda de\n" " ficheros fuente\n" " -l, --line-numbers Incluye los números de línea y los nombres\n" " de fichero en la salida\n" -" -F, --file-offsets Incluye desplazamientos de fichero al enseñar\n" +" -F, --file-offsets Incluye desplazamientos de fichero al mostrar\n" " la información\n" " -C, --demangle[=ESTILO] Decodifica los nombres de símbolo\n" " obtenidos/procesados\n" @@ -5990,25 +6452,31 @@ " `auto', 'gnu', `lucid', `arm', `hp', `edg',\n" " `gnu-v3', `java' o `gnat'\n" " -w, --wide Da formato a la salida para más de 80 columnas\n" -" -z, --disassemble-zeroes No omite los bloques de ceros al desensamblar\n" -" --start-address=DIR Solo procesa los datos cuya dirección es >= DIR\n" -" --stop-address=DIR Solo procesa los datos cuya dirección es <= DIR\n" -" --prefix-addresses Escribe las direcciones completas a lo largo\n" +" -z, --disassemble-zeroes No salta los bloques de ceros al desensamblar\n" +" --start-address=DIR Sólo procesa los datos cuya dirección es\n" +" >= DIR\n" +" --stop-address=DIR Sólo procesa los datos cuya dirección es\n" +" <= DIR\n" +" --prefix-addresses Muestra las direcciones completas a lo largo\n" " del desensamblado\n" -" --[no-]show-raw-insn Enseña en hexadecimal a lo largo\n" +" --[no-]show-raw-insn Muestra en hexadecimal a lo largo\n" " del desensamblado simbólico\n" -" --insn-width=ANCHO Enseña ANCHO bytes en una sola línea con -d\n" -" --adjust-vma=DESPL Añade el DESPLazamiento a todas las direcciones\n" +" --insn-width=ANCHO Muestra ANCHO bytes en una sola línea con -d\n" +" --adjust-vma=DESPL Agrega el DESPLazamiento a todas las direcciones\n" " mostradas de sección\n" " --special-syms Incluye símbolos especiales en los volcados de\n" " símbolos\n" -" --inlines Escribe todas las líneas internas para línea fuente (con -l)\n" -" --prefix=PREFIJO Añade el PREFIJO a las rutas absolutas con -S\n" +" --prefix=PREFIJO Agrega el PREFIJO a las rutas absolutas con -S\n" " --prefix-strip=NIVEL Descarta los nombres de directorio iniciales\n" " con -S\n" #: objdump.c:264 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| " --dwarf-depth=N Do not display DIEs at depth N or greater\n" +#| " --dwarf-start=N Display DIEs starting with N, at the same depth\n" +#| " or deeper\n" +#| "\n" msgid "" " --dwarf-depth=N Do not display DIEs at depth N or greater\n" " --dwarf-start=N Display DIEs starting with N, at the same depth\n" @@ -6016,11 +6484,9 @@ " --dwarf-check Make additional dwarf internal consistency checks. \n" "\n" msgstr "" -" --dwarf-depth=N No enseña DIEs en la profundidad N o mayor\n" -" --dwarf-start=N Enseña varios DIE empezando en N, a la misma\n" +" --dwarf-depth=N No muestra DIEs en la profundidad N o mayor\n" +" --dwarf-start=N Muestra DIEs empezando en N, a la misma\n" " profundidad o mayor\n" -" --dwarf-check Crea comprobaciones consistentes internas dwarf adicional. \n" -"\n" #: objdump.c:278 #, c-format @@ -6044,7 +6510,7 @@ #: objdump.c:590 #, c-format msgid "Idx %-*s Size %-*s%-*sFile off Algn" -msgstr "Idx %-*s Tam %-*s%-*sFichero ext Algn" +msgstr "" #: objdump.c:596 #, c-format @@ -6052,13 +6518,14 @@ msgstr " Opciones" #: objdump.c:618 -#, c-format +#, fuzzy, c-format +#| msgid "cannot read symbol table" msgid "failed to read symbol table from: %s" -msgstr "fallado para leer segmento simbólico desde: %s" +msgstr "no se puede leer la tabla de símbolos" #: objdump.c:619 objdump.c:3453 msgid "error message was" -msgstr "mensaje erróneo era" +msgstr "" #: objdump.c:643 #, c-format @@ -6073,7 +6540,7 @@ #: objdump.c:1431 #, c-format msgid "source file %s is more recent than object file\n" -msgstr "fichero fuente %s es más reciente que el fichero objeto\n" +msgstr "" #: objdump.c:1883 #, c-format @@ -6081,9 +6548,10 @@ msgstr "disassemble_fn devolvió la longitud %d" #: objdump.c:2189 objdump.c:3079 -#, c-format +#, fuzzy, c-format +#| msgid "Reading %s section of %s failed: %s\n" msgid "Reading section %s failed because: %s" -msgstr "Leyendo sección %s fallado porque: %s" +msgstr "Falló al leer la sección %s de %s: %s\n" #: objdump.c:2206 #, c-format @@ -6114,9 +6582,10 @@ "No se puede obtener el contenido de la sección '%s'.\n" #: objdump.c:2695 -#, c-format +#, fuzzy, c-format +#| msgid "%s: no recognized debugging information" msgid "File %s does not contain any dwarf debug information\n" -msgstr "Fichero %s no contiene ninguna información del depurador dwarf\n" +msgstr "%s: no se reconoce la información de depuración" #: objdump.c:2758 #, c-format @@ -6130,7 +6599,7 @@ #: objdump.c:2764 #, c-format msgid "reading %s section of %s failed: %s" -msgstr "leyendo sección %s de %s fallado: %s" +msgstr "falló al leer la sección %s de %s: %s" #: objdump.c:2808 #, c-format @@ -6149,7 +6618,7 @@ #: objdump.c:2944 #, c-format msgid "flags 0x%08x:\n" -msgstr "marcas 0x%08x:\n" +msgstr "opciones 0x%08x:\n" #: objdump.c:2957 #, c-format @@ -6167,7 +6636,7 @@ #: objdump.c:3007 #, c-format msgid "target specific dump '%s' not supported" -msgstr "volcado específico de destino «%s» incompatible" +msgstr "no se admite el volcado específico de destino '%s'" #: objdump.c:3071 #, c-format @@ -6195,9 +6664,10 @@ msgstr "no se puede determinar el tipo del símbolo número %ld\n" #: objdump.c:3452 -#, c-format +#, fuzzy, c-format +#| msgid "%s: failed to read archive index\n" msgid "failed to read relocs in: %s" -msgstr "fallado al leer reubicaciones en: %s" +msgstr "%s: falló al leer el índice del archivo\n" #: objdump.c:3552 #, c-format @@ -6211,23 +6681,24 @@ #: objdump.c:3614 #, c-format msgid "%s: printing debugging information failed" -msgstr "%s: fallado al mostrar la información de depuración" +msgstr "%s: falló al mostrar la información de depuración" #: objdump.c:3705 #, c-format msgid "In archive %s:\n" -msgstr "Dentro del archivo %s:\n" +msgstr "En el fichero %s:\n" #. Prevent corrupted files from spinning us into an #. infinite loop. 100 is an arbitrary heuristic. #: objdump.c:3710 msgid "Archive nesting is too deep" -msgstr "Archivo anidando es demasiado profundo" +msgstr "" #: objdump.c:3714 -#, c-format +#, fuzzy, c-format +#| msgid "In archive %s:\n" msgid "In nested archive %s:\n" -msgstr "Dentro de archivo anidado %s:\n" +msgstr "En el fichero %s:\n" #: objdump.c:3871 msgid "error: the start address should be before the end address" @@ -6271,245 +6742,295 @@ " twolevel_hints Display the two-level namespace lookup hints table\n" " dyld_info Display dyld information\n" msgstr "" -"Para ficheros Mach-O:\n" -" cabecera\tEnseña la cabecera del fichero\n" -" sección\tEnseña las órdenes de segmentos y secciones\n" -" distribución Enseña la distribución de segmentos\n" -" carga\t\tEnseña las órdenes de carga\n" -" dyssymtab\tEnseña la distribución simbólica dinámica\n" -" codesign\tEnseña la firma del código\n" -" seg_split_info\tEnseña info de segmentos desplegados\n" -" compact_unwind Enseña info desenlazada compactada\n" -" function_starts Enseña dirección inicial de funciones\n" -" data_in_code\tEnseña datos en asientos de código\n" -" twolevel_hints\tEnseña marcas distribuidas de la apariencia de\n" -"\t\t espacio de nombres de dos niveles\n" -"dyld_info\tEnseña información dyld\n" #: od-macho.c:298 +#, fuzzy +#| msgid "Loader header:\n" msgid "Mach-O header:\n" -msgstr "Cabecera Mach-O:\n" +msgstr "Encabezado de cargador:\n" #: od-macho.c:299 -#, c-format +#, fuzzy, c-format +#| msgid " Image id : %s\n" msgid " magic : %08lx\n" -msgstr " mágico : %08lx\n" +msgstr " Id de imagen: %s\n" #: od-macho.c:300 -#, c-format +#, fuzzy, c-format +#| msgid " o_cputype: 0x%04x\n" msgid " cputype : %08lx (%s)\n" -msgstr " tipocpu : %08lx (%s)\n" +msgstr " o_cputype: 0x%04x\n" #: od-macho.c:302 -#, c-format +#, fuzzy, c-format +#| msgid " ftype: %02x " msgid " cpusubtype: %08lx\n" -msgstr " cpusubtype: %08lx\n" +msgstr " ftipo: %02x " #: od-macho.c:303 -#, c-format +#, fuzzy, c-format +#| msgid " ftype: %02x " msgid " filetype : %08lx (%s)\n" -msgstr " tipofich : %08lx (%s)\n" +msgstr " ftipo: %02x " #: od-macho.c:306 #, c-format msgid " ncmds : %08lx (%lu)\n" -msgstr " ncmds : %08lx (%lu)\n" +msgstr "" #: od-macho.c:307 #, c-format msgid " sizeofcmds: %08lx (%lu)\n" -msgstr " sizeofcmds: %08lx (%lu)\n" +msgstr "" #: od-macho.c:308 -#, c-format +#, fuzzy, c-format +#| msgid " flags: 0x%04x " msgid " flags : %08lx (" -msgstr " opciones: %08lx (" +msgstr " opciones: 0x%04x " #: od-macho.c:310 +#, fuzzy +#| msgid "\n" msgid ")\n" -msgstr ")\n" +msgstr "\n" #: od-macho.c:311 #, c-format msgid " reserved : %08x\n" -msgstr " reservado : %08x\n" +msgstr "" #: od-macho.c:330 +#, fuzzy +#| msgid " Segment Sections...\n" msgid "Segments and Sections:\n" -msgstr "Segmentos y Secciones:\n" +msgstr " Segmento Secciones...\n" #: od-macho.c:331 +#, fuzzy +#| msgid " Segment Size: %d\n" msgid " #: Segment name Section name Address\n" -msgstr " #: Nombre de segmento Nombre de sección Dirección\n" +msgstr " Tamaño del Segmento: %d\n" #: od-macho.c:973 +#, fuzzy +#| msgid "cannot read relocations" msgid "cannot read rebase dyld info" -msgstr "no se puede leer info dyld rebasada" +msgstr "no se pueden leer las reubicaciones" #: od-macho.c:978 +#, fuzzy +#| msgid "cannot read symbol entry" msgid "cannot read bind dyld info" -msgstr "no se puede leer info de enlace sydld" +msgstr "no se puede leer la entrada de símbolos" #: od-macho.c:983 +#, fuzzy +#| msgid "cannot read header" msgid "cannot read weak bind dyld info" -msgstr "no se puede leer info enlace débil dyld" +msgstr "no se puede leer el encabezado" #: od-macho.c:988 +#, fuzzy +#| msgid "cannot read line numbers" msgid "cannot read lazy bind dyld info" -msgstr "no se puede leer info enlace vago dyld" +msgstr "no se pueden leer los números de línea" #: od-macho.c:993 +#, fuzzy +#| msgid "cannot read symbol table" msgid "cannot read export symbols dyld info" -msgstr "no se puede leer info exportación simbólica dyld" +msgstr "no se puede leer la tabla de símbolos" #: od-macho.c:1073 od-macho.c:1083 od-macho.c:1157 od-macho.c:1209 #, c-format msgid " [bad block length]\n" -msgstr " [longitus de bloque equivocado]\n" +msgstr "" #: od-macho.c:1077 -#, c-format +#, fuzzy, c-format +#| msgid " Reserved entries:\n" msgid " %u index entry:\n" msgid_plural " %u index entries:\n" -msgstr[0] " %u asiento indexado:\n" -msgstr[1] " %u asientos indexados:\n" +msgstr[0] " Entradas reservadas:\n" +msgstr[1] " Entradas reservadas:\n" #: od-macho.c:1093 #, c-format msgid " index entry %u: type: %08x, offset: %08x\n" -msgstr " asiento indexado %u: tipo: %08x, despl: %08x\n" +msgstr "" #: od-macho.c:1164 -#, c-format +#, fuzzy, c-format +#| msgid " version: %u\n" msgid " version: %08x\n" -msgstr " versión: %08x\n" +msgstr " versión: %u\n" #: od-macho.c:1165 -#, c-format +#, fuzzy, c-format +#| msgid " flags: 0x%04x " msgid " flags: %08x\n" -msgstr " opciones: %08x\n" +msgstr " opciones: 0x%04x " #: od-macho.c:1166 -#, c-format +#, fuzzy, c-format +#| msgid " o_tsize: 0x%08x\n" msgid " hash offset: %08x\n" -msgstr " despl hash: %08x\n" +msgstr " o_tsize: 0x%08x\n" #: od-macho.c:1168 -#, c-format +#, fuzzy, c-format +#| msgid " tb_offset: 0x%08x (start=0x%08x)\n" msgid " ident offset: %08x (- %08x)\n" -msgstr " ident despl: %08x (- %08x)\n" +msgstr " tb_offset: 0x%08x (inicio=0x%08x)\n" #: od-macho.c:1170 -#, c-format +#, fuzzy, c-format +#| msgid " Provider: %s\n" msgid " identity: %s\n" -msgstr " identidad: %s\n" +msgstr " Proveedor: %s\n" #: od-macho.c:1171 #, c-format msgid " nbr special slots: %08x (at offset %08x)\n" -msgstr " ranuras especiales nbr: %08x (al despl. %08x)\n" +msgstr "" #: od-macho.c:1174 -#, c-format +#, fuzzy, c-format +#| msgid " nbr relocs: %u\n" msgid " nbr code slots: %08x\n" -msgstr " ranuras de código nbr: %08x\n" +msgstr " reubics nbr: %u\n" #: od-macho.c:1175 -#, c-format +#, fuzzy, c-format +#| msgid " o_dsize: 0x%08x\n" msgid " code limit: %08x\n" -msgstr " límite código: %08x\n" +msgstr " o_dsize: 0x%08x\n" #: od-macho.c:1176 -#, c-format +#, fuzzy, c-format +#| msgid " o_tsize: 0x%08x\n" msgid " hash size: %02x\n" -msgstr " tamaño hash: %02x\n" +msgstr " o_tsize: 0x%08x\n" #: od-macho.c:1177 -#, c-format +#, fuzzy, c-format +#| msgid " Length: 0x%s (%s)\n" msgid " hash type: %02x (%s)\n" -msgstr " tipo hash: %02x (%s)\n" +msgstr " Longitud: 0x%s (%s)\n" #: od-macho.c:1180 -#, c-format +#, fuzzy, c-format +#| msgid " o_tsize: 0x%08x\n" msgid " spare1: %02x\n" -msgstr " borde1: %02x\n" +msgstr " o_tsize: 0x%08x\n" #: od-macho.c:1181 -#, c-format +#, fuzzy, c-format +#| msgid " o_tsize: 0x%08x\n" msgid " page size: %02x\n" -msgstr " tam página: %02x\n" +msgstr " o_tsize: 0x%08x\n" #: od-macho.c:1182 -#, c-format +#, fuzzy, c-format +#| msgid " o_tsize: 0x%08x\n" msgid " spare2: %08x\n" -msgstr " borde2: %08x\n" +msgstr " o_tsize: 0x%08x\n" #: od-macho.c:1184 -#, c-format +#, fuzzy, c-format +#| msgid " o_data_start: 0x%08x\n" msgid " scatter offset: %08x\n" -msgstr " dispers desplz: %08x\n" +msgstr " o_data_start: 0x%08x\n" #: od-macho.c:1196 -#, c-format +#, fuzzy, c-format +#| msgid "[truncated]\n" msgid " [truncated block]\n" -msgstr " [bloque truncado]\n" +msgstr "[truncado]\n" #: od-macho.c:1204 -#, c-format +#, fuzzy, c-format +#| msgid " tags at %08x\n" msgid " magic : %08x (%s)\n" -msgstr " mágico : %08x (%s)\n" +msgstr " etiquetas en %08x\n" #: od-macho.c:1206 -#, c-format +#, fuzzy, c-format +#| msgid " scnlen: %08x" msgid " length: %08x\n" -msgstr " longitud: %08x\n" +msgstr " scnlon: %08x" #: od-macho.c:1237 +#, fuzzy +#| msgid "cannot read strings table" msgid "cannot read code signature data" -msgstr "no se puede leer datos firmados de código" +msgstr "no se puede leer la tabla de cadenas" #: od-macho.c:1265 +#, fuzzy +#| msgid "cannot read relocations" msgid "cannot read segment split info" -msgstr "no se puede leer información del desglose segmentado" +msgstr "no se pueden leer las reubicaciones" #: od-macho.c:1271 msgid "segment split info is not nul terminated" -msgstr "infor desglose segmental no es terminado con nul" +msgstr "" #: od-macho.c:1279 #, c-format msgid " 32 bit pointers:\n" -msgstr " punteros 32 bit:\n" +msgstr "" #: od-macho.c:1282 #, c-format msgid " 64 bit pointers:\n" -msgstr " punteros 64 bit:\n" +msgstr "" #: od-macho.c:1285 #, c-format msgid " PPC hi-16:\n" -msgstr " PPC hi-16:\n" +msgstr "" #: od-macho.c:1288 -#, c-format +#, fuzzy, c-format +#| msgid " Unhandled magic\n" msgid " Unhandled location type %u\n" -msgstr " Tipo %u de ubicación no manipulado\n" +msgstr " Magic sin manejar\n" #: od-macho.c:1312 +#, fuzzy +#| msgid "cannot read section headers" msgid "cannot read function starts" -msgstr "no se puede leer función inicial" +msgstr "no de pueden leer los encabezados de sección" #: od-macho.c:1376 +#, fuzzy +#| msgid "cannot read header" msgid "cannot read data_in_code" -msgstr "no puede leer datos data_in_code" +msgstr "no se puede leer el encabezado" #: od-macho.c:1414 +#, fuzzy +#| msgid "cannot read relocations" msgid "cannot read twolevel hints" -msgstr "incapaz de leer hueco de dos niveles" +msgstr "no se pueden leer las reubicaciones" #: od-xcoff.c:77 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "For XCOFF files:\n" +#| " header Display the file header\n" +#| " aout Display the auxiliary header\n" +#| " sections Display the section headers\n" +#| " syms Display the symbols table\n" +#| " relocs Display the relocation entries\n" +#| " lineno Display the line number entries\n" +#| " loader Display loader section\n" +#| " except Display exception table\n" +#| " typchk Display type-check section\n" +#| " traceback Display traceback tags\n" +#| " toc Display toc symbols\n" msgid "" "For XCOFF files:\n" " header Display the file header\n" @@ -6526,18 +7047,17 @@ " ldinfo Display loader info in core files\n" msgstr "" "Para ficheros XCOFF:\n" -" header Enseña el encabezado de fichero\n" -" aout Enseña el encabezado auxiliar\n" -" sections Enseña los encabezados de sección\n" -" syms Enseña el segmento simbólico\n" -" relocs Enseña las entradas de reubicación\n" -" lineno Enseña las entradas de número de línea\n" -" loader Enseña la sección de cargador\n" -" except Enseña la tabla de excepción\n" -" typchk Enseña la sección de revisión de tipo\n" -" traceback Enseña las etiquetas de rastreo hacia atrás\n" -" toc Enseña los símbolos de la tabla de contenidos\n" -" ldinfo Enseña información del cargador en ficheros core\n" +" header Muestra el encabezado de fichero\n" +" aout Muestra el encabezado auxiliar\n" +" sections Muestra los encabezados de sección\n" +" syms Muestra la tabla de símbolos\n" +" relocs Muestra las entradas de reubicación\n" +" lineno Muestra las entradas de número de línea\n" +" loader Muestra la sección de cargador\n" +" except Muestra la tabla de excepción\n" +" typchk Muestra la sección de revisión de tipo\n" +" traceback Muestra las etiquetas de rastreo hacia atrás\n" +" toc Muestra los símbolos de la tabla de contenidos\n" #: od-xcoff.c:419 #, c-format @@ -6567,7 +7087,7 @@ #: od-xcoff.c:431 #, c-format msgid " opt hdr sz: %d\n" -msgstr " tam enc opc: %d\n" +msgstr " tam enc opc: %d\n" #: od-xcoff.c:432 #, c-format @@ -6585,9 +7105,10 @@ msgstr " Sin enc aux\n" #: od-xcoff.c:454 -#, c-format +#, fuzzy, c-format +#| msgid "warning: optionnal header size too large (> %d)\n" msgid "warning: optional header size too large (> %d)\n" -msgstr "aviso: tamaño del encabezado opcional es demasiado grande (> %d)\n" +msgstr "warning: el tamaño del encabezado opcional es demasiado grande (> %d)\n" #: od-xcoff.c:460 msgid "cannot read auxhdr" @@ -6605,7 +7126,7 @@ #: od-xcoff.c:535 od-xcoff.c:547 od-xcoff.c:602 msgid "cannot read section header" -msgstr "no se puede leer encabezado de sección" +msgstr "no se puede leer el encabezado de secció" #: od-xcoff.c:561 #, c-format @@ -6619,7 +7140,7 @@ #: od-xcoff.c:590 od-xcoff.c:925 od-xcoff.c:981 msgid "cannot read section headers" -msgstr "no se pueden leer encabezados de sección" +msgstr "no de pueden leer los encabezados de sección" #: od-xcoff.c:649 msgid "cannot read strings table length" @@ -6631,20 +7152,20 @@ #: od-xcoff.c:673 msgid "cannot read symbol table" -msgstr "no se puede leer el segmento simbólico" +msgstr "no se puede leer la tabla de símbolos" #: od-xcoff.c:688 msgid "cannot read symbol entry" -msgstr "no puede leer asiento simbólico" +msgstr "no se puede leer la entrada de símbolos" #: od-xcoff.c:723 msgid "cannot read symbol aux entry" -msgstr "no se puede leer asiento auxiliar simbólico" +msgstr "no se puede leer la entrada aux de símbolos" #: od-xcoff.c:745 #, c-format msgid "Symbols table (strtable at 0x%08x)" -msgstr "Distribución simbólica (initabla en 0x%08x)" +msgstr "Tabla de símbolos (initabla en 0x%08x)" #: od-xcoff.c:750 #, c-format @@ -6686,7 +7207,7 @@ #: od-xcoff.c:894 #, c-format msgid "offset: %08x" -msgstr "desplz: %08x" +msgstr "despl: %08x" #: od-xcoff.c:937 #, c-format @@ -6704,7 +7225,7 @@ #: od-xcoff.c:993 #, c-format msgid "Line numbers for %s (%u)\n" -msgstr "Números lineales para %s (%u)\n" +msgstr "Números de línea para %s (%u)\n" #: od-xcoff.c:996 msgid "cannot read line numbers" @@ -6743,7 +7264,7 @@ #: od-xcoff.c:1069 #, c-format msgid " Unhandled version\n" -msgstr " Versión no manupulada\n" +msgstr " Versión sin manejar\n" #: od-xcoff.c:1074 #, c-format @@ -6759,7 +7280,7 @@ #: od-xcoff.c:1078 #, c-format msgid " import strtab len: %u\n" -msgstr " len tabcad importado: %u\n" +msgstr " len tabcad import: %u\n" #: od-xcoff.c:1081 #, c-format @@ -6774,12 +7295,12 @@ #: od-xcoff.c:1085 #, c-format msgid " string table len: %u\n" -msgstr " lon segmento caden: %u\n" +msgstr " lon tabla cadenas: %u\n" #: od-xcoff.c:1087 #, c-format msgid " string table off: %u\n" -msgstr " desp segmento cadena: %u\n" +msgstr " desp tabla cadena: %u\n" #: od-xcoff.c:1090 #, c-format @@ -6799,7 +7320,7 @@ #: od-xcoff.c:1119 #, c-format msgid "(bad offset: %u)" -msgstr "(desplz equivocado: %u)" +msgstr "(desplazamiento erróneo: %u)" #: od-xcoff.c:1126 #, c-format @@ -6819,7 +7340,7 @@ #: od-xcoff.c:1206 #, c-format msgid "Exception table:\n" -msgstr "Distribución de excepción:\n" +msgstr "Tabla de excepción:\n" #: od-xcoff.c:1241 #, c-format @@ -6829,7 +7350,7 @@ #: od-xcoff.c:1248 #, c-format msgid "Type-check section:\n" -msgstr "Sección comprobación tipada:\n" +msgstr "Sección revisión de tipo:\n" #: od-xcoff.c:1295 #, c-format @@ -6879,7 +7400,7 @@ #: od-xcoff.c:1559 #, c-format msgid "Nbr entries: %-8u Size: %08x (%u)\n" -msgstr "Asientos nbr: %-8u Tam: %08x (%u)\n" +msgstr "Entradas nbr: %-8u Tam: %08x (%u)\n" #: od-xcoff.c:1643 msgid "cannot read header" @@ -6898,7 +7419,7 @@ #: od-xcoff.c:1656 #, c-format msgid "(WRMAGIC: writable text segments)" -msgstr "(WRMAGIC: segmentos de texto modificables)" +msgstr " (WRMAGIC: segmentos de texto modificables)" #: od-xcoff.c:1659 #, c-format @@ -6921,8 +7442,10 @@ msgstr " Magic sin manejar\n" #: od-xcoff.c:1737 +#, fuzzy +#| msgid "cannot read strings table" msgid "cannot read loader info table" -msgstr "no puede leer cargador de segmento de información" +msgstr "no se puede leer la tabla de cadenas" #: od-xcoff.c:1769 #, c-format @@ -6930,37 +7453,40 @@ "\n" "ldinfo dump not supported in 32 bits environments\n" msgstr "" -"\n" -"Info ID no compartible en entorno de 32 bit\n" #: od-xcoff.c:1787 +#, fuzzy +#| msgid "cannot read header" msgid "cannot core read header" -msgstr "no se puede leer cabecera del núcleo" +msgstr "no se puede leer el encabezado" #: od-xcoff.c:1794 -#, c-format +#, fuzzy, c-format +#| msgid "Loader header:\n" msgid "Core header:\n" -msgstr "Cabecera `core':\n" +msgstr "Encabezado de cargador:\n" #: od-xcoff.c:1795 -#, c-format +#, fuzzy, c-format +#| msgid " Version: %d\n" msgid " version: 0x%08x " -msgstr " versión: 0x%08x " +msgstr " Versión: %d\n" #: od-xcoff.c:1799 #, c-format msgid "(dumpx format - aix4.3 / 32 bits)" -msgstr "(formato de volcado dumpx - aix4.3 / 32 bits)" +msgstr "" #: od-xcoff.c:1802 #, c-format msgid "(dumpxx format - aix5.0 / 64 bits)" -msgstr "(formato dumpxx - aix5.0 / 64 bits)" +msgstr "" #: od-xcoff.c:1805 -#, c-format +#, fuzzy, c-format +#| msgid "unknown mac" msgid "unknown format" -msgstr "formato desconocido" +msgstr "mac desconocida" #: rclex.c:196 msgid "invalid value specified for pragma code_page.\n" @@ -6969,22 +7495,22 @@ #: rdcoff.c:116 #, c-format msgid "Excessively large slot index: %lx" -msgstr "Ranura indexada excesivamente grande: %lx" +msgstr "" #: rdcoff.c:202 #, c-format msgid "parse_coff_type: Bad type code 0x%x" -msgstr "parse_coff_type: Código de tipo 0x%x equivocado" +msgstr "parse_coff_type: Código de tipo 0x%x erróneo" #: rdcoff.c:410 rdcoff.c:515 rdcoff.c:703 #, c-format msgid "bfd_coff_get_syment failed: %s" -msgstr "bfd_coff_get_syment fallado: %s" +msgstr "bfd_coff_get_syment falló: %s" #: rdcoff.c:426 rdcoff.c:723 #, c-format msgid "bfd_coff_get_auxent failed: %s" -msgstr "bfd_coff_get_auxent fallado: %s" +msgstr "bfd_coff_get_auxent falló: %s" #: rdcoff.c:790 #, c-format @@ -7004,40 +7530,43 @@ #: rddbg.c:194 #, c-format msgid "%s: %s: stab entry %ld is corrupt, strx = 0x%x, type = %d\n" -msgstr "%s: %s: asiento stab %ld está corrupto, strx = 0x%x, tipo = %d\n" +msgstr "" #: rddbg.c:218 #, c-format msgid "%s: %s: stab entry %ld is corrupt\n" -msgstr "%s: %s: asiento stab %ld está corrompido\n" +msgstr "" #: rddbg.c:417 #, c-format msgid "Last stabs entries before error:\n" -msgstr "Últimos asientos stabs anterior al error:\n" +msgstr "Últimas entradas stabs antes del error:\n" #: readelf.c:304 msgid "" msgstr "" #: readelf.c:305 +#, fuzzy +#| msgid " (no strings):\n" msgid "" -msgstr "" +msgstr " (sin cadenas):\n" #: readelf.c:382 #, c-format msgid "Size truncation prevents reading %s elements of size %s for %s\n" -msgstr "Tamaño truncado previene lectura de elementos %s de tamaño %s para %s\n" +msgstr "" #: readelf.c:392 #, c-format msgid "Size overflow prevents reading %s elements of size %s for %s\n" -msgstr "Tamaño del desbordamiento superior previene lectura de %s elementos de tamaño %s para %s\n" +msgstr "" #: readelf.c:404 -#, c-format +#, fuzzy, c-format +#| msgid " Version def aux past end of section\n" msgid "Reading %s bytes extends past end of file for %s\n" -msgstr "Leyendo %s bytes extiende final pasado de fichero para %s\n" +msgstr " Versión def aux después del final de la sección\n" #: readelf.c:412 #, c-format @@ -7045,14 +7574,16 @@ msgstr "No se puede buscar a 0x%lx para %s\n" #: readelf.c:428 -#, c-format +#, fuzzy, c-format +#| msgid "Out of memory allocating 0x%lx bytes for %s\n" msgid "Out of memory allocating %s bytes for %s\n" -msgstr "Asignación de %s bytes de memoria agotada para %s\n" +msgstr "Memoria agotada al asignar 0x%lx bytes para %s\n" #: readelf.c:439 -#, c-format +#, fuzzy, c-format +#| msgid "unable to read contents of %s" msgid "Unable to read in %s bytes of %s\n" -msgstr "Incapaz de leer en %s bytes de %s\n" +msgstr "no se puede leer el contenido de %s" #: readelf.c:868 msgid "Don't know about relocations on this machine architecture\n" @@ -7064,7 +7595,7 @@ #: readelf.c:907 readelf.c:937 readelf.c:1011 readelf.c:1040 msgid "out of memory parsing relocs\n" -msgstr "memoria agotada durante interpretación de reubicaciones\n" +msgstr "memoria agotada al decodificar reubicaciones\n" #: readelf.c:925 readelf.c:1029 msgid "64-bit relocation data" @@ -7093,7 +7624,7 @@ #: readelf.c:1176 #, c-format msgid " Offset Info Type Symbol's Value Symbol's Name + Addend\n" -msgstr " Desplaz Info Tipo Valor Simbólico Nombre Simbólico + Agregado\n" +msgstr " Desplaz Info Tipo Valor Símbolo Nombre Símbolo + Adend\n" #: readelf.c:1178 #, c-format @@ -7121,19 +7652,20 @@ msgstr "" #: readelf.c:1590 -#, c-format +#, fuzzy, c-format +#| msgid " bad symbol index: %08lx" msgid " bad symbol index: %08lx in reloc" -msgstr " índice simbólico equivocado: %08lx en reubicación" +msgstr "índice de símbolos erróneo: %08lx" #: readelf.c:1691 #, c-format msgid "" -msgstr "<índice de la segmento de cadenas: %3ld>" +msgstr "<índice de la tabla de cadenas: %3ld>" #: readelf.c:1694 #, c-format msgid "" -msgstr "<índice de la segmento de cadenas corrupto: %3ld>" +msgstr "<índice de la tabla de cadenas corrupto: %3ld>" #: readelf.c:2180 #, c-format @@ -7143,7 +7675,7 @@ #: readelf.c:2207 #, c-format msgid "Operating System specific: %lx" -msgstr "Sistema Operativo específico: %lx" +msgstr "específico del Sistema Operativo: %lx" #: readelf.c:2211 readelf.c:3947 #, c-format @@ -7209,17 +7741,21 @@ msgstr "mac desconocida" #: readelf.c:3197 +#, fuzzy +#| msgid "unknown BB type" msgid ", " -msgstr ", " +msgstr "tipo BB desconocido" #: readelf.c:3207 +#, fuzzy +#| msgid "unknown BB type" msgid "" -msgstr "" +msgstr "tipo BB desconocido" #: readelf.c:3218 #, c-format msgid ", unknown flags bits: %#x" -msgstr ", bits de marca desconocida: %#x" +msgstr "" #: readelf.c:3227 msgid ", relocatable" @@ -7227,7 +7763,7 @@ #: readelf.c:3230 msgid ", relocatable-lib" -msgstr ", bib-reubicable" +msgstr ", bib reubicable" #: readelf.c:3312 msgid ", unknown v850 architecture variant" @@ -7248,19 +7784,23 @@ #: readelf.c:3584 #, c-format msgid "Unrecognised IA64 VMS Command Code: %x\n" -msgstr "Código de Órdenes VMS IA64 no reconocido: %x\n" +msgstr "" #: readelf.c:3648 +#, fuzzy +#| msgid ", unknown v850 architecture variant" msgid ": architecture variant: " -msgstr ": variante arquitectural: " +msgstr ", variante de arquitectura v850 desconocida" #: readelf.c:3667 +#, fuzzy +#| msgid "unknown" msgid ": unknown" -msgstr ": desconocido" +msgstr "desconocido" #: readelf.c:3671 msgid ": unknown extra flag bits also present" -msgstr ": varios bit de opciones desconocidas adicional también presentes" +msgstr "" #: readelf.c:3720 msgid "Standalone App" @@ -7291,10 +7831,43 @@ #: readelf.c:4333 #, c-format msgid " Display information about the contents of ELF format files\n" -msgstr " Enseña información sobre el contenido de los ficheros de formato ELF\n" +msgstr " Muestra información sobre el contenido de los ficheros de formato ELF\n" #: readelf.c:4334 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| " Options are:\n" +#| " -a --all Equivalent to: -h -l -S -s -r -d -V -A -I\n" +#| " -h --file-header Display the ELF file header\n" +#| " -l --program-headers Display the program headers\n" +#| " --segments An alias for --program-headers\n" +#| " -S --section-headers Display the sections' header\n" +#| " --sections An alias for --section-headers\n" +#| " -g --section-groups Display the section groups\n" +#| " -t --section-details Display the section details\n" +#| " -e --headers Equivalent to: -h -l -S\n" +#| " -s --syms Display the symbol table\n" +#| " --symbols An alias for --syms\n" +#| " --dyn-syms Display the dynamic symbol table\n" +#| " -n --notes Display the core notes (if present)\n" +#| " -r --relocs Display the relocations (if present)\n" +#| " -u --unwind Display the unwind info (if present)\n" +#| " -d --dynamic Display the dynamic section (if present)\n" +#| " -V --version-info Display the version sections (if present)\n" +#| " -A --arch-specific Display architecture specific information (if any).\n" +#| " -c --archive-index Display the symbol/file index in an archive\n" +#| " -D --use-dynamic Use the dynamic section info when displaying symbols\n" +#| " -x --hex-dump=\n" +#| " Dump the contents of section as bytes\n" +#| " -p --string-dump=\n" +#| " Dump the contents of section as strings\n" +#| " -R --relocated-dump=\n" +#| " Dump the contents of section as relocated bytes\n" +#| " -w[lLiaprmfFsoRt] or\n" +#| " --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,\n" +#| " =frames-interp,=str,=loc,=Ranges,=pubtypes,\n" +#| " =gdb_index,=trace_info,=trace_abbrev,=trace_aranges]\n" +#| " Display the contents of DWARF2 debug sections\n" msgid "" " Options are:\n" " -a --all Equivalent to: -h -l -S -s -r -d -V -A -I\n" @@ -7333,25 +7906,25 @@ msgstr "" " Las opciones son:\n" " -a --all Equivalente a: -h -l -S -s -r -d -V -A -I\n" -" -h --file-header Enseña el encabezado del fichero ELF\n" -" -l --program-headers Enseña los encabezados del programa\n" +" -h --file-header Muestra el encabezado del fichero ELF\n" +" -l --program-headers Muestra los encabezados del programa\n" " --segments Un alias para --program-headers\n" -" -S --section-headers Enseña el encabezado de las secciones\n" +" -S --section-headers Muestra el encabezado de las secciones\n" " --sections Un alias para --section-headers\n" -" -g --section-groups Enseña los grupos de sección\n" -" -t --section-details Enseña los detalles de sección\n" +" -g --section-groups Muestra los grupos de sección\n" +" -t --section-details Muestra los detalles de sección\n" " -e --headers Equivalente a: -h -l -S\n" -" -s --syms Enseña el segmento simbólico\n" +" -s --syms Muestra la tabla de símbolos\n" " --symbols Un alias para --syms\n" -" --dyn-syms Enseña el segmento simbólico dinámico\n" -" -n --notes Enseña las notas de núcleo (si están presentes)\n" -" -r --relocs Enseña las reubicaciones (si están presentes)\n" -" -u --unwind Enseña la información de desenredo (si está presente)\n" -" -d --dynamic Enseña la sección dinámica (si está presente)\n" -" -V --version-info Enseña las secciones de versión (si están presentes)\n" -" -A --arch-specific Enseña la información específica de la arquitectura\n" +" --dyn-syms Muestra la tabla de símbolos dinámicos\n" +" -n --notes Muestra las notas de núcleo (si están presentes)\n" +" -r --relocs Muestra las reubicaciones (si están presentes)\n" +" -u --unwind Muestra la información de desenredo (si está presente)\n" +" -d --dynamic Muestra la seccion dinámica (si está presente)\n" +" -V --version-info Muestra las secciones de versión (si están presentes)\n" +" -A --arch-specific Muestra la información específica de la arquitectura\n" " (si hay alguna).\n" -" -c --archive-index Enseña el índice de símbolos/ficheros en un archivo\n" +" -c --archive-index Muestra el índice de símbolos/ficheros en un archivo\n" " -D --use-dynamic Usa la información de la sección dinámica cuando\n" " muestra símbolos\n" " -x --hex-dump=\n" @@ -7363,12 +7936,12 @@ " -R --relocated-dump=\n" " Vuelca el contenido de la sección \n" " como bytes reubicados\n" -" -z --decompress Descomprime sección antes de volcarla\n" " -w[lLiaprmfFsoRt] o\n" " --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,\n" " =frames-interp,=str,=loc,=Ranges,=pubtypes,\n" " =gdb_index,=trace_info,=trace_abbrev,=trace_aranges]\n" -" Enseña el contenido de las secciones de depuración DWARF2\n" +" Muestra el contenido de las secciones de depuración\n" +" DWARF2\n" #: readelf.c:4368 #, c-format @@ -7378,7 +7951,7 @@ " or deeper\n" msgstr "" " --dwarf-depth=N No muestra DIEs a la profundidad N o mayor\n" -" --dwarf-start=N Enseña DIEs iniciando con N, a la misma\n" +" --dwarf-start=N Muestra DIEs iniciando con N, a la misma\n" " profundidad o mayor\n" #: readelf.c:4373 @@ -7399,16 +7972,16 @@ " -H --help Display this information\n" " -v --version Display the version number of readelf\n" msgstr "" -" -I --histogram Enseña un histograma de longitudes de la lista de\n" +" -I --histogram Muestra un histograma de longitudes de la lista de\n" " cubetas\n" " -W --wide Permite que el ancho de la salida exceda 80 caracteres\n" " @ Lee opciones del \n" -" -H --help Enseña esta información\n" -" -v --version Enseña el número de versión de readelf\n" +" -H --help Muestra esta información\n" +" -v --version Muestra el número de versión de readelf\n" #: readelf.c:4406 readelf.c:4437 readelf.c:4441 msgid "Out of memory allocating dump request table.\n" -msgstr "Asignación de petición de volcado de tabla de memoria agotada.\n" +msgstr "Memoria agotada al asignar la tabla de petición de volcado.\n" #: readelf.c:4618 #, c-format @@ -7429,7 +8002,7 @@ #: readelf.c:4678 msgid "Not an ELF file - it has the wrong magic bytes at the start\n" -msgstr "No es un fichero ELF - tiene los bytes mágicos equivocados en el inicio\n" +msgstr "No es un fichero ELF - tiene los bytes mágicos erróneos en el inicio\n" #: readelf.c:4688 #, c-format @@ -7464,7 +8037,7 @@ #: readelf.c:4704 #, c-format msgid " OS/ABI: %s\n" -msgstr " SO/ABI: %s\n" +msgstr " OS/ABI: %s\n" #: readelf.c:4706 #, c-format @@ -7547,7 +8120,7 @@ #: readelf.c:4744 #, c-format msgid " Section header string table index: %ld" -msgstr " Indexa segmento de cadenas de sección de encabezado: %ld" +msgstr " Índice de tabla de cadenas de sección de encabezado: %ld" #: readelf.c:4751 #, c-format @@ -7556,13 +8129,11 @@ #: readelf.c:4791 readelf.c:4838 msgid "The e_phentsize field in the ELF header is less than the size of an ELF program header\n" -msgstr "El tamaño del campo e_shentsize dentro a la cabecera ELF es menos que el tamaño de una cabecera de programa ELF\n" +msgstr "" #: readelf.c:4795 readelf.c:4842 msgid "The e_phentsize field in the ELF header is larger than the size of an ELF program header\n" msgstr "" -"El campo e_phentsize dentro de la cabecera ELF es más grande que el tamaño de una cabecera de programa ELF\n" -" \n" #: readelf.c:4798 readelf.c:4845 msgid "program headers" @@ -7571,18 +8142,19 @@ #: readelf.c:4884 #, c-format msgid "Too many program headers - %#x - the file is not that big\n" -msgstr "Demasiadas cabeceras programadas - %#x - el fichero no es tan grande\n" +msgstr "" #: readelf.c:4893 -#, c-format +#, fuzzy, c-format +#| msgid "Out of memory reading long symbol names in archive\n" msgid "Out of memory reading %u program headers\n" -msgstr "" -"Memoria agotada al leer %u cabeceras de programa\n" -"\n" +msgstr "Memoria agotada al leer los nombres de símbolo long en el archivo\n" #: readelf.c:4924 +#, fuzzy +#| msgid "possibly corrupt ELF header - it has a non-zero program header offset, but no program headers" msgid "possibly corrupt ELF header - it has a non-zero program header offset, but no program headers\n" -msgstr "encabezado ELF probablemente corrupto - tiene una cabecera de programa distinta de cero, pero no tiene ningún encabezado de programa\n" +msgstr "encabezado ELF posiblemente corrupto - tiene un desplazamiento de encabezado de programa que no es cero, pero no tiene encabezados de programa" #: readelf.c:4929 #, c-format @@ -7603,16 +8175,24 @@ "El tipo del fichero elf es %s\n" #: readelf.c:4936 -#, c-format +#, fuzzy, c-format +#| msgid "Entry point " msgid "Entry point 0x%s\n" -msgstr "Punto asiento 0x%s\n" +msgstr "Punto de entrada " #: readelf.c:4937 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "There are %d program headers, starting at offset " msgid "There is %d program header, starting at offset %s\n" msgid_plural "There are %d program headers, starting at offset %s\n" -msgstr[0] "Hay %d encabezado de programa, empezando en el desplazamiento %s\n" -msgstr[1] "Hay %d encabezados de programa, empezando en el desplazamiento %s\n" +msgstr[0] "" +"\n" +"Hay %d encabezados de programa, empezando en el desplazamiento " +msgstr[1] "" +"\n" +"Hay %d encabezados de programa, empezando en el desplazamiento " #: readelf.c:4950 readelf.c:4952 #, c-format @@ -7636,7 +8216,7 @@ #: readelf.c:4963 #, c-format msgid " Type Offset VirtAddr PhysAddr\n" -msgstr " Tipo Desplaz DirVirtual DirFísica\n" +msgstr " Tipo Desplazamiento DirVirtual DirFísica\n" #: readelf.c:4965 #, c-format @@ -7645,19 +8225,19 @@ #: readelf.c:5064 msgid "LOAD segments must be sorted in order of increasing VirtAddr\n" -msgstr "Segmentos de carga LOAD deben estar ordenados en incremento de VirtAddr\n" +msgstr "" #: readelf.c:5067 msgid "the segment's file size is larger than its memory size\n" -msgstr "el tamaño del fichero del segmento es mayor que su tamaño de memoria\n" +msgstr "" #: readelf.c:5074 msgid "the PHDR segment must occur before any LOAD segment\n" -msgstr "el segmento PHDR debe ocurrir antes que cualquier segmento de carga LOAD\n" +msgstr "" #: readelf.c:5086 msgid "the PHDR segment is not covered by a LOAD segment\n" -msgstr "el segmento PHDR no está cubierto por un segmento LOAD\n" +msgstr "" #: readelf.c:5092 msgid "more than one dynamic segment\n" @@ -7678,8 +8258,6 @@ #: readelf.c:5139 msgid "the dynamic segment offset + size exceeds the size of the file\n" msgstr "" -"el desplazamiento de segmento dinámico + tamaño excede el tamaño del fichero\n" -" \n" #: readelf.c:5147 msgid "Unable to find program interpreter name\n" @@ -7694,9 +8272,14 @@ msgstr "No se puede leer el nombre del intérprete de programa\n" #: readelf.c:5161 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| " [Requesting program interpreter: %s]" msgid " [Requesting program interpreter: %s]\n" -msgstr " [Peticionando programa interpretador: %s]\n" +msgstr "" +"\n" +" [Se solicita el intérprete de programa: %s]" #: readelf.c:5172 #, c-format @@ -7705,7 +8288,7 @@ " Section to Segment mapping:\n" msgstr "" "\n" -" Distribución de Sección a Segmento:\n" +" mapeo de Sección a Segmento:\n" #: readelf.c:5173 #, c-format @@ -7723,47 +8306,48 @@ #: readelf.c:5250 readelf.c:5314 msgid "The e_shentsize field in the ELF header is less than the size of an ELF section header\n" -msgstr "El tamaño del campo e_shentsize dentro a la cabecera ELF es menos que el tamaño de una cabecera de sección ELF\n" +msgstr "" #: readelf.c:5254 readelf.c:5319 msgid "The e_shentsize field in the ELF header is larger than the size of an ELF section header\n" -msgstr "El tamaño del campo e_shentsize dentro a la cabecera ELF es mayor que el tamaño de una cabecera de sección ELF\n" +msgstr "" #: readelf.c:5258 readelf.c:5324 msgid "section headers" msgstr "encabezados de sección" #: readelf.c:5268 readelf.c:5334 -#, c-format +#, fuzzy, c-format +#| msgid "Out of memory reading long symbol names in archive\n" msgid "Out of memory reading %u section headers\n" -msgstr "" -"Memoria agotada al leer %u cabeceras de sección\n" -"\n" +msgstr "Memoria agotada al leer los nombres de símbolo long en el archivo\n" #: readelf.c:5287 readelf.c:5353 #, c-format msgid "Section %u has an out of range sh_link value of %u\n" -msgstr "Sección %u tiene un valor fuera de rango sh_link de %u\n" +msgstr "" #: readelf.c:5289 readelf.c:5355 #, c-format msgid "Section %u has an out of range sh_info value of %u\n" -msgstr "Sección %u tiene un valor sh_info fuera del rango de %u\n" +msgstr "" #: readelf.c:5384 readelf.c:5497 -#, c-format +#, fuzzy, c-format +#| msgid "Section %d has invalid sh_entsize %lx (expected %lx)\n" msgid "Section %s has an invalid sh_entsize of 0x%lx\n" -msgstr "La sección %s tiene un sh_entsize de 0x%lx inválido\n" +msgstr "La sección %d tiene un sh_entsize %lx inválido (se esperaba %lx)\n" #: readelf.c:5392 readelf.c:5505 -#, c-format +#, fuzzy, c-format +#| msgid "Section %d has invalid sh_entsize %lx (expected %lx)\n" msgid "Section %s has an invalid sh_size of 0x%lx\n" -msgstr "La sección %s tiene un sh_size de 0x%lx inválido\n" +msgstr "La sección %d tiene un sh_entsize %lx inválido (se esperaba %lx)\n" #: readelf.c:5402 readelf.c:5515 #, c-format msgid "Size (0x%lx) of section %s is not a multiple of its sh_entsize (0x%lx)\n" -msgstr "Tamaño (0x%lx) de sección %s no es un múltiplo de si sh_entsize (0x%lx)\n" +msgstr "" #: readelf.c:5410 readelf.c:5523 msgid "symbols" @@ -7771,21 +8355,23 @@ #: readelf.c:5424 readelf.c:5537 msgid "symbol table section indicies" -msgstr "índices de la sección de segmento simbólica" +msgstr "índices de la sección de tabla de símbolos" #: readelf.c:5430 readelf.c:5543 -#, c-format +#, fuzzy, c-format +#| msgid "Section %d has invalid sh_entsize %lx (expected %lx)\n" msgid "Index section %s has an sh_size of 0x%lx - expected 0x%lx\n" -msgstr "Sección indizada %s tiene un sh_size de 0x%lx - se esperaba 0x%lx\n" +msgstr "La sección %d tiene un sh_entsize %lx inválido (se esperaba %lx)\n" #: readelf.c:5443 readelf.c:5556 -#, c-format +#, fuzzy, c-format +#| msgid "Out of memory reading long symbol names in archive\n" msgid "Out of memory reading %lu symbols\n" -msgstr "Memoria agotada al leer %lu símbolos\n" +msgstr "Memoria agotada al leer los nombres de símbolo long en el archivo\n" #: readelf.c:5737 readelf.c:5812 readelf.c:5830 readelf.c:5848 msgid "Internal error: not enough buffer room for section flag info" -msgstr "Error interno: no hay suficiente búfer para info de opciones de sección" +msgstr "" #: readelf.c:5855 #, c-format @@ -7794,7 +8380,7 @@ #: readelf.c:5874 readelf.c:5889 msgid "Compressed section is too small even for a compression header\n" -msgstr "Sección comprimida %s es demasiado pequeña para una compresión de cabecera\n" +msgstr "" #: readelf.c:5913 msgid "possibly corrupt ELF file header - it has a non-zero section header offset, but no section headers\n" @@ -7810,35 +8396,37 @@ "No hay secciones en este fichero.\n" #: readelf.c:5924 -#, c-format +#, fuzzy, c-format +#| msgid "There are %d section headers, starting at offset 0x%lx:\n" msgid "There is %d section header, starting at offset 0x%lx:\n" msgid_plural "There are %d section headers, starting at offset 0x%lx:\n" -msgstr[0] "Hay %d encabezado de sección, comenzando en el desplazamiento: 0x%lx:\n" +msgstr[0] "Hay %d encabezados de sección, comenzando en el desplazamiento: 0x%lx:\n" msgstr[1] "Hay %d encabezados de sección, comenzando en el desplazamiento: 0x%lx:\n" #: readelf.c:5953 readelf.c:6728 readelf.c:7174 readelf.c:7583 readelf.c:8026 #: readelf.c:9130 readelf.c:11631 readelf.c:13597 readelf.c:17458 msgid "string table" -msgstr "segmento de cadenas" +msgstr "tabla de cadenas" #. Note: coded this way so that there is a single string for translation. #: readelf.c:6024 -#, c-format +#, fuzzy, c-format +#| msgid "Section %d has invalid sh_entsize %lx (expected %lx)\n" msgid "Section %d has invalid sh_entsize of %s\n" -msgstr "La sección %d tiene un sh_entsize inválido de %s\n" +msgstr "La sección %d tiene un sh_entsize %lx inválido (se esperaba %lx)\n" #: readelf.c:6025 #, c-format msgid "(Using the expected size of %u for the rest of this dump)\n" -msgstr "(Empleando el tamaño estipulado de %u para el resto de este volcado)\n" +msgstr "" #: readelf.c:6046 msgid "File contains multiple dynamic symbol tables\n" -msgstr "El fichero contiene múltiples segmentos dinámicas simbólicas\n" +msgstr "El fichero contiene múltiples tablas dinámicas de símbolos\n" #: readelf.c:6058 msgid "File contains multiple dynamic string tables\n" -msgstr "El fichero contiene múltiples segmentos dinámicas de cadenas\n" +msgstr "El fichero contiene múltiples tablas dinámicas de cadenas\n" #: readelf.c:6064 msgid "dynamic strings" @@ -7915,37 +8503,37 @@ #: readelf.c:6218 #, c-format msgid "[%2u]: Link field (%u) should index a symtab section.\n" -msgstr "[%2u]: campo enlazado (%u) debería indexar una sección symtab.\n" +msgstr "" #: readelf.c:6231 #, c-format msgid "[%2u]: Link field (%u) should index a string section.\n" -msgstr "[%2u]: campo enlace (%u) debería indexar una sección encadenada.\n" +msgstr "" #: readelf.c:6239 readelf.c:6250 #, c-format msgid "[%2u]: Unexpected value (%u) in link field.\n" -msgstr "[%2u]: valor inesperado (%u) dentro de campo enlazador.\n" +msgstr "" #: readelf.c:6281 #, c-format msgid "[%2u]: Info field (%u) should index a relocatable section.\n" -msgstr "[%2u]: campo informativo (%u) debería indexar una sección reubicable.\n" +msgstr "" #: readelf.c:6293 readelf.c:6320 #, c-format msgid "[%2u]: Unexpected value (%u) in info field.\n" -msgstr "[%2u]: valor inesperado (%u) dentro de campo información.\n" +msgstr "" #: readelf.c:6315 #, c-format msgid "[%2u]: Expected link to another section in info field" -msgstr "[%2u]: enlace esperado a otra sección dentro de campo informativo" +msgstr "" #: readelf.c:6330 #, c-format msgid "Size of section %u is larger than the entire file!\n" -msgstr "¡Tamaño de sección %u es mayor que el campo completo!\n" +msgstr "" #: readelf.c:6399 #, c-format @@ -7953,19 +8541,27 @@ msgstr "sección %u: el valor sh_link de %u es mayor que el número de secciones\n" #: readelf.c:6501 +#, fuzzy +#| msgid "menu header" msgid "compression header" -msgstr "cabecera compresa" +msgstr "encabezado de menú" #: readelf.c:6510 -#, c-format +#, fuzzy, c-format +#| msgid "[: 0x%x] " msgid " [: 0x%x], " -msgstr " [: 0x%x], " +msgstr "[: 0x%x] " #. The ordering of the letters shown here matches the ordering of the #. corresponding SHF_xxx values, and hence the order in which these #. letters will be displayed to the user. #: readelf.c:6524 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "Key to Flags:\n" +#| " W (write), A (alloc), X (execute), M (merge), S (strings)\n" +#| " I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)\n" +#| " O (extra OS processing required) o (OS specific), p (processor specific)\n" msgid "" "Key to Flags:\n" " W (write), A (alloc), X (execute), M (merge), S (strings), I (info),\n" @@ -7973,32 +8569,31 @@ " C (compressed), x (unknown), o (OS specific), E (exclude),\n" " " msgstr "" -"Tecla para Marcas:\n" -" W (escribir), A (asignar), X (ejecutar), M (unir), S (cadenas),\n" -" I (info), L (orden enlazado), O (proceso del SO adicional requerido),\n" -" G (grupo), T (TLS), C (comprimido), x (desconocido), o (específico\n" -" del SO), E (excluir),\n" -" " +"Clave para Opciones:\n" +" W (escribir), A (asignar), X (ejecutar), M (mezclar), S (cadenas)\n" +" I (info), L (orden enlazado), G (grupo), T (TLS), E (excluir)\n" +" x (desconocido), O (se requiere procesamiento extra del SO)\n" +" o (específico del SO), p (específico del procesador)\n" #: readelf.c:6531 #, c-format msgid "l (large), " -msgstr "(grande), " +msgstr "" #: readelf.c:6533 #, c-format msgid "y (purecode), " -msgstr "y (purecode), " +msgstr "" #: readelf.c:6535 #, c-format msgid "v (VLE), " -msgstr "v (VLE), " +msgstr "" #: readelf.c:6552 #, c-format msgid "[0x%x: " -msgstr "[0x%x: " +msgstr "" #: readelf.c:6594 #, c-format @@ -8014,9 +8609,10 @@ msgstr "¡Los encabezados de sección no están disponibles!\n" #: readelf.c:6611 -#, c-format +#, fuzzy, c-format +#| msgid "Out of memory reading long symbol names in archive\n" msgid "Out of memory reading %u section group headers\n" -msgstr "Memoria agotada al leer %u cabeceras de sección de grupo\n" +msgstr "Memoria agotada al leer los nombres de símbolo long en el archivo\n" #: readelf.c:6627 #, c-format @@ -8028,14 +8624,15 @@ "No hay grupos de sección en este fichero.\n" #: readelf.c:6636 -#, c-format +#, fuzzy, c-format +#| msgid "out of memory parsing relocs\n" msgid "Out of memory reading %lu groups\n" -msgstr "Memoria agotada al leer %lu grupos\n" +msgstr "memoria agotada al decodificar reubicaciones\n" #: readelf.c:6666 #, c-format msgid "Bad sh_link in group section `%s'\n" -msgstr "Equivocación con sh_link dentro de sección del grupo «%s»\n" +msgstr "sh_link erróneo en la sección de grupo `%s'\n" #: readelf.c:6680 #, c-format @@ -8045,12 +8642,13 @@ #: readelf.c:6686 readelf.c:6697 #, c-format msgid "Bad sh_info in group section `%s'\n" -msgstr "Equivocación con sh_info en sección del grupo `%s'\n" +msgstr "sh_info erróneo en la sección de grupo `%s'\n" #: readelf.c:6738 -#, c-format +#, fuzzy, c-format +#| msgid "Section %d has invalid sh_entsize %lx (expected %lx)\n" msgid "Section %s has sh_entsize (0x%lx) which is larger than its size (0x%lx)\n" -msgstr "La sección %s tiene un sh_entsize (0x%lx) el cual es mayor que su tamaño (0x%lx)\n" +msgstr "La sección %d tiene un sh_entsize %lx inválido (se esperaba %lx)\n" #: readelf.c:6747 msgid "section data" @@ -8063,7 +8661,7 @@ "%sgroup section [%5u] `%s' [%s] contains %u sections:\n" msgstr "" "\n" -"%s sección de grupo [%5u] «%s» [%s] contiene %u secciones:\n" +"%sla sección de grupo [%5u] `%s' [%s] contiene %u secciones:\n" #: readelf.c:6761 #, c-format @@ -8076,8 +8674,10 @@ msgstr "la sección [%5u] en la sección de grupo [%5u] > máximo de sección [%5u]\n" #: readelf.c:6782 +#, fuzzy +#| msgid "Further warnings about bogus end-of-sibling markers suppressed\n" msgid "Further error messages about overlarge group section indicies suppressed\n" -msgstr "Mensajes de error adicionales acerca de índices de sección agrupados sobredimensionados suprimidos\n" +msgstr "Se suprimen los avisos restantes sobre marcardores de fin-de-hermanos ambiguos\n" #: readelf.c:6795 #, c-format @@ -8086,7 +8686,7 @@ #: readelf.c:6799 msgid "Further error messages about already contained group sections suppressed\n" -msgstr "Mensaje de error posterior acerca de secciones suprimidas ya contenidas\n" +msgstr "" #: readelf.c:6811 #, c-format @@ -8100,7 +8700,7 @@ #: readelf.c:6888 #, c-format msgid "corrupt library name index of 0x%lx found in dynamic entry" -msgstr "índice de nombre de biblioteca corrupto de 0x%lx encontrado en asiento dinámico" +msgstr "" #: readelf.c:6892 #, c-format @@ -8166,29 +8766,36 @@ "La sección de reubicación " #: readelf.c:7141 -#, c-format +#, fuzzy, c-format +#| msgid " at offset 0x%lx contains %lu entries:\n" msgid " at offset 0x%lx contains %lu entry:\n" msgid_plural " at offset 0x%lx contains %lu entries:\n" -msgstr[0] " en el desplazamiento 0x%lx contiene %lu asiento:\n" -msgstr[1] " en el desplazamiento 0x%lx contiene %lu asientos:\n" +msgstr[0] " en el desplazamiento 0x%lx contiene %lu entradas:\n" +msgstr[1] " en el desplazamiento 0x%lx contiene %lu entradas:\n" #: readelf.c:7202 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "There are no dynamic relocations in this file.\n" msgid "" "\n" "There are no static relocations in this file." msgstr "" "\n" -"No hay reubicaciones estáticas en este fichero." +"No hay reubicaciones dinámicas en este fichero.\n" #: readelf.c:7203 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "There are no dynamic relocations in this file.\n" msgid "" "\n" "To see the dynamic relocations add --use-dynamic to the command line.\n" msgstr "" "\n" -"Para ver la reubicación dinámica añada --use-dynamic a la línea de orden.\n" +"No hay reubicaciones dinámicas en este fichero.\n" #: readelf.c:7209 #, c-format @@ -8202,7 +8809,7 @@ #: readelf.c:7379 #, c-format msgid "Invalid offset %lx in table entry %ld\n" -msgstr "Desplazamiento %lx inválido dentro de distribución de asiento %ld\n" +msgstr "" #: readelf.c:7397 #, c-format @@ -8211,26 +8818,31 @@ #: readelf.c:7460 readelf.c:7884 msgid "unwind table" -msgstr "segmento desenredada" +msgstr "tabla desenredada" #: readelf.c:7510 -#, c-format +#, fuzzy, c-format +#| msgid "Skipping unexpected relocation type %s\n" msgid "Skipping unknown relocation type: %u\n" -msgstr "Omitiendo tipo de reubicación desconocida: %u\n" +msgstr "Se salta el tipo de reubicación %s inesperado\n" #: readelf.c:7517 -#, c-format +#, fuzzy, c-format +#| msgid "Skipping unexpected relocation type %s\n" msgid "Skipping unexpected relocation type: %s\n" -msgstr "Omitiendo el tipo de reubicación inesperado: %s\n" +msgstr "Se salta el tipo de reubicación %s inesperado\n" #: readelf.c:7526 -#, c-format +#, fuzzy, c-format +#| msgid "Skipping unexpected relocation at offset 0x%lx\n" msgid "Skipping reloc with overlarge offset: %lx\n" -msgstr "Omitiendo reubicación con desplazamiento superado: %lx\n" +msgstr "" +"Se salta la reubicación inesperada en el desplazamiento 0x%lx\n" +"\n" #: readelf.c:7577 readelf.c:8020 msgid "Multiple auxillary string tables encountered\n" -msgstr "Múltiples segmentos de cadenas textuales auxiliares encontradas\n" +msgstr "" #: readelf.c:7591 readelf.c:8034 readelf.c:9138 #, c-format @@ -8271,10 +8883,13 @@ #: readelf.c:7966 #, c-format msgid "Skipping unexpected relocation type %s\n" -msgstr "Omitiendo el tipo de reubicación %s inesperado\n" +msgstr "Se salta el tipo de reubicación %s inesperado\n" #: readelf.c:8042 readelf.c:9145 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Unwind table index '%s' at offset 0x%lx contains %lu entries:\n" msgid "" "\n" "Unwind section '%s' at offset 0x%lx contains %lu entry:\n" @@ -8283,10 +8898,10 @@ "Unwind section '%s' at offset 0x%lx contains %lu entries:\n" msgstr[0] "" "\n" -"El índice de segmento de desenredo «%s» en el desplazamiento 0x%lx contiene %lu asiento:\n" +"El índice de tabla de desenredo '%s' en el desplazamiento 0x%lx contiene %lu entradas:\n" msgstr[1] "" "\n" -"El índice de segmento de desenredo «%s» en el desplazamiento 0x%lx contiene %lu asientos:\n" +"El índice de tabla de desenredo '%s' en el desplazamiento 0x%lx contiene %lu entradas:\n" #: readelf.c:8181 msgid "unwind data" @@ -8295,42 +8910,51 @@ #: readelf.c:8254 #, c-format msgid "Skipping unexpected relocation at offset 0x%lx\n" -msgstr "Omitiendo la reubicación inesperada en el desplazamiento 0x%lx\n" +msgstr "" +"Se salta la reubicación inesperada en el desplazamiento 0x%lx\n" +"\n" #: readelf.c:8276 -#, c-format +#, fuzzy, c-format +#| msgid " Unknown section contexts\n" msgid "Unknown section relocation type %d encountered\n" -msgstr "Tipo de reubicación de sección desconocida %d encontrado\n" +msgstr " Contexto de la sección desconocida\n" #: readelf.c:8284 #, c-format msgid "Bad symbol index in unwind relocation (%lu > %lu)\n" -msgstr "Indexación simbólica equivocada en reubicación relajada (%lu > %lu)\n" +msgstr "" #: readelf.c:8299 -#, c-format +#, fuzzy, c-format +#| msgid "Skipping unexpected relocation type %s\n" msgid "Skipping unknown ARM relocation type: %d\n" -msgstr "Omitiendo tipo de reubicación ARM desconocida: %d\n" +msgstr "Se salta el tipo de reubicación %s inesperado\n" #: readelf.c:8309 -#, c-format +#, fuzzy, c-format +#| msgid "Skipping unexpected relocation type %s\n" msgid "Skipping unexpected ARM relocation type %s\n" -msgstr "Omitiendo tipo de reubicación ARM inesperado %s\n" +msgstr "Se salta el tipo de reubicación %s inesperado\n" #: readelf.c:8318 -#, c-format +#, fuzzy, c-format +#| msgid "Skipping unexpected relocation type %s\n" msgid "Skipping unknown C6000 relocation type: %d\n" -msgstr "Omitiendo tipo de reubicación C6000 desconocido: %d\n" +msgstr "Se salta el tipo de reubicación %s inesperado\n" #: readelf.c:8328 -#, c-format +#, fuzzy, c-format +#| msgid "Skipping unexpected relocation type %s\n" msgid "Skipping unexpected C6000 relocation type %s\n" -msgstr "Omitiendo tipo de reubicación C6000 inesperado %s\n" +msgstr "Se salta el tipo de reubicación %s inesperado\n" #. This function currently only supports ARM and TI unwinders. #: readelf.c:8337 +#, fuzzy +#| msgid "Only DWARF 2 and 3 pubnames are currently supported\n" msgid "Only TI and ARM unwinders are currently supported\n" -msgstr "Solo TI y ARM no deseados son actualmente compatibles\n" +msgstr "Solo se admiten actualmente los nombres públicos DWARF 2 y 3\n" #: readelf.c:8400 #, c-format @@ -8355,16 +8979,16 @@ #: readelf.c:8504 readelf.c:8597 #, c-format msgid "[Spare]" -msgstr "[Espacio]" +msgstr "[Libre]" #: readelf.c:8538 msgid "corrupt change to vsp" -msgstr "modificación corrupta a vsp" +msgstr "" #: readelf.c:8619 readelf.c:8769 #, c-format msgid " [unsupported opcode]" -msgstr " [código de operación no admitido]" +msgstr " [no se admite el código de operación]" #: readelf.c:8712 #, c-format @@ -8377,7 +9001,7 @@ #: readelf.c:8751 msgid "Corrupt stack pointer adjustment detected\n" -msgstr "Ajuste de puntero de pila corrupto detectado\n" +msgstr "" #: readelf.c:8758 #, c-format @@ -8397,21 +9021,23 @@ #: readelf.c:8884 #, c-format msgid "Corrupt ARM compact model table entry: %x \n" -msgstr "Asiento distribuido de modelo compacto ARM corrupto: %x \n" +msgstr "" #: readelf.c:8889 -#, c-format +#, fuzzy, c-format +#| msgid " Compact model %d\n" msgid " Compact model index: %d\n" -msgstr " Indexa modelo compacto: %d\n" +msgstr " Modelo compacto %d\n" #: readelf.c:8915 msgid "Unknown ARM compact model index encountered\n" -msgstr "Encontrado índice de modelo compacto ARM desconocido\n" +msgstr "" #: readelf.c:8916 -#, c-format +#, fuzzy, c-format +#| msgid " [Reserved]" msgid " [reserved]\n" -msgstr " [reservado]\n" +msgstr " [Reservado]" #: readelf.c:8931 #, c-format @@ -8434,24 +9060,27 @@ msgstr " Registro de devolución: %s\n" #: readelf.c:8943 -#, c-format +#, fuzzy, c-format +#| msgid " [reserved compact index %d]\n" msgid " [reserved (%d)]\n" -msgstr " [reservado (%d)]\n" +msgstr " [índice compacto reservado %d]\n" #: readelf.c:8947 #, c-format msgid "Unsupported architecture type %d encountered when decoding unwind table\n" -msgstr "Tipo arquitecto incompatible %d encontrado cuando decodificaba distribución no relajada\n" +msgstr "" #: readelf.c:9002 -#, c-format +#, fuzzy, c-format +#| msgid "" msgid "corrupt index table entry: %x\n" -msgstr "asiento de segmento indizada corrupta: %x\n" +msgstr "<índice de la tabla de cadenas corrupto: %3ld>" #: readelf.c:9042 -#, c-format +#, fuzzy, c-format +#| msgid "skipping invalid relocation offset 0x%lx in section %s\n" msgid "Unwind entry contains corrupt offset (0x%lx) into section %s\n" -msgstr "Asiento irreubicable contiene desplazamiento corrompido (0x%lx) dentro de sección %s\n" +msgstr "se salta el desplazamiento de reubicación inválido 0x%lx en la sección %s\n" #: readelf.c:9058 #, c-format @@ -8461,11 +9090,11 @@ #: readelf.c:9103 #, c-format msgid "Unsupported architecture type %d encountered when processing unwind table\n" -msgstr "Tipo arquitecto incompatible %d encontrado cuando procesaba distribución no relajada\n" +msgstr "" #: readelf.c:9125 msgid "Multiple string tables found in file.\n" -msgstr "Múltiples segmentos de cadenas textuales encontrada en el fichero.\n" +msgstr "" #: readelf.c:9191 #, c-format @@ -8473,38 +9102,41 @@ "\n" "The decoding of unwind sections for machine type %s is not currently supported.\n" msgstr "" -"\n" -"La decodificación de secciones unwind para tipo de máquina %s no está apoyada actualmente.\n" #: readelf.c:9203 -#, c-format +#, fuzzy, c-format +#| msgid "NONE\n" msgid "NONE" -msgstr "NINGUNO" +msgstr "NINGUNO\n" #: readelf.c:9228 -#, c-format +#, fuzzy, c-format +#| msgid "Interface Version: %s\n" msgid "Interface Version: %s" -msgstr "Versión interfaz: %s" +msgstr "Versión de Interfaz: %s\n" #. Note: coded this way so that there is a single string for translation. #: readelf.c:9234 -#, c-format +#, fuzzy, c-format +#| msgid "\n" msgid "" -msgstr "" +msgstr "\n" #: readelf.c:9252 -#, c-format +#, fuzzy, c-format +#| msgid "Time Stamp: %s\n" msgid "Time Stamp: %s" -msgstr "Marca Temporal: %s" +msgstr "Marca de Tiempo: %s\n" #: readelf.c:9430 readelf.c:9478 msgid "dynamic section" msgstr "sección dinámica" #: readelf.c:9450 readelf.c:9499 -#, c-format +#, fuzzy, c-format +#| msgid "Out of memory allocating 0x%lx bytes for %s\n" msgid "Out of memory allocating space for %lu dynamic entries\n" -msgstr "Asignación de espacio de memoria agotado para %lu asientos dinámicos\n" +msgstr "Memoria agotada al asignar 0x%lx bytes para %s\n" #: readelf.c:9559 #, c-format @@ -8519,7 +9151,7 @@ #: readelf.c:9597 #, c-format msgid "Invalid DT_SYMTAB entry: %lx" -msgstr "Asiento inválido DT_SYMTAB: %lx" +msgstr "" #: readelf.c:9615 msgid "Unable to determine the number of symbols to load\n" @@ -8527,28 +9159,32 @@ #: readelf.c:9651 msgid "Unable to determine the length of the dynamic string table\n" -msgstr "No se puede determinar la longitud de la segmento dinámica de cadenas\n" +msgstr "No se puede determinar la longitud de la tabla dinámica de cadenas\n" #: readelf.c:9657 msgid "dynamic string table" -msgstr "segmento de cadena dinámicas" +msgstr "tabla de cadena dinámicas" #: readelf.c:9679 #, c-format msgid "Bad value (%d) for SYMINENT entry\n" -msgstr "Valor (%d) equivocado para asiento SYMINENT\n" +msgstr "" #: readelf.c:9698 msgid "symbol information" msgstr "información del símbolo" #: readelf.c:9705 -#, c-format +#, fuzzy, c-format +#| msgid "Out of memory allocating 0x%lx bytes for %s\n" msgid "Out of memory allocating %lu byte for dynamic symbol info\n" -msgstr "Asignación de %lu bytes de memoria agotada para informe simbólico dinámico\n" +msgstr "Memoria agotada al asignar 0x%lx bytes para %s\n" #: readelf.c:9724 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Dynamic section at offset 0x%lx contains %u entries:\n" msgid "" "\n" "Dynamic section at offset 0x%lx contains %lu entry:\n" @@ -8557,11 +9193,10 @@ "Dynamic section at offset 0x%lx contains %lu entries:\n" msgstr[0] "" "\n" -"Sección dinámica con desplazamiento 0x%lx contiene %lu asiento:\n" +"La sección dinámica en el desplazamiento 0x%lx contiene %u entradas:\n" msgstr[1] "" "\n" -"Sección dinámica con desplazamiento 0x%lx contiene %lu asientos:\n" -"\n" +"La sección dinámica en el desplazamiento 0x%lx contiene %u entradas:\n" #: readelf.c:9731 #, c-format @@ -8596,7 +9231,7 @@ #: readelf.c:9799 readelf.c:9827 readelf.c:9855 #, c-format msgid "Flags:" -msgstr "Marcas:" +msgstr "Opciones:" #: readelf.c:9802 readelf.c:9830 readelf.c:9857 #, c-format @@ -8639,12 +9274,16 @@ msgstr "Objeto innecesario: [%s]\n" #: readelf.c:10152 -#, c-format +#, fuzzy, c-format +#| msgid "\n" msgid "\n" #: readelf.c:10269 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Version definition section '%s' contains %u entries:\n" msgid "" "\n" "Version definition section '%s' contains %u entry:\n" @@ -8653,10 +9292,10 @@ "Version definition section '%s' contains %u entries:\n" msgstr[0] "" "\n" -"La sección de definición de versión «%s» contiene %u asiento:\n" +"La sección de definición de versión '%s' contiene %u entradas:\n" msgstr[1] "" "\n" -"La sección de definición de versión «%s» contiene %u asientos:\n" +"La sección de definición de versión '%s' contiene %u entradas:\n" #: readelf.c:10277 #, c-format @@ -8673,9 +9312,10 @@ msgstr "sección de definición de versión" #: readelf.c:10314 -#, c-format +#, fuzzy, c-format +#| msgid " %#06x: Rev: %d Flags: %s" msgid " %#06lx: Rev: %d Flags: %s" -msgstr " %#06lx: Rev: %d Marcas: %s" +msgstr " %#06x: Rev: %d Opts: %s" #: readelf.c:10317 #, c-format @@ -8695,17 +9335,19 @@ #: readelf.c:10345 #, c-format msgid "Invalid vda_next field of %lx\n" -msgstr "Campo vda_next inválido de %lx\n" +msgstr "" #: readelf.c:10365 -#, c-format +#, fuzzy, c-format +#| msgid " %#06x: Parent %d: %s\n" msgid " %#06lx: Parent %d: %s\n" -msgstr " %#06lx: Anterior %d: %s\n" +msgstr " %#06x: Padre %d: %s\n" #: readelf.c:10368 -#, c-format +#, fuzzy, c-format +#| msgid " %#06x: Parent %d, name index: %ld\n" msgid " %#06lx: Parent %d, name index: %ld\n" -msgstr " %#06lx: Anterior %d, índice de nombres: %ld\n" +msgstr " %#06x: Padre %d, índice de nombres: %ld\n" #: readelf.c:10373 #, c-format @@ -8715,7 +9357,7 @@ #: readelf.c:10380 #, c-format msgid "Invalid vd_next field of %lx\n" -msgstr "Campo vd_next inválido de %lx\n" +msgstr "" #: readelf.c:10391 #, c-format @@ -8723,7 +9365,10 @@ msgstr " Definición de versión después del final de la sección\n" #: readelf.c:10406 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Version needs section '%s' contains %u entries:\n" msgid "" "\n" "Version needs section '%s' contains %u entry:\n" @@ -8732,10 +9377,10 @@ "Version needs section '%s' contains %u entries:\n" msgstr[0] "" "\n" -"La versión requiere que sección '%s' contenga %u asiento:\n" +"La sección de requerimientos de versión '%s' contiene %u entradas:\n" msgstr[1] "" "\n" -"La versión requiere que sección '%s' contenga %u asientos:\n" +"La sección de requerimientos de versión '%s' contiene %u entradas:\n" #: readelf.c:10413 #, c-format @@ -8744,12 +9389,13 @@ #: readelf.c:10422 msgid "Version Needs section" -msgstr "Versión Requiere sección" +msgstr "sección Requerimientos de Versión" #: readelf.c:10447 -#, c-format +#, fuzzy, c-format +#| msgid " %#06x: Version: %d" msgid " %#06lx: Version: %d" -msgstr " %#06lx: Versión: %d" +msgstr " %#06x: Versión: %d" #: readelf.c:10450 #, c-format @@ -8767,14 +9413,16 @@ msgstr " Cnt: %d\n" #: readelf.c:10477 -#, c-format +#, fuzzy, c-format +#| msgid " %#06x: Name: %s" msgid " %#06lx: Name: %s" -msgstr " %#06lx: Nombre: %s" +msgstr " %#06x: Nombre: %s" #: readelf.c:10480 -#, c-format +#, fuzzy, c-format +#| msgid " %#06x: Name index: %lx" msgid " %#06lx: Name index: %lx" -msgstr " %#06lx: Índice de nombres: %lx" +msgstr " %#06x: Índice de nombres: %lx" #: readelf.c:10483 #, c-format @@ -8784,7 +9432,7 @@ #: readelf.c:10489 #, c-format msgid "Invalid vna_next field of %lx\n" -msgstr "Campo vna_next inválido de %lx\n" +msgstr "" #: readelf.c:10502 msgid "Missing Version Needs auxillary information\n" @@ -8793,7 +9441,7 @@ #: readelf.c:10507 #, c-format msgid "Invalid vn_next field of %lx\n" -msgstr "Campo vd_next invalido de %lx\n" +msgstr "" #: readelf.c:10517 msgid "Missing Version Needs information\n" @@ -8801,10 +9449,13 @@ #: readelf.c:10555 msgid "version string table" -msgstr "segmento de cadenas de versión" +msgstr "tabla de cadenas de versión" #: readelf.c:10562 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Version symbols section '%s' contains %d entries:\n" msgid "" "\n" "Version symbols section '%s' contains %lu entry:\n" @@ -8813,12 +9464,10 @@ "Version symbols section '%s' contains %lu entries:\n" msgstr[0] "" "\n" -"Versión simbólica de sección «%s» contiene %lu asiento:\n" -"\n" +"La sección de símbolos de versión '%s' contiene %d entradas:\n" msgstr[1] "" "\n" -"Versión simbólica de sección «%s» contiene %lu asientos:\n" -"\n" +"La sección de símbolos de versión '%s' contiene %d entradas:\n" #: readelf.c:10569 #, c-format @@ -8847,11 +9496,11 @@ #: readelf.c:10645 readelf.c:11272 msgid "version need" -msgstr "la versión requiere" +msgstr "la versión necesita" #: readelf.c:10656 msgid "version need aux (2)" -msgstr "la versión requiere aux (2)" +msgstr "la versión necesita aux (2)" #: readelf.c:10702 readelf.c:11220 msgid "version def" @@ -8863,7 +9512,7 @@ #: readelf.c:10738 msgid "*both*" -msgstr "*ambos*" +msgstr "" #: readelf.c:10768 #, c-format @@ -8875,24 +9524,26 @@ "No se encontró información de versión en este fichero.\n" #: readelf.c:10867 -#, c-format +#, fuzzy, c-format +#| msgid "Unrecognized form: %lu\n" msgid "Unrecognized visibility value: %u" -msgstr "Valor visible no reconocido: %u" +msgstr "No se reconoce form: %lu\n" #: readelf.c:10928 -#, c-format +#, fuzzy, c-format +#| msgid "Unrecognized XCOFF type %d\n" msgid "Unrecognized IA64 VMS ST Function type: %d\n" -msgstr "No se reconoce el tipo IA64 VMS ST Funcional: %d\n" +msgstr "No se reconoce el tipo XCOFF %d\n" #: readelf.c:10952 #, c-format msgid "Unrecognized IA64 VMS ST Linkage: %d\n" -msgstr "No se reconoce IA64 VMS ST enlazado: %d\n" +msgstr "" #: readelf.c:10972 #, c-format msgid ": %d" -msgstr ": %d" +msgstr "" #: readelf.c:11007 #, c-format @@ -8900,41 +9551,45 @@ msgstr ": %x" #: readelf.c:11046 -#, c-format +#, fuzzy, c-format +#| msgid "Reading section failed" msgid "bad section index[%3d]" -msgstr "índice[%3d] de sección equivocada" +msgstr "Falló al leer la sección" #: readelf.c:11067 #, c-format msgid "Size truncation prevents reading %s elements of size %u\n" -msgstr "Tamaño truncado previene lectura de elementos %s de tamaño %u\n" +msgstr "" #: readelf.c:11076 -#, c-format +#, fuzzy, c-format +#| msgid " Number of section headers: %ld" msgid "Invalid number of dynamic entries: %s\n" -msgstr "" -"Número inválido de entradas dinámicas: %s\n" -"\n" +msgstr " Número de encabezados de sección: %ld" #: readelf.c:11084 -#, c-format +#, fuzzy, c-format +#| msgid "Out of memory allocating 0x%lx bytes for %s\n" msgid "Out of memory reading %s dynamic entries\n" -msgstr "Memoria agotada al leer %s asientos dinámicos\n" +msgstr "Memoria agotada al asignar 0x%lx bytes para %s\n" #: readelf.c:11091 -#, c-format +#, fuzzy, c-format +#| msgid "Unable to seek to start of dynamic information\n" msgid "Unable to read in %s bytes of dynamic data\n" -msgstr "Incapaz de leer en %s bytes de datos dinámicos\n" +msgstr "No se puede encontrar el inicio de la información dinámica\n" #: readelf.c:11100 -#, c-format +#, fuzzy, c-format +#| msgid "Out of memory allocating 0x%lx bytes for %s\n" msgid "Out of memory allocating space for %s dynamic entries\n" -msgstr "Asignación de espacio de memoria agotado para %s asientos dinámicos\n" +msgstr "Memoria agotada al asignar 0x%lx bytes para %s\n" #: readelf.c:11127 -#, c-format +#, fuzzy, c-format +#| msgid "no information for symbol number %ld\n" msgid "\n" -msgstr "\n" +msgstr "no hay información para el símbolo número %ld\n" #: readelf.c:11159 #, c-format @@ -8947,7 +9602,7 @@ #: readelf.c:11290 msgid "version need aux (3)" -msgstr "la versión requiere aux (3)" +msgstr "la versión necesita aux (3)" #: readelf.c:11365 readelf.c:11417 readelf.c:11441 readelf.c:11471 #: readelf.c:11495 @@ -8956,15 +9611,15 @@ #: readelf.c:11371 readelf.c:11423 msgid "Failed to read in number of buckets\n" -msgstr "Fallado al leer el número de cubos\n" +msgstr "Falló al leer el número de cubos\n" #: readelf.c:11377 msgid "Failed to read in number of chains\n" -msgstr "Fallado al leer el número de cadenas\n" +msgstr "Falló al leer el número de cadenas\n" #: readelf.c:11479 msgid "Failed to determine last chain length\n" -msgstr "Fallado al determinar la última longitud encadenada\n" +msgstr "No se puede determinar la longitud de la última cadena\n" #: readelf.c:11526 #, c-format @@ -8973,7 +9628,7 @@ "Symbol table for image:\n" msgstr "" "\n" -"Distribución simbólica para imagen:\n" +"Tabla de símbolos por imagen:\n" #: readelf.c:11528 readelf.c:11554 #, c-format @@ -8987,7 +9642,7 @@ #: readelf.c:11541 readelf.c:11737 msgid "histogram chain is corrupt\n" -msgstr "histograma de cadena está corrompida\n" +msgstr "" #: readelf.c:11552 #, c-format @@ -8996,7 +9651,7 @@ "Symbol table of `.gnu.hash' for image:\n" msgstr "" "\n" -"Distribución simbólica de `.gnu.hash' para la imagen:\n" +"Tabla de símbolos de `.gnu.hash' para la imagen:\n" #: readelf.c:11597 #, c-format @@ -9005,10 +9660,13 @@ "Symbol table '%s' has a sh_entsize of zero!\n" msgstr "" "\n" -"¡La segmento simbólica '%s' tiene un sh_entsize de cero!\n" +"¡La tabla de símbolos '%s' tiene un sh_entsize de cero!\n" #: readelf.c:11603 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Symbol table '%s' contains %lu entries:\n" msgid "" "\n" "Symbol table '%s' contains %lu entry:\n" @@ -9017,10 +9675,10 @@ "Symbol table '%s' contains %lu entries:\n" msgstr[0] "" "\n" -"El segmento simbólico «%s» contiene %lu asiento:\n" +"La tabla de símbolos '%s' contiene %lu entradas:\n" msgstr[1] "" "\n" -"El segmento simbólico «%s» contiene %lu asientos:\n" +"La tabla de símbolos '%s' contiene %lu entradas:\n" #: readelf.c:11610 #, c-format @@ -9035,7 +9693,7 @@ #: readelf.c:11687 #, c-format msgid "local symbol %u found at index >= %s's sh_info value of %u\n" -msgstr "símbolo local %u encontrada en índice >= %s valor sh_info de %u\n" +msgstr "" #: readelf.c:11698 #, c-format @@ -9047,7 +9705,10 @@ "La información de símbolos dinámicos no está disponible para mostrar los símbolos.\n" #: readelf.c:11711 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Histogram for bucket list length (total of %lu buckets):\n" msgid "" "\n" "Histogram for bucket list length (total of %lu bucket):\n" @@ -9056,26 +9717,33 @@ "Histogram for bucket list length (total of %lu buckets):\n" msgstr[0] "" "\n" -"Histograma para la longitud de lista de cubos (total de %lu cubo):\n" +"Histograma para la longitud de lista de cubos (total de %lu cubos):\n" msgstr[1] "" "\n" "Histograma para la longitud de lista de cubos (total de %lu cubos):\n" #: readelf.c:11721 +#, fuzzy +#| msgid "Out of memory allocating dump request table.\n" msgid "Out of memory allocating space for histogram buckets\n" -msgstr "Asignación de espacio de memoria agotado para obteniendo espacio para volcados histogramáticos\n" +msgstr "Memoria agotada al asignar la tabla de petición de volcado.\n" #: readelf.c:11727 readelf.c:11803 #, c-format msgid " Length Number %% of total Coverage\n" -msgstr " Long. Número %% del total Cobertura\n" +msgstr " Long Número %% del total Cobertura\n" #: readelf.c:11749 +#, fuzzy +#| msgid "Out of memory allocating 0x%lx bytes for %s\n" msgid "Out of memory allocating space for histogram counts\n" -msgstr "Asignación de espacio de memoria agotado para conteos histogramáticos\n" +msgstr "Memoria agotada al asignar 0x%lx bytes para %s\n" #: readelf.c:11789 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Histogram for `.gnu.hash' bucket list length (total of %lu buckets):\n" msgid "" "\n" "Histogram for `.gnu.hash' bucket list length (total of %lu bucket):\n" @@ -9084,22 +9752,28 @@ "Histogram for `.gnu.hash' bucket list length (total of %lu buckets):\n" msgstr[0] "" "\n" -"Histograma para la anchura de lista de cubos `.gnu.hash' (total de %lu cubo):\n" +"Histograma para la longitud de lista de cubos `.gnu.hash' (total de %lu cubos):\n" msgstr[1] "" "\n" -"Histograma para la anchura de lista de cubos `.gnu.hash' (total de %lu cubos):\n" -"\n" +"Histograma para la longitud de lista de cubos `.gnu.hash' (total de %lu cubos):\n" #: readelf.c:11799 +#, fuzzy +#| msgid "Out of memory allocating dump request table.\n" msgid "Out of memory allocating space for gnu histogram buckets\n" -msgstr "Asignación de espacio de memoria agotada para volcados históricos gnu\n" +msgstr "Memoria agotada al asignar la tabla de petición de volcado.\n" #: readelf.c:11825 +#, fuzzy +#| msgid "Out of memory allocating dump request table.\n" msgid "Out of memory allocating space for gnu histogram counts\n" -msgstr "Asignación de espacio de memoria agotada para conteos histogramáticos gnu\n" +msgstr "Memoria agotada al asignar la tabla de petición de volcado.\n" #: readelf.c:11870 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Dynamic info segment at offset 0x%lx contains %d entries:\n" msgid "" "\n" "Dynamic info segment at offset 0x%lx contains %d entry:\n" @@ -9108,10 +9782,10 @@ "Dynamic info segment at offset 0x%lx contains %d entries:\n" msgstr[0] "" "\n" -"El segmento de información dinámica en el desplazamiento 0x%lx contiene %d asiento:\n" +"El segmento de información dinámica en el desplazamiento 0x%lx contiene %d entradas:\n" msgstr[1] "" "\n" -"El segmento de información dinámica en el desplazamiento 0x%lx contiene %d asientos:\n" +"El segmento de información dinámica en el desplazamiento 0x%lx contiene %d entradas:\n" #: readelf.c:11877 #, c-format @@ -9119,9 +9793,10 @@ msgstr " Num: Nombre EnlaceA Opts\n" #: readelf.c:11884 -#, c-format +#, fuzzy, c-format +#| msgid "" msgid "" -msgstr "" +msgstr "" #: readelf.c:11888 #, c-format @@ -9131,51 +9806,55 @@ #: readelf.c:11977 #, c-format msgid "MSP430 SYM_DIFF reloc contains invalid symbol index %lu\n" -msgstr "Reubicación MSP430 SYM_DIFF contiene índices simbólicos %lu inválidos\n" +msgstr "" #: readelf.c:12006 #, c-format msgid "MSP430 reloc contains invalid symbol index %lu\n" -msgstr "Reubicación MSP430 contiene indexado simbólico %lu inválido\n" +msgstr "" #. PR 21137 #: readelf.c:12017 #, c-format msgid "MSP430 sym diff reloc contains invalid offset: 0x%lx\n" -msgstr "Símbolo MSP430 difiere reubicación contiene desplazamiento inválido: 0x%lx\n" +msgstr "" #: readelf.c:12028 +#, fuzzy +#| msgid "Unhandled MN10300 reloc type found after SYM_DIFF reloc" msgid "Unhandled MSP430 reloc type found after SYM_DIFF reloc\n" -msgstr "Encontrado tipo reubicado MSP430 no manipulado tras reubicar SYM_DIFF\n" +msgstr "Se encontró un tipo de reubicación MN10300 sin manejar después de la reubicación SYM_DIFF" #: readelf.c:12051 #, c-format msgid "MN10300_SYM_DIFF reloc contains invalid symbol index %lu\n" -msgstr "Reubicación MN10300_SYM_DIFF contiene %lu índices simbólicos inválidos\n" +msgstr "" #: readelf.c:12065 #, c-format msgid "MN10300 reloc contains invalid symbol index %lu\n" -msgstr "Reubicación MN10300 contiene %lu índices simbólicos inválidos\n" +msgstr "" #: readelf.c:12075 #, c-format msgid "MN10300 sym diff reloc contains invalid offset: 0x%lx\n" -msgstr "Reubicación diferencial simbólica MN10300 contiene desplazamiento no válido: 0x%lx\n" +msgstr "" #: readelf.c:12085 +#, fuzzy +#| msgid "Unhandled MN10300 reloc type found after SYM_DIFF reloc" msgid "Unhandled MN10300 reloc type found after SYM_DIFF reloc\n" -msgstr "Encontrado tipo reubicado MN10300 no manipulado tras SYM_DIFF reubicado\n" +msgstr "Se encontró un tipo de reubicación MN10300 sin manejar después de la reubicación SYM_DIFF" #: readelf.c:12108 #, c-format msgid "RL78_SYM reloc contains invalid symbol index %lu\n" -msgstr "RL78_SYM reubica contiene índices simbólicos inválidos %lu\n" +msgstr "" #: readelf.c:12127 readelf.c:12136 #, c-format msgid "RL78 sym diff reloc contains invalid offset: 0x%lx\n" -msgstr "Símbolo RL78 diferencial reubicado contiene desplazamiento inválido: 0x%lx\n" +msgstr "" #: readelf.c:12345 #, c-format @@ -9190,17 +9869,18 @@ #: readelf.c:12965 #, c-format msgid "skipping invalid relocation offset 0x%lx in section %s\n" -msgstr "omitiendo el desplazamiento de reubicación inválido 0x%lx en la sección %s\n" +msgstr "se salta el desplazamiento de reubicación inválido 0x%lx en la sección %s\n" #: readelf.c:12975 #, c-format msgid "skipping invalid relocation symbol index 0x%lx in section %s\n" -msgstr "omitiendo el índice de símbolo de reubicación inválido 0x%lx en la sección %s\n" +msgstr "se salta el índice de símbolo de reubicación inválido 0x%lx en la sección %s\n" #: readelf.c:12999 -#, c-format +#, fuzzy, c-format +#| msgid "skipping unexpected symbol type %s in relocation in section .rela.%s\n" msgid "skipping unexpected symbol type %s in section %s relocation %ld\n" -msgstr "omitiendo el tipo simbólico %s inesperado en la sección %s reubicación %ld\n" +msgstr "saltando el tipo de símbolo %s inesperado en la reubicación en la sección .rela.%s\n" #: readelf.c:13062 #, c-format @@ -9212,9 +9892,14 @@ "Volcado ensamblador de la sección %s\n" #: readelf.c:13080 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Section '%s' has no data to dump.\n" msgid "Section '%s' has no data to dump.\n" -msgstr "Sección «%s» no tiene ningún dato para volcar.\n" +msgstr "" +"\n" +"La sección '%s' no tiene datos para volcar.\n" #: readelf.c:13086 msgid "section contents" @@ -9230,30 +9915,38 @@ "Volcado de cadenas de la sección '%s':\n" #: readelf.c:13177 readelf.c:13324 readelf.c:13499 -#, c-format +#, fuzzy, c-format +#| msgid "IEEE unsupported complex type size %u\n" msgid "section '%s' has unsupported compress type: %d\n" -msgstr "sección «%s» tiene tipo de compresión no soportada: %d\n" +msgstr "no se admite el tamaño de tipo complejo IEEE %u\n" #: readelf.c:13183 readelf.c:13330 readelf.c:13505 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Can't uncompress section '%s'.\n" msgid "compressed section '%s' is corrupted\n" -msgstr "sección comprimida '%s' está corrupta\n" +msgstr "" +"\n" +"No se puede descomprimir la sección '%s'.\n" #: readelf.c:13215 readelf.c:13364 readelf.c:13542 -#, c-format +#, fuzzy, c-format +#| msgid "Unable to locate %s section!\n" msgid "Unable to decompress section %s\n" -msgstr "Incapaz de descomprimir sección %s\n" +msgstr "¡No se puede localizar la sección %s!\n" #: readelf.c:13240 #, c-format msgid " Note: This section has relocations against it, but these have NOT been applied to this dump.\n" -msgstr " Nota: Esta sección tiene reubicaciones contra ella, pero NO se han aplicado a este volcado.\n" +msgstr " Nota: Esta sección tiene reubicaciones contra ella, pero NO se han aplicado a este volcado.\n" #: readelf.c:13273 readelf.c:14368 readelf.c:14411 readelf.c:14459 #: readelf.c:14491 -#, c-format +#, fuzzy, c-format +#| msgid "" msgid "\n" -msgstr "\n" +msgstr "" #: readelf.c:13281 #, c-format @@ -9267,7 +9960,7 @@ "Hex dump of section '%s':\n" msgstr "" "\n" -"Volcado hexadecimal de la sección «%s»:\n" +"Volcado hexadecimal de la sección '%s':\n" #: readelf.c:13397 #, c-format @@ -9282,7 +9975,7 @@ #: readelf.c:13490 #, c-format msgid "compressed section %s is too small to contain a compression header" -msgstr "sección %s comprimida es demasiado pequeña para contener una cabecera compresa" +msgstr "" #: readelf.c:13652 #, c-format @@ -9291,7 +9984,7 @@ "Section '%s' has no debugging data.\n" msgstr "" "\n" -"La sección «%s» no tiene datos de depuración.\n" +"La sección '%s' no tiene datos de depuración.\n" #. There is no point in dumping the contents of a debugging section #. which has the NOBITS type - the bits in the file will be random. @@ -9318,74 +10011,80 @@ msgstr "¡La sección %d no se volcó porque no existe!\n" #: readelf.c:13857 +#, fuzzy +#| msgid "" msgid "\n" -msgstr "\n" +msgstr "" #: readelf.c:13872 -#, c-format +#, fuzzy, c-format +#| msgid "" msgid "" -msgstr "" +msgstr "<índice de la tabla de cadenas corrupto: %3ld>" #: readelf.c:13912 #, c-format msgid "Absent/Non standard\n" -msgstr "Ausente/No común\n" +msgstr "" #: readelf.c:13915 #, c-format msgid "Bare metal/mwdt\n" -msgstr "Bare metal/mwdt\n" +msgstr "" #: readelf.c:13918 #, c-format msgid "Bare metal/newlib\n" -msgstr "Bare metal/newlib\n" +msgstr "" #: readelf.c:13921 #, c-format msgid "Linux/uclibc\n" -msgstr "Linux/uclibc\n" +msgstr "" #: readelf.c:13924 #, c-format msgid "Linux/glibc\n" -msgstr "Linux/glibc\n" +msgstr "" #: readelf.c:13927 readelf.c:14011 -#, c-format +#, fuzzy, c-format +#| msgid "unknown" msgid "Unknown\n" -msgstr "Desconocido\n" +msgstr "desconocido" #: readelf.c:13940 readelf.c:13971 readelf.c:14002 #, c-format msgid "Absent\n" -msgstr "Ausente\n" +msgstr "" #: readelf.c:13984 msgid "yes" -msgstr "sí­" +msgstr "" #: readelf.c:13984 +#, fuzzy +#| msgid "none" msgid "no" -msgstr "no" +msgstr "ninguno" #: readelf.c:14025 readelf.c:14033 msgid "default" -msgstr "predeterminado" +msgstr "" #: readelf.c:14026 msgid "smallest" -msgstr "más pequeño" +msgstr "" #: readelf.c:14032 msgid "OPTFP" -msgstr "OPTFP" +msgstr "" #: readelf.c:14226 readelf.c:14240 readelf.c:14259 readelf.c:14767 #: readelf.c:15058 readelf.c:15071 readelf.c:15084 #, c-format msgid "None\n" -msgstr "Ninguna\n" +msgstr " Ninguna\n" #: readelf.c:14227 #, c-format @@ -9416,22 +10115,23 @@ #: readelf.c:14242 readelf.c:14917 readelf.c:14938 readelf.c:17090 #, c-format msgid "4-byte\n" -msgstr "4-byte\n" +msgstr "4 bytes\n" #: readelf.c:14246 readelf.c:14265 #, c-format msgid "8-byte and up to %d-byte extended\n" -msgstr "8-bytes y extendido hasta %d bytes\n" +msgstr "8 bytes y extendido hasta %d bytes\n" #: readelf.c:14260 #, c-format msgid "8-byte, except leaf SP\n" -msgstr "8-bytes, excepto SP leaf\n" +msgstr "8 bytes, excepto SP leaf\n" #: readelf.c:14277 readelf.c:14365 readelf.c:14954 -#, c-format +#, fuzzy, c-format +#| msgid "flag = %d, vendor = %s\n" msgid "flag = %d, vendor = " -msgstr "opción = %d, proveedor = " +msgstr "opción = %d, vendedor = %s\n" #: readelf.c:14298 #, c-format @@ -9439,85 +10139,89 @@ msgstr "Verdadero\n" #: readelf.c:14320 -#, c-format +#, fuzzy, c-format +#| msgid "" msgid "\n" -msgstr "\n" +msgstr "" #: readelf.c:14369 msgid "corrupt vendor attribute\n" msgstr "" -"atributo proveedor corrupto\n" -"\n" #: readelf.c:14421 #, c-format msgid "unspecified hard/soft float, " -msgstr "hard/soft flotante no especificado, " +msgstr "" #: readelf.c:14424 -#, c-format +#, fuzzy, c-format +#| msgid "Hard float\n" msgid "hard float, " -msgstr "flotante duro, " +msgstr "Coma flotante de hardware\n" #: readelf.c:14427 -#, c-format +#, fuzzy, c-format +#| msgid "Soft float\n" msgid "soft float, " -msgstr "soft flotante, " +msgstr "Coma flotante de software\n" #: readelf.c:14430 -#, c-format +#, fuzzy, c-format +#| msgid "Single-precision hard float\n" msgid "single-precision hard float, " -msgstr "flotante duro precisión simple, " +msgstr "Coma flotante de hardware de precisión sencilla\n" #: readelf.c:14437 #, c-format msgid "unspecified long double\n" -msgstr "long double inespecificado\n" +msgstr "" #: readelf.c:14440 #, c-format msgid "128-bit IBM long double\n" -msgstr "128-bit IBM long double\n" +msgstr "" #: readelf.c:14443 #, c-format msgid "64-bit long double\n" -msgstr "64-bit long double\n" +msgstr "" #: readelf.c:14446 #, c-format msgid "128-bit IEEE long double\n" -msgstr "128-bit IEEE long double\n" +msgstr "" #: readelf.c:14469 readelf.c:14501 #, c-format msgid "unspecified\n" -msgstr "inespecificado\n" +msgstr "" #: readelf.c:14472 -#, c-format +#, fuzzy, c-format +#| msgid "Generic\n" msgid "generic\n" -msgstr "genérico\n" +msgstr "Genérica\n" #: readelf.c:14507 -#, c-format +#, fuzzy, c-format +#| msgid "Memory\n" msgid "memory\n" -msgstr "memoria\n" +msgstr "Memoria\n" #: readelf.c:14536 #, c-format msgid "any\n" -msgstr "ninguna\n" +msgstr "" #: readelf.c:14539 #, c-format msgid "software\n" -msgstr "software\n" +msgstr "" #: readelf.c:14542 #, c-format msgid "hardware\n" -msgstr "hardware\n" +msgstr "" #: readelf.c:14668 #, c-format @@ -9540,39 +10244,43 @@ msgstr "Coma flotante de software\n" #: readelf.c:14680 -#, c-format +#, fuzzy, c-format +#| msgid "Hard float (MIPS32r2 64-bit FPU)\n" msgid "Hard float (MIPS32r2 64-bit FPU 12 callee-saved)\n" -msgstr "Flotante hard (FPU 12 llamadas-guardadas MIPS32r2 de 64-bit)\n" +msgstr "Coma flotante de hardware (FPU MIPS32r2 de 64 bits)\n" #: readelf.c:14683 -#, c-format +#, fuzzy, c-format +#| msgid "Hard float (MIPS32r2 64-bit FPU)\n" msgid "Hard float (32-bit CPU, Any FPU)\n" -msgstr "Flotante Hard (32-bit CPU, cualquier FPU)\n" +msgstr "Coma flotante de hardware (FPU MIPS32r2 de 64 bits)\n" #: readelf.c:14686 -#, c-format +#, fuzzy, c-format +#| msgid "Hard float (MIPS32r2 64-bit FPU)\n" msgid "Hard float (32-bit CPU, 64-bit FPU)\n" -msgstr "Flotante Hard (32-bit CPU, 64-bit FPU)\n" +msgstr "Coma flotante de hardware (FPU MIPS32r2 de 64 bits)\n" #: readelf.c:14689 -#, c-format +#, fuzzy, c-format +#| msgid "Hard float (MIPS32r2 64-bit FPU)\n" msgid "Hard float compat (32-bit CPU, 64-bit FPU)\n" -msgstr "Flotante Hard compacto (32-bit CPU, 64-bit FPU)\n" +msgstr "Coma flotante de hardware (FPU MIPS32r2 de 64 bits)\n" #: readelf.c:14692 #, c-format msgid "NaN 2008 compatibility\n" -msgstr "Compatibilidad NaN 2008\n" +msgstr "" #: readelf.c:14731 #, c-format msgid "Any MSA or not\n" -msgstr "Cualquier MSA o no\n" +msgstr "" #: readelf.c:14734 #, c-format msgid "128-bit MSA\n" -msgstr "128-bit MSA\n" +msgstr "" #: readelf.c:14800 #, c-format @@ -9592,7 +10300,7 @@ #: readelf.c:14824 readelf.c:14842 readelf.c:14920 readelf.c:14941 #, c-format msgid "16-byte\n" -msgstr "16-bytes\n" +msgstr "16 bytes\n" #: readelf.c:14857 #, c-format @@ -9632,32 +10340,33 @@ #: readelf.c:15059 #, c-format msgid "MSP430\n" -msgstr "MSP430\n" +msgstr "" #: readelf.c:15060 #, c-format msgid "MSP430X\n" -msgstr "MSP430X\n" +msgstr "" #: readelf.c:15072 readelf.c:15085 #, c-format msgid "Small\n" -msgstr "Pequeño\n" +msgstr "" #: readelf.c:15073 readelf.c:15086 #, c-format msgid "Large\n" -msgstr "Grande\n" +msgstr "" #: readelf.c:15087 #, c-format msgid "Restricted Large\n" -msgstr "Restringido Largo\n" +msgstr "" #: readelf.c:15093 -#, c-format +#, fuzzy, c-format +#| msgid "Unknown tag: %d\n" msgid " : " -msgstr " : " +msgstr "Etiqueta desconocida: %d\n" #: readelf.c:15148 msgid "attributes" @@ -9666,44 +10375,58 @@ #: readelf.c:15160 #, c-format msgid "Unknown attributes version '%c'(%d) - expecting 'A'\n" -msgstr "Versión de atributos «%c»(%d) desconocido - esperando 'A'\n" +msgstr "" #: readelf.c:15179 +#, fuzzy +#| msgid "" +#| "\n" +#| "The %s section is empty.\n" msgid "Tag section ends prematurely\n" -msgstr "Sección etiquetada termina prematuramente\n" +msgstr "" +"\n" +"La sección %s está vacía.\n" #: readelf.c:15188 -#, c-format +#, fuzzy, c-format +#| msgid "ERROR: Bad section length (%d > %d)\n" msgid "Bad attribute length (%u > %u)\n" -msgstr "Longitud de atributo equivocado (%u > %u)\n" +msgstr "ERROR: Longitud de sección errónea (%d > %d)\n" #: readelf.c:15196 #, c-format msgid "Attribute length of %u is too small\n" -msgstr "Longitud de atributo de %u es demasiado pequeña\n" +msgstr "" #: readelf.c:15207 +#, fuzzy +#| msgid "Corrupt header in the %s section.\n" msgid "Corrupt attribute section name\n" -msgstr "Nombre de sección de atributo corrupto\n" +msgstr "Encabezado corrupto en la sección %s.\n" #: readelf.c:15212 -#, c-format +#, fuzzy, c-format +#| msgid "Attribute Section: %s\n" msgid "Attribute Section: " -msgstr "Sección Atributiva: " +msgstr "Sección de Atributo: %s\n" #: readelf.c:15239 +#, fuzzy +#| msgid "There are %ld unused bytes at the end of section %s\n" msgid "Unused bytes at end of section\n" -msgstr "Bytes no utilizados al final de sección\n" +msgstr "Hay %ld bytes sin usar al final de la sección %s\n" #: readelf.c:15249 -#, c-format +#, fuzzy, c-format +#| msgid "ERROR: Bad subsection length (%d > %d)\n" msgid "Bad subsection length (%u > %u)\n" -msgstr "Longitud de subsección equivocada (%u > %u)\n" +msgstr "ERROR: Longitud de subsección errónea (%d > %d)\n" #: readelf.c:15257 -#, c-format +#, fuzzy, c-format +#| msgid "ERROR: Bad subsection length (%d > %d)\n" msgid "Bad subsection length (%u < 6)\n" -msgstr "Equivocación de longitud de subsección (%u < 6)\n" +msgstr "ERROR: Longitud de subsección errónea (%d > %d)\n" #: readelf.c:15272 #, c-format @@ -9713,12 +10436,12 @@ #: readelf.c:15275 #, c-format msgid "Section Attributes:" -msgstr "Atributos Seccionales:" +msgstr "Atributos de Sección:" #: readelf.c:15278 #, c-format msgid "Symbol Attributes:" -msgstr "Atributos Símbólicos:" +msgstr "Atributos de Símbolos:" #: readelf.c:15294 #, c-format @@ -9726,29 +10449,34 @@ msgstr "Etiqueta desconocida: %d\n" #: readelf.c:15315 -#, c-format +#, fuzzy, c-format +#| msgid " (Unknown inline attribute value: %s)" msgid " Unknown attribute:\n" -msgstr " Atributo desconocido:\n" +msgstr " (Valor desconocido de atributo inline: %s)" #: readelf.c:15357 msgid "MIPS GOT entry extends beyond the end of available data\n" -msgstr "Asiento GOT MIPS extendidos posterior al final de datos disponibles\n" +msgstr "" #: readelf.c:15428 readelf.c:15500 +#, fuzzy +#| msgid "unknown" msgid "Unknown" -msgstr "Desconocido" +msgstr "desconocido" #: readelf.c:15547 +#, fuzzy +#| msgid "Corrupt header in the %s section.\n" msgid "Corrupt MIPS ABI Flags section.\n" -msgstr "Sección de opciones MIPS ABI corrupta.\n" +msgstr "Encabezado corrupto en la sección %s.\n" #: readelf.c:15553 msgid "MIPS ABI Flags section" -msgstr "Sección de marcas MIPS ABI" +msgstr "" #: readelf.c:15612 readelf.c:16160 msgid "Global Offset Table data" -msgstr "Distribución Despedazadora Global de datos" +msgstr "datos de la Tabla de Desplazamiento Global" #: readelf.c:15616 #, c-format @@ -9756,8 +10484,6 @@ "\n" "Static GOT:\n" msgstr "" -"\n" -"GOT estático:\n" #: readelf.c:15617 readelf.c:16165 #, c-format @@ -9786,7 +10512,7 @@ #: readelf.c:15634 readelf.c:15664 msgid "Value" -msgstr "Valor" +msgstr "" #: readelf.c:15661 readelf.c:16197 #, c-format @@ -9798,7 +10524,10 @@ msgstr "datos de sección liblist" #: readelf.c:15746 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Section '.liblist' contains %lu entries:\n" msgid "" "\n" "Section '.liblist' contains %lu entry:\n" @@ -9807,14 +10536,14 @@ "Section '.liblist' contains %lu entries:\n" msgstr[0] "" "\n" -"La sección '.liblist' contiene %lu asiento:\n" +"La sección '.liblist' contiene %lu entradas:\n" msgstr[1] "" "\n" -"La sección '.liblist' contiene %lu asientos:\n" +"La sección '.liblist' contiene %lu entradas:\n" #: readelf.c:15750 msgid " Library Time Stamp Checksum Version Flags\n" -msgstr " Biblioteca Sello Temporal Revisión Versión Ops\n" +msgstr " Biblioteca Marca de Tiempo Revisión Versión Ops\n" #: readelf.c:15776 #, c-format @@ -9827,23 +10556,28 @@ #: readelf.c:15834 msgid "No MIPS_OPTIONS header found\n" -msgstr "Ninguna cabecera MIPS_OPTIONS encontrada\n" +msgstr "" #: readelf.c:15839 msgid "options" msgstr "opciones" #: readelf.c:15846 +#, fuzzy +#| msgid "Out of memory allocating 0x%lx bytes for %s\n" msgid "Out of memory allocating space for MIPS options\n" -msgstr "Asignación de espacio de memoria agotada para opciones MIPS\n" +msgstr "Memoria agotada al asignar 0x%lx bytes para %s\n" #: readelf.c:15868 #, c-format msgid "Invalid size (%u) for MIPS option\n" -msgstr "Tamaño inválido (%u) para opción MIPS\n" +msgstr "" #: readelf.c:15877 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Section '%s' contains %d entries:\n" msgid "" "\n" "Section '%s' contains %d entry:\n" @@ -9852,31 +10586,35 @@ "Section '%s' contains %d entries:\n" msgstr[0] "" "\n" -"La sección «%s» contiene %d asiento:\n" +"La sección '%s' contiene %d entradas:\n" msgstr[1] "" "\n" -"La sección «%s» contiene %d asientos:\n" -"\n" +"La sección '%s' contiene %d entradas:\n" #: readelf.c:16048 msgid "conflict list found without a dynamic symbol table\n" -msgstr "se encontró una lista de conflictos sin un segmento simbólico dinámico\n" +msgstr "se encontró una lista de conflictos sin una tabla de símbolos dinámicos\n" #: readelf.c:16056 #, c-format msgid "Overlarge number of conflicts detected: %lx\n" -msgstr "Número de conflictos sobrepasado detectado: %lx\n" +msgstr "" #: readelf.c:16064 +#, fuzzy +#| msgid "Out of memory allocating 0x%lx bytes for %s\n" msgid "Out of memory allocating space for dynamic conflicts\n" -msgstr "Asignación de espacio de memoria agotado para conflictos dinámicos\n" +msgstr "Memoria agotada al asignar 0x%lx bytes para %s\n" #: readelf.c:16074 readelf.c:16089 msgid "conflict" -msgstr "conflicto" +msgstr "tiene conflictos con" #: readelf.c:16099 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Section '.conflict' contains %lu entries:\n" msgid "" "\n" "Section '.conflict' contains %lu entry:\n" @@ -9885,19 +10623,20 @@ "Section '.conflict' contains %lu entries:\n" msgstr[0] "" "\n" -"La sección '.conflict' contiene %lu asiento:\n" +"La sección '.conflict' contiene %lu entradas:\n" msgstr[1] "" "\n" -"La sección '.conflict' contiene %lu asientos:\n" +"La sección '.conflict' contiene %lu entradas:\n" #: readelf.c:16103 msgid " Num: Index Value Name" msgstr " Num: Índice Valor Nombre" #: readelf.c:16110 -#, c-format +#, fuzzy, c-format +#| msgid "" msgid "" -msgstr "" +msgstr "<índice de la tabla de cadenas corrupto: %3ld>" #: readelf.c:16121 readelf.c:16246 readelf.c:16331 #, c-format @@ -9907,12 +10646,13 @@ #: readelf.c:16144 #, c-format msgid "The GOT symbol offset (%lu) is greater than the symbol table size (%lu)\n" -msgstr "El desplazamiento simbólico GOT (%lu) es mayor que el tamaño de distribución simbólica (%lu)\n" +msgstr "" #: readelf.c:16153 -#, c-format +#, fuzzy, c-format +#| msgid " nbr symbols: %d\n" msgid "Too many GOT symbols: %lu\n" -msgstr "Demasiados símbolos GOT: %lu\n" +msgstr " símbolos nbr: %d\n" #: readelf.c:16164 #, c-format @@ -9962,18 +10702,19 @@ msgstr "Nombre" #: readelf.c:16233 -#, c-format +#, fuzzy, c-format +#| msgid "%s: No dynamic symbols" msgid "" -msgstr "" +msgstr "%s: No hay símbolos dinámicos" #: readelf.c:16249 #, c-format msgid "" -msgstr "" +msgstr "" #: readelf.c:16291 msgid "Procedure Linkage Table data" -msgstr "Datos de Distribución de Enlazado Procedural" +msgstr "datos de la Tabla de Enlazado Procedural" #: readelf.c:16297 #, c-format @@ -9996,20 +10737,24 @@ msgstr " Entradas:\n" #: readelf.c:16319 -#, c-format +#, fuzzy, c-format +#| msgid "" msgid "" -msgstr "" +msgstr "<índice de la tabla de cadenas corrupto: %3ld>" #: readelf.c:16357 msgid "NDS32 elf flags section" -msgstr "Sección de marcas elf NDS32" +msgstr "" #: readelf.c:16421 msgid "liblist string table" msgstr "tabla de cadenas liblist" #: readelf.c:16433 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Library list section '%s' contains %lu entries:\n" msgid "" "\n" "Library list section '%s' contains %lu entries:\n" @@ -10018,15 +10763,14 @@ "Library list section '%s' contains %lu entries:\n" msgstr[0] "" "\n" -"La sección de lista bibliotecaria «%s» contiene %lu asiento:\n" +"La sección de lista de bibliotecas '%s' contiene %lu entradas:\n" msgstr[1] "" "\n" -"La sección de lista bibliotecaria «%s» contiene %lu asientos:\n" -"\n" +"La sección de lista de bibliotecas '%s' contiene %lu entradas:\n" #: readelf.c:16439 msgid " Library Time Stamp Checksum Version Flags" -msgstr " Biblioteca Sello Temporal Revisión Versión Opts" +msgstr " Biblioteca Marca Tiempo Revisión Versión Opts" #: readelf.c:16489 msgid "NT_AUXV (auxiliary vector)" @@ -10061,64 +10805,90 @@ msgstr "NT_PPC_VSX (registros VSX de ppc)" #: readelf.c:16505 +#, fuzzy +#| msgid "NT_PPC_VSX (ppc VSX registers)" msgid "NT_PPC_TAR (ppc TAR register)" -msgstr "NT_PPC_TAR (registro TAR de ppc)" +msgstr "NT_PPC_VSX (registros VSX de ppc)" #: readelf.c:16507 +#, fuzzy +#| msgid "NT_PPC_VSX (ppc VSX registers)" msgid "NT_PPC_PPR (ppc PPR register)" -msgstr "NT_PPC_PPR (registro PPR de ppc)" +msgstr "NT_PPC_VSX (registros VSX de ppc)" #: readelf.c:16509 +#, fuzzy +#| msgid "NT_PPC_VSX (ppc VSX registers)" msgid "NT_PPC_DSCR (ppc DSCR register)" -msgstr "NT_PPC_DSCR (registro ppc DSCR)" +msgstr "NT_PPC_VSX (registros VSX de ppc)" #: readelf.c:16511 +#, fuzzy +#| msgid "NT_PPC_VSX (ppc VSX registers)" msgid "NT_PPC_EBB (ppc EBB registers)" -msgstr "NT_PPC_EBB (registros EBB de ppc)" +msgstr "NT_PPC_VSX (registros VSX de ppc)" #: readelf.c:16513 +#, fuzzy +#| msgid "NT_PPC_VSX (ppc VSX registers)" msgid "NT_PPC_PMU (ppc PMU registers)" -msgstr "NT_PPC_PMU (registros PMU de ppc)" +msgstr "NT_PPC_VSX (registros VSX de ppc)" #: readelf.c:16515 +#, fuzzy +#| msgid "NT_PPC_VMX (ppc Altivec registers)" msgid "NT_PPC_TM_CGPR (ppc checkpointed GPR registers)" -msgstr "NT_PPC_TM_CGPR (registros GPR comprobado de ppc)" +msgstr "NT_PPC_VMX (registros Altivec de ppc)" #: readelf.c:16517 +#, fuzzy +#| msgid "NT_FPREGS (floating point registers)" msgid "NT_PPC_TM_CFPR (ppc checkpointed floating point registers)" -msgstr "NT_PPC_TM_CFPR (registros ppc de coma flotante marcados)" +msgstr "NT_FPREGS (registros de coma flotante)" #: readelf.c:16519 +#, fuzzy +#| msgid "NT_PPC_VMX (ppc Altivec registers)" msgid "NT_PPC_TM_CVMX (ppc checkpointed Altivec registers)" -msgstr "NT_PPC_TM_CVMX (registros ppc marcados Altivec)" +msgstr "NT_PPC_VMX (registros Altivec de ppc)" #: readelf.c:16521 +#, fuzzy +#| msgid "NT_PPC_VSX (ppc VSX registers)" msgid "NT_PPC_TM_VSX (ppc checkpointed VSX registers)" -msgstr "NT_PPC_TM_VSX (registros ppc VSX marcados)" +msgstr "NT_PPC_VSX (registros VSX de ppc)" #: readelf.c:16523 +#, fuzzy +#| msgid "NT_PPC_VMX (ppc Altivec registers)" msgid "NT_PPC_TM_SPR (ppc TM special purpose registers)" -msgstr "NT_PPC_TM_SPR (registros TM de propósito especial)" +msgstr "NT_PPC_VMX (registros Altivec de ppc)" #: readelf.c:16525 +#, fuzzy +#| msgid "NT_PPC_VMX (ppc Altivec registers)" msgid "NT_PPC_TM_CTAR (ppc checkpointed TAR register)" -msgstr "NT_PPC_TM_CTAR (registro TAR comprobado de ppc)" +msgstr "NT_PPC_VMX (registros Altivec de ppc)" #: readelf.c:16527 +#, fuzzy +#| msgid "NT_PPC_VMX (ppc Altivec registers)" msgid "NT_PPC_TM_CPPR (ppc checkpointed PPR register)" -msgstr "NT_PPC_TM_CPPR (registro PPR comprobado de ppc)" +msgstr "NT_PPC_VMX (registros Altivec de ppc)" #: readelf.c:16529 +#, fuzzy +#| msgid "NT_PPC_VSX (ppc VSX registers)" msgid "NT_PPC_TM_CDSCR (ppc checkpointed DSCR register)" -msgstr "NT_PPC_TM_CDSCR (registro DSCR comprobado de ppc)" +msgstr "NT_PPC_VSX (registros VSX de ppc)" #: readelf.c:16531 msgid "NT_386_TLS (x86 TLS information)" -msgstr "NT_386_TLS (Información x86 TLS)" +msgstr "" #: readelf.c:16533 msgid "NT_386_IOPERM (x86 I/O permissions)" -msgstr "NT_386_IOPERM (permisos E/S x86)" +msgstr "" #: readelf.c:16535 msgid "NT_X86_XSTATE (x86 XSAVE extended state)" @@ -10150,47 +10920,57 @@ #: readelf.c:16549 msgid "NT_S390_LAST_BREAK (s390 last breaking event address)" -msgstr "NT_S390_LAST_BREAK (última evento direccional emitido s390)" +msgstr "" #: readelf.c:16551 +#, fuzzy +#| msgid "NT_S390_TIMER (s390 timer register)" msgid "NT_S390_SYSTEM_CALL (s390 system call restart data)" -msgstr "NT_S390_SYSTEM_CALL (llamada al sistema s390 reiniciar datos)" +msgstr "NT_S390_TIMER (registro temporizador de s390)" #: readelf.c:16553 msgid "NT_S390_TDB (s390 transaction diagnostic block)" -msgstr "NT_S390_TDB (bloque diagnóstico s390)" +msgstr "" #: readelf.c:16555 +#, fuzzy +#| msgid "NT_S390_CTRS (s390 control registers)" msgid "NT_S390_VXRS_LOW (s390 vector registers 0-15 upper half)" -msgstr "NT_S390_VXRS_LOW (registros vectoriales s390 0-15 mitad superior)" +msgstr "NT_S390_CTRS (registros de control de s390)" #: readelf.c:16557 +#, fuzzy +#| msgid "NT_S390_CTRS (s390 control registers)" msgid "NT_S390_VXRS_HIGH (s390 vector registers 16-31)" -msgstr "NT_S390_VXRS_HIGH (registros vectoriales s390 16-31)" +msgstr "NT_S390_CTRS (registros de control de s390)" #: readelf.c:16559 +#, fuzzy +#| msgid "NT_S390_CTRS (s390 control registers)" msgid "NT_S390_GS_CB (s390 guarded-storage registers)" -msgstr "NT_S390_GS_CB (registros de almacenaje-vigía s390)" +msgstr "NT_S390_CTRS (registros de control de s390)" #: readelf.c:16561 msgid "NT_S390_GS_BC (s390 guarded-storage broadcast control)" -msgstr "NT_S390_GS_BC (s390 controla emisión de almacenes vigilados)" +msgstr "" #: readelf.c:16563 msgid "NT_ARM_VFP (arm VFP registers)" msgstr "NT_ARM_VFP (registros VFP de arm)" #: readelf.c:16565 +#, fuzzy +#| msgid "NT_ARM_VFP (arm VFP registers)" msgid "NT_ARM_TLS (AArch TLS registers)" -msgstr "NT_ARM_TLS (registros AArch TLS)" +msgstr "NT_ARM_VFP (registros VFP de arm)" #: readelf.c:16567 msgid "NT_ARM_HW_BREAK (AArch hardware breakpoint registers)" -msgstr "NT_ARM_HW_BREAK (ruptura de registros hardware AArch)" +msgstr "" #: readelf.c:16569 msgid "NT_ARM_HW_WATCH (AArch hardware watchpoint registers)" -msgstr "NT_ARM_HW_WATCH (registros de punto de vigía hardware AArch)" +msgstr "" #: readelf.c:16571 msgid "NT_PSTATUS (pstatus structure)" @@ -10217,12 +10997,14 @@ msgstr "NT_WIN32PSTATUS (estructura win32_pstatus)" #: readelf.c:16583 +#, fuzzy +#| msgid "NT_LWPSINFO (lwpsinfo_t structure)" msgid "NT_SIGINFO (siginfo_t data)" -msgstr "NT_SIGINFO (dato siginfo_t)" +msgstr "NT_LWPSINFO (estructura lwpsinfo_t)" #: readelf.c:16585 msgid "NT_FILE (mapped files)" -msgstr "NT_FILE (ficheros distribuidos)" +msgstr "" #: readelf.c:16593 msgid "NT_VERSION (version)" @@ -10234,11 +11016,11 @@ #: readelf.c:16597 msgid "OPEN" -msgstr "ABRIR" +msgstr "" #: readelf.c:16599 msgid "func" -msgstr "func" +msgstr "" #: readelf.c:16604 readelf.c:16723 readelf.c:17064 readelf.c:17208 #: readelf.c:17266 readelf.c:17343 @@ -10249,45 +11031,47 @@ #: readelf.c:16625 #, c-format msgid " Cannot decode 64-bit note in 32-bit build\n" -msgstr " No puede decodificar anotaciones 64-bit en compilación de 32-bit\n" +msgstr "" #: readelf.c:16633 msgid " Malformed note - too short for header\n" -msgstr " Anotación malformada - demasiado corto para cabeceras\n" +msgstr "" #: readelf.c:16642 msgid " Malformed note - does not end with \\0\n" -msgstr " Nota malformada - no termina con \\0\n" +msgstr "" #: readelf.c:16655 msgid " Malformed note - too short for supplied file count\n" -msgstr " Anotación malformada - demasiado corta para contador de fichero administrado\n" +msgstr "" #: readelf.c:16659 -#, c-format +#, fuzzy, c-format +#| msgid " Image id: %s\n" msgid " Page size: " -msgstr " Tam página: " +msgstr " Id de imagen: %s\n" #: readelf.c:16663 -#, c-format +#, fuzzy, c-format +#| msgid " %*s %10s %*s\n" msgid " %*s%*s%*s\n" -msgstr " %*s%*s%*s\n" +msgstr " %*s %10s %*s\n" #: readelf.c:16664 msgid "Start" -msgstr "Inicio" +msgstr "" #: readelf.c:16665 msgid "End" -msgstr "Final" +msgstr "" #: readelf.c:16666 msgid "Page Offset" -msgstr "Desplazamiento de Página" +msgstr "" #: readelf.c:16674 msgid " Malformed note - filenames end too early\n" -msgstr " Anotación malformada - nombre del fichero termina demasiado pronto\n" +msgstr "" #: readelf.c:16706 msgid "NT_GNU_ABI_TAG (ABI version tag)" @@ -10307,71 +11091,77 @@ #: readelf.c:16714 msgid "NT_GNU_PROPERTY_TYPE_0" -msgstr "NT_GNU_PROPERTY_TYPE_0" +msgstr "" #: readelf.c:16716 msgid "NT_GNU_BUILD_ATTRIBUTE_OPEN" -msgstr "NT_GNU_BUILD_ATTRIBUTE_OPEN" +msgstr "" #: readelf.c:16718 msgid "NT_GNU_BUILD_ATTRIBUTE_FUNC" -msgstr "NT_GNU_BUILD_ATTRIBUTE_FUNC" +msgstr "" #: readelf.c:16812 -#, c-format +#, fuzzy, c-format +#| msgid " Provider: %s\n" msgid " Properties: " -msgstr " Propiedades: " +msgstr " Proveedor: %s\n" #: readelf.c:16816 #, c-format msgid "\n" -msgstr "\n" +msgstr "" #: readelf.c:16828 -#, c-format +#, fuzzy, c-format +#| msgid "\n" msgid "\n" -msgstr "\n" +msgstr "\n" #: readelf.c:16839 #, c-format msgid "\n" -msgstr "\n" +msgstr "" #: readelf.c:16855 readelf.c:16863 readelf.c:16871 readelf.c:16888 #: readelf.c:16896 -#, c-format +#, fuzzy, c-format +#| msgid "\n" msgid " " -msgstr " " +msgstr "\n" #: readelf.c:16886 -#, c-format +#, fuzzy, c-format +#| msgid "Data size" msgid "stack size: " -msgstr "tamaño pila: " +msgstr "Tamaño de datos" #: readelf.c:16905 -#, c-format +#, fuzzy, c-format +#| msgid "Unknown type: %s\n" msgid ": %d" msgid " %d:" #: readelf.c:16909 #, c-format msgid "\n" -msgstr " \n" +msgstr "" #: readelf.c:16990 #, c-format @@ -10379,9 +11169,10 @@ msgstr " SO: %s, ABI: %ld.%ld.%ld\n" #: readelf.c:16999 -#, c-format +#, fuzzy, c-format +#| msgid " %#06x: Version: %d" msgid " Version: " -msgstr " Versión: " +msgstr " %#06x: Versión: %d" #. Hardware capabilities information. Word 0 is the number of entries. #. Word 1 is a bitmask of enabled entries. The rest of the descriptor @@ -10391,123 +11182,133 @@ #: readelf.c:17015 #, c-format msgid " Hardware Capabilities: " -msgstr " Capacidades del Hardware: " +msgstr "" #: readelf.c:17018 +#, fuzzy +#| msgid "\n" msgid "\n" -msgstr "\n" +msgstr "\n" #: readelf.c:17023 #, c-format msgid "num entries: %ld, enabled mask: %lx\n" -msgstr "número de asientos: %ld, máscara activada: %lx\n" +msgstr "" #: readelf.c:17039 -#, c-format +#, fuzzy, c-format +#| msgid "%s section data" msgid " Description data: " -msgstr " Descripción de datos: " +msgstr "datos de sección %s" #: readelf.c:17057 msgid "Alignment of 8-byte objects" -msgstr "Asignación de objetos de 8-byte" +msgstr "" #: readelf.c:17058 msgid "Sizeof double and long double" -msgstr "Sizeof double y long double" +msgstr "" #: readelf.c:17059 msgid "Type of FPU support needed" -msgstr "Tipo de FPU soportado requerido" +msgstr "" #: readelf.c:17060 msgid "Use of SIMD instructions" -msgstr "Empleo de instrucciones SIMD" +msgstr "" #: readelf.c:17061 msgid "Use of cache" -msgstr "Empleo de caché" +msgstr "" #: readelf.c:17062 msgid "Use of MMU" -msgstr "Utilización de MMU" +msgstr "" #: readelf.c:17098 -#, c-format +#, fuzzy, c-format +#| msgid "4-byte\n" msgid "4-bytes\n" -msgstr "4-bytes\n" +msgstr "4 bytes\n" #: readelf.c:17099 -#, c-format +#, fuzzy, c-format +#| msgid "8-byte\n" msgid "8-bytes\n" -msgstr "8-bytes\n" +msgstr "8 bytes\n" #: readelf.c:17106 #, c-format msgid "FPU-2.0\n" -msgstr "FPU-2.0\n" +msgstr "" #: readelf.c:17107 #, c-format msgid "FPU-3.0\n" -msgstr "FPU-3.0\n" +msgstr "" #: readelf.c:17116 #, c-format msgid "yes\n" -msgstr "yes\n" +msgstr "" #: readelf.c:17126 -#, c-format +#, fuzzy, c-format +#| msgid "Unknown AT value: %lx" msgid "unknown value: %x\n" -msgstr "valor desconocido: %x\n" +msgstr "Valor AT desconocido: %lx" #: readelf.c:17168 +#, fuzzy +#| msgid "NT_TASKSTRUCT (task structure)" msgid "NT_THRMISC (thrmisc structure)" -msgstr "NT_THRMISC (estructura thrmisc)" +msgstr "NT_TASKSTRUCT (estructura task)" #: readelf.c:17170 msgid "NT_PROCSTAT_PROC (proc data)" -msgstr "NT_PROCSTAT_PROC (datos proc)" +msgstr "" #: readelf.c:17172 msgid "NT_PROCSTAT_FILES (files data)" -msgstr "NT_PROCSTAT_FILES (datos ficheros)" +msgstr "" #: readelf.c:17174 msgid "NT_PROCSTAT_VMMAP (vmmap data)" -msgstr "NT_PROCSTAT_VMMAP (datos vmmap)" +msgstr "" #: readelf.c:17176 msgid "NT_PROCSTAT_GROUPS (groups data)" -msgstr "NT_PROCSTAT_GROUPS (datos de grupos)" +msgstr "" #: readelf.c:17178 msgid "NT_PROCSTAT_UMASK (umask data)" -msgstr "NT_PROCSTAT_UMASK (datos umask)" +msgstr "" #: readelf.c:17180 msgid "NT_PROCSTAT_RLIMIT (rlimit data)" -msgstr "NT_PROCSTAT_RLIMIT (datos rlimit)" +msgstr "" #: readelf.c:17182 msgid "NT_PROCSTAT_OSREL (osreldate data)" -msgstr "NT_PROCSTAT_FILES (datos de ficheros)" +msgstr "" #: readelf.c:17184 msgid "NT_PROCSTAT_PSSTRINGS (ps_strings data)" -msgstr "NT_PROCSTAT_PSSTRINGS (datos ps_strings)" +msgstr "" #: readelf.c:17186 msgid "NT_PROCSTAT_AUXV (auxv data)" -msgstr "NT_PROCSTAT_AUXV (datos auxv)" +msgstr "" #: readelf.c:17188 +#, fuzzy +#| msgid "NT_LWPSINFO (lwpsinfo_t structure)" msgid "NT_PTLWPINFO (ptrace_lwpinfo structure)" -msgstr "NT_PTLWPINFO (estructura ptrace_lwpinfo)" +msgstr "NT_LWPSINFO (estructura lwpsinfo_t)" #: readelf.c:17199 msgid "NetBSD procinfo structure" -msgstr "NetBSD estructurado con procinfo" +msgstr "estructura procinfo de NetBSD" #: readelf.c:17225 readelf.c:17239 msgid "PT_GETREGS (reg structure)" @@ -10589,7 +11390,7 @@ #: readelf.c:17337 msgid "NT_VMS_GSTNAM (sym table name)" -msgstr "NT_VMS_GSTNAM (nombre de tabla simbólica)" +msgstr "NT_VMS_GSTNAM (nombre de tabla de símbolos)" #: readelf.c:17357 #, c-format @@ -10599,12 +11400,12 @@ #: readelf.c:17358 #, c-format msgid " Last patch date: %.17s\n" -msgstr " Última fecha de parche: %.17s\n" +msgstr "Última fecha de parche: %.17s\n" #: readelf.c:17359 #, c-format msgid " Module name : %s\n" -msgstr " Nombre modular: %s\n" +msgstr " Nombre de módulo: %s\n" #: readelf.c:17360 #, c-format @@ -10653,7 +11454,7 @@ " Link flags : " msgstr "" "\n" -" Enlazar marcas : " +" Opciones de enlace : " #: readelf.c:17396 #, c-format @@ -10673,7 +11474,7 @@ #: readelf.c:17405 #, c-format msgid " Global symbol table name: %s\n" -msgstr " Nombre de tabla simbólica globales: %s\n" +msgstr " Nombre de tabla de símbolos globales: %s\n" #: readelf.c:17408 #, c-format @@ -10688,128 +11489,141 @@ #: readelf.c:17562 readelf.c:17570 #, c-format msgid " Applies to region from %#lx to %#lx\n" -msgstr " Aplica a región desde %#lx hasta %#lx\n" +msgstr "" #: readelf.c:17565 readelf.c:17572 #, c-format msgid " Applies to region from %#lx\n" -msgstr " Aplica a región desde %#lx\n" +msgstr "" #: readelf.c:17601 -#, c-format +#, fuzzy, c-format +#| msgid " Invalid size\n" msgid " \n" -msgstr " \n" +msgstr " Tamaño inválido\n" #: readelf.c:17602 -#, c-format +#, fuzzy, c-format +#| msgid " Invalid size\n" msgid " " -msgstr " " +msgstr " Tamaño inválido\n" #: readelf.c:17616 #, c-format msgid "Gap in build notes detected from %#lx to %#lx\n" -msgstr "Hueco en anotaciones compilado detectado desde %#lx hasta %#lx\n" +msgstr "" #: readelf.c:17619 readelf.c:17630 #, c-format msgid " Applies to region from %#lx" -msgstr " Aplica a región desde %#lx" +msgstr "" #: readelf.c:17624 readelf.c:17635 #, c-format msgid " to %#lx" -msgstr " a %#lx" +msgstr "" #: readelf.c:17641 #, c-format msgid " (%s)" -msgstr " (%s)" +msgstr "" #: readelf.c:17662 readelf.c:17677 #, c-format msgid "corrupt name field in GNU build attribute note: size = %ld\n" -msgstr "campo de nombre corrupto en anotación atributiva de compilación GNU: tamaño = %ld\n" +msgstr "" #: readelf.c:17663 readelf.c:17678 +#, fuzzy +#| msgid "" msgid " " -msgstr " " +msgstr "" #: readelf.c:17697 #, c-format msgid "unrecognised attribute type in name field: %d\n" msgstr "" -"tipo atributivo no reconocido dentro del nombre del campo: %d\n" -"\n" #: readelf.c:17698 +#, fuzzy +#| msgid "unknown BB type" msgid "" -msgstr "" +msgstr "tipo BB desconocido" #: readelf.c:17708 +#, fuzzy +#| msgid "version def" msgid "" -msgstr "" +msgstr "versión definida" #: readelf.c:17713 +#, fuzzy +#| msgid "stack overflow" msgid "" -msgstr "" +msgstr "desbordamiento de la pila" #: readelf.c:17718 msgid "" -msgstr "" +msgstr "" #: readelf.c:17723 +#, fuzzy +#| msgid "Data size" msgid "" -msgstr "" +msgstr "Tamaño de datos" #: readelf.c:17728 msgid "" -msgstr "" +msgstr "" #: readelf.c:17733 msgid "" -msgstr "" +msgstr "" #: readelf.c:17738 msgid "" -msgstr "" +msgstr "" #: readelf.c:17743 msgid "" -msgstr "" +msgstr "" #: readelf.c:17762 -#, c-format +#, fuzzy, c-format +#| msgid "unrecognized section flag `%s'" msgid "unrecognised byte in name field: %d\n" -msgstr "byte no reconocido en campo nombrado: %d\n" +msgstr "opción de sección `%s' desconocida" #: readelf.c:17763 -#, c-format +#, fuzzy, c-format +#| msgid "" msgid "" -msgstr "" +msgstr "" #: readelf.c:17775 #, c-format msgid "attribute does not have an expected type (%c)\n" -msgstr "atributo no tiene un tipo esperado (%c)\n" +msgstr "" #: readelf.c:17779 #, c-format msgid "corrupt name field: namesz: %lu but parsing gets to %ld\n" -msgstr "campo de nombre corrupto: %lu pero interpretación obtiene a %ld\n" +msgstr "" #: readelf.c:17806 #, c-format msgid "corrupt numeric name field: too many bytes in the value: %x\n" -msgstr "campo nombre numérico corrupto: demasiados bytes dentro del valor: %x\n" +msgstr "" #: readelf.c:17974 -#, c-format +#, fuzzy, c-format +#| msgid "section data" msgid " description data: " -msgstr " datos descritos: " +msgstr "datos de sección" #: readelf.c:18013 msgid "notes" -msgstr "anotaciones" +msgstr "notas" #: readelf.c:18021 #, c-format @@ -10817,22 +11631,23 @@ "\n" "Displaying notes found in: %s\n" msgstr "" -"\n" -"Enseñando notas encontradas en: %s\n" #: readelf.c:18023 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Notes at offset 0x%08lx with length 0x%08lx:\n" msgid "" "\n" "Displaying notes found at file offset 0x%08lx with length 0x%08lx:\n" msgstr "" "\n" -"Enseñando notas encontradas en el desplazamiento de fichero 0x%08lx con longitud 0x%08lx:\n" +"Notas en el desplazamiento 0x%08lx con longitud 0x%08lx:\n" #: readelf.c:18035 #, c-format msgid "Corrupt note: alignment %ld, expecting 4 or 8\n" -msgstr "Anotación corrupta: alineamiento %ld, esperando 4 u 8\n" +msgstr "" #: readelf.c:18040 #, c-format @@ -10851,59 +11666,66 @@ #, c-format msgid "Corrupt note: only %ld byte remains, not enough for a full note\n" msgid_plural "Corrupt note: only %ld bytes remain, not enough for a full note\n" -msgstr[0] "Nota corrupta: solo conserva %ld byte, insuficiente para una completa anotación\n" -msgstr[1] "Nota corrupta: solo conserva %ld bytes, insuficiente para una completa anotación\n" +msgstr[0] "" +msgstr[1] "" #: readelf.c:18115 #, c-format msgid "note with invalid namesz and/or descsz found at offset 0x%lx\n" -msgstr "anotación con nombre namesz inválidos y/o descsz encontrado en desplazamiento 0x%lx\n" +msgstr "" #: readelf.c:18117 -#, c-format +#, fuzzy, c-format +#| msgid " type: %lx, namesize: %08lx, descsize: %08lx\n" msgid " type: 0x%lx, namesize: 0x%08lx, descsize: 0x%08lx, alignment: %u\n" -msgstr " tipo: 0x%lx, tamaño-nombre: 0x%08lx, tamaño-desc: 0x%08lx, alineamiento: %u\n" +msgstr " tipo: %lx, tamañonombre: %08lx, tamañodesc: %08lx\n" #: readelf.c:18135 +#, fuzzy +#| msgid "Out of memory allocating dump request table.\n" msgid "Out of memory allocating space for inote name\n" -msgstr "Asignación de espacio de memoria agotado para nombre inote\n" +msgstr "Memoria agotada al asignar la tabla de petición de volcado.\n" #: readelf.c:18198 +#, fuzzy +#| msgid "notes" msgid "v850 notes" -msgstr "notas v850" +msgstr "notas" #: readelf.c:18205 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Notes at offset 0x%08lx with length 0x%08lx:\n" msgid "" "\n" "Displaying contents of Renesas V850 notes section at offset 0x%lx with length 0x%lx:\n" msgstr "" "\n" -"Enseñando contenidos de sección de anotaciones Renesas V850 en desplazamiento 0x%lx con longitud 0x%lx:\n" +"Notas en el desplazamiento 0x%08lx con longitud 0x%08lx:\n" #: readelf.c:18222 #, c-format msgid "Corrupt note: name size is too big: %lx\n" -msgstr "Anotación corrupta: tamaño de nombre es demasiado grande: %lx)\n" +msgstr "" #: readelf.c:18232 -#, c-format +#, fuzzy, c-format +#| msgid "corrupt note found at offset %lx into core notes\n" msgid "corrupt descsz found in note at offset 0x%lx\n" -msgstr "encontrada corrupción descsz dentro de nota en desplazamiento 0x%lx\n" +msgstr "se encontró una nota corrupta en el desplazamiento %lx en las notas de núcleo\n" #: readelf.c:18234 readelf.c:18247 -#, c-format +#, fuzzy, c-format +#| msgid " type: %lx, namesize: %08lx, descsize: %08lx\n" msgid " type: 0x%lx, namesize: 0x%lx, descsize: 0x%lx\n" -msgstr "" -" tipo: 0x%lx, tamaño-nombre: 0x%lx, tamaño-desc: 0x%lx\n" -"\n" +msgstr " tipo: %lx, tamañonombre: %08lx, tamañodesc: %08lx\n" #: readelf.c:18245 -#, c-format +#, fuzzy, c-format +#| msgid "corrupt note found at offset %lx into core notes\n" msgid "corrupt namesz found in note at offset 0x%lx\n" -msgstr "" -"nombresz corruptos encontrado dentro de nota en desplazamiento 0x%lx\n" -"\n" +msgstr "se encontró una nota corrupta en el desplazamiento %lx en las notas de núcleo\n" #: readelf.c:18323 #, c-format @@ -10911,9 +11733,10 @@ msgstr "No hay segmentos de notas presentes el el fichero core.\n" #: readelf.c:18331 -#, c-format +#, fuzzy, c-format +#| msgid " (Unknown inline attribute value: %s)" msgid " Unknown GNU attribute: %s\n" -msgstr " Atributo desconocido GNU: %s\n" +msgstr " (Valor desconocido de atributo inline: %s)" #: readelf.c:18466 msgid "" @@ -10943,31 +11766,34 @@ msgstr "%s: no se puede volcar el índice porque ninguno se encontró\n" #: readelf.c:18795 -#, c-format +#, fuzzy, c-format +#| msgid "Index of archive %s: (%ld entries, 0x%lx bytes in the symbol table)\n" msgid "Index of archive %s: (%lu entries, 0x%lx bytes in the symbol table)\n" -msgstr "Índice del archivo %s: (%lu asientos, 0x%lx bytes en el segmento simbólico)\n" +msgstr "Índice del archivo %s: (%ld entradas, 0x%lx bytes en la tabla de símbolos)\n" #: readelf.c:18814 -#, c-format +#, fuzzy, c-format +#| msgid "Contents of the %s section:\n" msgid "Contents of binary %s at offset " -msgstr "Contenidos de %s binario al desplazamiento " +msgstr "Contenido de la sección %s:\n" #: readelf.c:18824 #, c-format msgid "%s: end of the symbol table reached before the end of the index\n" -msgstr "%s: se alcanzó el final de el segmento simbólico antes que el final del índice\n" +msgstr "%s: se alcanzó el final de la tabla de símbolos antes que el final del índice\n" #: readelf.c:18841 -#, c-format +#, fuzzy, c-format +#| msgid "%s: symbols remain in the index symbol table, but without corresponding entries in the index table\n" msgid "%s: %ld byte remains in the symbol table, but without corresponding entries in the index table\n" msgid_plural "%s: %ld bytes remain in the symbol table, but without corresponding entries in the index table\n" -msgstr[0] "%s: %ld byte aún queda en el segmento simbólico, pero sin su asiento correspondiente dentro de la tabla indexada\n" -msgstr[1] "%s: %ld bytes aún quedan en el segmento simbólico, pero sin sus asientos correspondientes dentro de la tabla indexada\n" +msgstr[0] "%s: aún hay símbolos en la tabla de símbolos de índice, pero sin su entrada correspondiente en la tabla de índice\n" +msgstr[1] "%s: aún hay símbolos en la tabla de símbolos de índice, pero sin su entrada correspondiente en la tabla de índice\n" #: readelf.c:18854 #, c-format msgid "%s: failed to seek back to start of object files in the archive\n" -msgstr "%s: fallado al buscar de nuevo el inicio de los ficheros objeto en el archivo\n" +msgstr "%s: falló al buscar de nuevo el inicio de los ficheros objeto en el archivo\n" #: readelf.c:18938 readelf.c:19050 #, c-format @@ -10975,18 +11801,21 @@ msgstr "El fichero de entrada '%s' no es legible.\n" #: readelf.c:18962 -#, c-format +#, fuzzy, c-format +#| msgid "%s: Can't open input archive %s\n" msgid "%s: contains corrupt thin archive: %s\n" -msgstr "%s: contiene archivo finamente corrupto: %s\n" +msgstr "%s: No se puede abrir el fichero de entrada %s\n" #: readelf.c:18975 #, c-format msgid "%s: failed to seek to archive member.\n" -msgstr "%s: fallado al buscar el miembro de archivo.\n" +msgstr "%s: falló al buscar el miembro de archivo.\n" #: readelf.c:19042 +#, fuzzy +#| msgid "Out of memory allocating dump request table.\n" msgid "Out of memory allocating file data structure\n" -msgstr "Asignación de memoria agotada de fichero de datos estructurados\n" +msgstr "Memoria agotada al asignar la tabla de petición de volcado.\n" #: readelf.c:19078 #, c-format @@ -11020,11 +11849,11 @@ #: resbin.c:135 msgid "null terminated unicode string" -msgstr "cadena Unicode terminada en nulos" +msgstr "cadena unicode terminada en null" #: resbin.c:162 resbin.c:168 msgid "resource ID" -msgstr "recurso ID" +msgstr "ID de recurso" #: resbin.c:207 msgid "cursor" @@ -11053,7 +11882,7 @@ #: resbin.c:395 msgid "menuitem" -msgstr "ítem-menú" +msgstr "elemento de menú" #: resbin.c:432 resbin.c:460 msgid "dialog header" @@ -11147,9 +11976,10 @@ msgstr "cadena de versión inesperada" #: resbin.c:964 -#, c-format +#, fuzzy, c-format +#| msgid "version length %d does not match resource length %lu" msgid "version length %lu greater than resource length %lu" -msgstr "la longitud de la versión %lu más grande que la longitud de recurso %lu" +msgstr "la longitud de la versión %d no coincide con la longitud del recurso %lu" #: resbin.c:968 #, c-format @@ -11222,13 +12052,16 @@ msgstr "longitud de valor de versión %ld inesperada" #: resbin.c:1171 +#, fuzzy +#| msgid "unexpected version string" msgid "nul bytes found in version string" -msgstr "bytes nulos encontrados en versión de cadena textual" +msgstr "cadena de versión inesperada" #: resbin.c:1174 -#, c-format +#, fuzzy, c-format +#| msgid "unexpected version string" msgid "unexpected version string character: %x" -msgstr "carácter de cadena de versión inesperada: %x" +msgstr "cadena de versión inesperada" #: rescoff.c:123 msgid "filename required for COFF input" @@ -11242,7 +12075,7 @@ #: rescoff.c:150 #, c-format msgid "%s: .rsrc section is bigger than the file!" -msgstr "%s: ¡sección .rsrc es mayor que el fichero!" +msgstr "" #: rescoff.c:178 #, c-format @@ -11251,7 +12084,7 @@ #: rescoff.c:199 msgid "Resources nest too deep" -msgstr "Recurso anidado demasiado profundo" +msgstr "" #: rescoff.c:202 msgid "directory" @@ -11259,15 +12092,17 @@ #: rescoff.c:230 msgid "named directory entry" -msgstr "asiento nombrado de directorio" +msgstr "entrada nombrada de directorio" #: rescoff.c:239 msgid "directory entry name" -msgstr "asiento del directorio nombrado" +msgstr "nombre de entrada de directorio" #: rescoff.c:253 +#, fuzzy +#| msgid "resource data" msgid "resource name" -msgstr "nombre de recurso" +msgstr "datos de recursos" #: rescoff.c:264 msgid "named subdirectory" @@ -11279,7 +12114,7 @@ #: rescoff.c:287 msgid "ID directory entry" -msgstr "Asiento de directorio ID" +msgstr "entrada de ID de directorio" #: rescoff.c:304 msgid "ID subdirectory" @@ -11295,7 +12130,7 @@ #: rescoff.c:340 msgid "data entry" -msgstr "asiento de datos" +msgstr "entrada de datos" #: rescoff.c:348 msgid "resource data" @@ -11331,7 +12166,7 @@ #: resrc.c:333 #, c-format msgid "Using temporary file `%s' to read preprocessor output\n" -msgstr "Empleando fichero temporal `%s' para leer la salida del preprocesador\n" +msgstr "Se usa el fichero temporal `%s' para leer la salida del preprocesador\n" #: resrc.c:340 #, c-format @@ -11341,7 +12176,7 @@ #: resrc.c:342 #, c-format msgid "Using popen to read preprocessor output\n" -msgstr "Empleando popen para leer la salida del preprocesador\n" +msgstr "Se usa popen para leer la salida del preprocesador\n" #: resrc.c:408 #, c-format @@ -11351,11 +12186,11 @@ #: resrc.c:419 #, c-format msgid "Using `%s'\n" -msgstr "Empleando «%s»\n" +msgstr "Se utiliza `%s'\n" #: resrc.c:603 msgid "preprocessing failed." -msgstr "fallado el preprocesamiento." +msgstr "falló el preprocesamiento." #: resrc.c:634 #, c-format @@ -11370,7 +12205,7 @@ #: resrc.c:722 resrc.c:1497 #, c-format msgid "stat failed on bitmap file `%s': %s" -msgstr "stat fallado en el fichero de distribución de bit `%s': %s" +msgstr "stat falló en el fichero de mapa de bits `%s': %s" #: resrc.c:773 #, c-format @@ -11380,11 +12215,11 @@ #: resrc.c:805 resrc.c:1205 #, c-format msgid "%s: fseek to %lu failed: %s" -msgstr "%s: fallado fseek para %lu: %s" +msgstr "%s: falló fseek para %lu: %s" #: resrc.c:931 msgid "help ID requires DIALOGEX" -msgstr "ayuda ID requiere DIALOGEX" +msgstr "el ID de ayuda requiere DIALOGEX" #: resrc.c:933 msgid "control data requires DIALOGEX" @@ -11393,7 +12228,7 @@ #: resrc.c:961 #, c-format msgid "stat failed on font file `%s': %s" -msgstr "stat fallado en el fichero de tipografía `%s': %s" +msgstr "stat falló en el fichero de tipografía `%s': %s" #: resrc.c:1174 #, c-format @@ -11403,7 +12238,7 @@ #: resrc.c:1723 resrc.c:1758 #, c-format msgid "stat failed on file `%s': %s" -msgstr "stat fallado en el fichero `%s': %s" +msgstr "stat falló en el fichero `%s': %s" #: resrc.c:1957 #, c-format @@ -11413,12 +12248,12 @@ #: size.c:77 #, c-format msgid " Displays the sizes of sections inside binary files\n" -msgstr " Enseña los tamaños de las secciones dentro de los ficheros binarios\n" +msgstr " Muestra los tamaños de las secciones dentro de los ficheros binarios\n" #: size.c:78 #, c-format msgid " If no input file(s) are specified, a.out is assumed\n" -msgstr " Si no está especificado ninguno(s) fichero(s) de entrada, es asumido a.out\n" +msgstr "Si no se especifica(n) fichero(s) de salida, se asume a.out\n" #: size.c:79 #, c-format @@ -11437,16 +12272,16 @@ " Las opciones son:\n" " -A|-B --format={sysv|berkeley} Selecciona el estilo de salida\n" " (por defecto es %s)\n" -" -o|-d|-x --radix={8|10|16} Enseña los números en octal, decimal o\n" +" -o|-d|-x --radix={8|10|16} Muestra los números en octal, decimal o\n" " hexadecimal\n" -" -t --totals Enseña los tamaños totales\n" +" -t --totals Muestra los tamaños totales\n" " (sólo Berkeley)\n" -" --common Enseña el tamaño total de los símbolos\n" +" --common Muestra el tamaño total de los símbolos\n" " *COM*\n" " --target= Establece el formato del fichero binario\n" " @ Lee opciones del \n" -" -h --help Enseña esta información\n" -" -v --version Enseña la versión del programa\n" +" -h --help Muestra esta información\n" +" -v --version Muestra la versión del programa\n" "\n" #: size.c:159 @@ -11457,61 +12292,70 @@ #: size.c:186 #, c-format msgid "Invalid radix: %s\n" -msgstr "Radio inválido: %s\n" +msgstr "Radical inválido: %s\n" #: srconv.c:130 msgid "Checksum failure" -msgstr "Fallo de comprobación de suma" +msgstr "" #. FIXME: Return error status. #: srconv.c:142 msgid "Failed to write checksum" -msgstr "Fallaba al escribir suma comprobante" +msgstr "" #: srconv.c:182 -#, c-format +#, fuzzy, c-format +#| msgid "IEEE unsupported integer type size %u\n" msgid "Unsupported integer write size: %d" -msgstr "Tamaño de escritura entera sin apoyo: %d" +msgstr "no se admite el tamaño de tipo entero IEEE %u\n" #. FIXME: Return error status. #: srconv.c:268 +#, fuzzy +#| msgid "Failed to read in number of buckets\n" msgid "Failed to write TR block" -msgstr "Fallado al escribir bloque TR" +msgstr "Falló al leer el número de cubos\n" #: srconv.c:359 #, c-format msgid "Unrecognized H8300 sub-architecture: %ld" -msgstr "Subarquitectura H8300 no reconocida: %ld" +msgstr "" #: srconv.c:377 -#, c-format +#, fuzzy, c-format +#| msgid "Supported architectures:" msgid "Unsupported architecture: %d" -msgstr "Arquitectura incompatible: %d" +msgstr "Arquitecturas admitidas:" #: srconv.c:831 -#, c-format +#, fuzzy, c-format +#| msgid "Unrecognized XCOFF type %d\n" msgid "Unrecognised type: %d" -msgstr "Tipo no reconocido: %d" +msgstr "No se reconoce el tipo XCOFF %d\n" #: srconv.c:957 -#, c-format +#, fuzzy, c-format +#| msgid "Unrecognized XCOFF type %d\n" msgid "Unrecognised coff symbol type: %d" -msgstr "Tipo simbólico coff no reconocido: %d" +msgstr "No se reconoce el tipo XCOFF %d\n" #: srconv.c:1019 srconv.c:1119 #, c-format msgid "Unrecognised coff symbol visibility: %d" -msgstr "Visibilidad de símbolo coff no reconocido: %d" +msgstr "" #: srconv.c:1045 srconv.c:1090 -#, c-format +#, fuzzy, c-format +#| msgid "Unrecognized debug section: %s\n" msgid "Unrecognised coff symbol location: %d" -msgstr "Localización simbólica coff no reconocida: %d" +msgstr "No se reconoce la sección de depuración: %s\n" #. FIXME: Return error status. #: srconv.c:1424 +#, fuzzy +#| msgid "failed to create output section" msgid "Failed to write CS struct" -msgstr "Fallado para escribir estructura CS" +msgstr "no se puede crear la sección de salida" #: srconv.c:1696 #, c-format @@ -11532,10 +12376,10 @@ " Las opciones son:\n" " -q --quick (Obsoleto - se descarta)\n" " -n --noprescan No realizar una revisión para convertir comunes en definiciones\n" -" -d --debug Enseña información acerca de lo que se está haciendo\n" +" -d --debug Muestra información acerca de lo que se está haciendo\n" " @ Lee opciones del \n" -" -h --help Enseña esta información\n" -" -v --version Enseña el número de versión del programa\n" +" -h --help Muestra esta información\n" +" -v --version Muestra el número de versión del programa\n" #: srconv.c:1844 #, c-format @@ -11549,7 +12393,7 @@ #: stabs.c:341 #, c-format msgid "Bad stab: %s\n" -msgstr "Pinchazo equivocado: %s\n" +msgstr "Stab erróneo: %s\n" #: stabs.c:349 #, c-format @@ -11618,12 +12462,12 @@ #: stabs.c:3318 #, c-format msgid "Type file number %d out of range\n" -msgstr "Número tipado de fichero %d fuera de rango\n" +msgstr "Número de tipo de fichero %d fuera de rango\n" #: stabs.c:3323 #, c-format msgid "Type index number %d out of range\n" -msgstr "Número tipado de índice %d fuera de rango\n" +msgstr "Número de tipo de índice %d fuera de rango\n" #: stabs.c:3402 #, c-format @@ -11633,7 +12477,7 @@ #: stabs.c:3695 #, c-format msgid "bad mangled name `%s'\n" -msgstr "nombre desenredado equivocadamente `%s'\n" +msgstr "nombre desenredado erróneamente `%s'\n" #: stabs.c:3790 #, c-format @@ -11668,7 +12512,7 @@ #: stabs.c:5435 #, c-format msgid "Unexpected demangled varargs\n" -msgstr "Petición inesperada varargs\n" +msgstr "varargs desenredados inesperados\n" #: stabs.c:5442 #, c-format @@ -11683,17 +12527,18 @@ #: strings.c:270 #, c-format msgid "invalid minimum string length %d" -msgstr "longitud de cadena de texto mínima %d inválida" +msgstr "longitud de cadena mínima %d inválida" #: strings.c:340 -#, c-format +#, fuzzy, c-format +#| msgid "Reading %s section of %s failed: %s\n" msgid "%s: Reading section %s failed: %s" -msgstr "%s: fallaba al leer la sección %s: %s" +msgstr "Falló al leer la sección %s de %s: %s\n" #: strings.c:640 #, c-format msgid " Display printable strings in [file(s)] (stdin by default)\n" -msgstr " Enseña las cadenas imprimibles en [fichero(s)] (por defecto entrada estándar)\n" +msgstr " Muestra las cadenas imprimibles en [fichero(s)] (por defecto entrada estándar)\n" #: strings.c:644 #, c-format @@ -11701,8 +12546,6 @@ " -a - --all Scan the entire file, not just the data section [default]\n" " -d --data Only scan the data sections in the file\n" msgstr "" -" -a - --all Analiza el fichero completo, no solo la sección de datos [predet.]\n" -" -d --data Solo analiza las secciones de datos dentro del fichero\n" #: strings.c:648 #, c-format @@ -11710,11 +12553,23 @@ " -a - --all Scan the entire file, not just the data section\n" " -d --data Only scan the data sections in the file [default]\n" msgstr "" -" -a - --all Anaizar el fichero completo, no solo la sección de datos\n" -" -d --data Solo analiza las secciones de datos dentro del fichero [predet.]\n" #: strings.c:652 -#, c-format +#, fuzzy, c-format +#| msgid "" +#| " The options are:\n" +#| " -a - --all Scan the entire file, not just the data section\n" +#| " -f --print-file-name Print the name of the file before each string\n" +#| " -n --bytes=[number] Locate & print any NUL-terminated sequence of at\n" +#| " - least [number] characters (default 4).\n" +#| " -t --radix={o,d,x} Print the location of the string in base 8, 10 or 16\n" +#| " -o An alias for --radix=o\n" +#| " -T --target= Specify the binary file format\n" +#| " -e --encoding={s,S,b,l,B,L} Select character size and endianness:\n" +#| " s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit\n" +#| " @ Read options from \n" +#| " -h --help Display this information\n" +#| " -v -V --version Print the program's version number\n" msgid "" " -f --print-file-name Print the name of the file before each string\n" " -n --bytes=[number] Locate & print any NUL-terminated sequence of at\n" @@ -11733,26 +12588,28 @@ " Las opciones son:\n" " -a - --all Revisa el fichero completo, no sólo la sección de\n" " datos\n" -" -f --print-file-name Escribe el nombre de fichero antes de cada cadena\n" +" -f --print-file-name Muestra el nombre de fichero antes de cada cadena\n" " -n --bytes=[número] Localiza y muestra cualquier secuencia terminada en\n" " - NUL de por lo menos [número] caracteres\n" " (4 por defecto).\n" -" -t --radix={o,d,x} Escribe la ubicación de la cadena en base 8, 10 ó 16\n" +" -t --radix={o,d,x} Muestra la ubicación de la cadena en base 8, 10 ó 16\n" " -o Un alias para --radix=o\n" " -T --target= Especifica el formato de fichero binario\n" " -e --encoding={s,S,b,l,B,L} Selecciona tamaño del carácter y \"endianez\":\n" " s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit\n" " @ Lee opciones del fichero\n" -" -h --help Enseña esta información\n" -" -v -V --version Enseña el número de versión del programa\n" +" -h --help Muestra esta información\n" +" -v -V --version Muestra el número de versión del programa\n" #: sysdump.c:51 msgid "*undefined*" msgstr "*sin definir*" #: sysdump.c:57 +#, fuzzy +#| msgid "" msgid "*corrupt*" -msgstr "*corrupto*" +msgstr "" #: sysdump.c:125 #, c-format @@ -11763,12 +12620,13 @@ #. Prevent infinite loops re-reading beyond the end of the buffer. #: sysdump.c:161 msgid "ICE: getINT: Out of buffer space" -msgstr "ICE: getINT: Espacio de búfer agotado" +msgstr "" #: sysdump.c:185 -#, c-format +#, fuzzy, c-format +#| msgid "unsupported menu version %d" msgid "Unsupported read size: %d" -msgstr "Tamaño de lectura sin apoyo: %d" +msgstr "no se admite la versión de menú %d" #: sysdump.c:496 #, c-format @@ -11782,7 +12640,7 @@ #: sysdump.c:532 msgid "SYMBOL INFO" -msgstr "INFO SIMBÓLICO" +msgstr "INFO DE SÍMBOLO" #: sysdump.c:550 msgid "DERIVED TYPE" @@ -11795,7 +12653,7 @@ #: sysdump.c:642 #, c-format msgid "Print a human readable interpretation of a SYSROFF object file\n" -msgstr "Escribe una interpretación legible por humanos de un fichero objeto SYSROFF\n" +msgstr "Muestra una interpretación legible por humanos de un fichero objeto SYSROFF\n" #: sysdump.c:643 #, c-format @@ -11805,8 +12663,8 @@ " -v --version Print the program's version number\n" msgstr "" " Las opciones son:\n" -" -h --help Enseña esta información\n" -" -v --version Escribe el número de versión del programa\n" +" -h --help Muestra esta información\n" +" -v --version Muestra el número de versión del programa\n" #: sysdump.c:711 #, c-format @@ -11814,9 +12672,10 @@ msgstr "no se puede abrir el fichero de entrada %s" #: version.c:34 -#, c-format +#, fuzzy, c-format +#| msgid "Copyright 2011 Free Software Foundation, Inc.\n" msgid "Copyright (C) 2018 Free Software Foundation, Inc.\n" -msgstr "© 2018 Free Software Foundation, Inc.\n" +msgstr "Copyright 2011 Free Software Foundation, Inc.\n" #: version.c:35 #, c-format @@ -11864,29 +12723,25 @@ " -x --xdbg= Where to create the .dbg C include file\n" " that maps message ID's to their symbolic name.\n" msgstr "" -" Las opciones son:\n" +"Las opciones son:\n" " -a --ascii_in Lee el fichero de entrada como fichero ASCII\n" -" -A --ascii_out Escribe mensajes binarios como ASCII\n" -" -b --binprefix Nombre de fichero .bin prefijado por nombre de fichero_ .mc para\n" -" \t\t\tsingularidad.\n" -" -c --customflag Define opciones particulares para los mensajes\n" -" -C --codepage_in= Define el código de página cuando lea el fichero textual mc\n" -" -d --decimal_values Guarda valores a ficheros de textos decimales\n" -" -e --extension= Establecer extensión del encabezado a emplear al exportar\n" -" \t\t\tel fichero del encabezado\n" +" -A --ascii_out Escribe los mensajes binarios como ASCII\n" +" -b --binprefix Se agrega el prefijo fichero_ .mc al nombre de fichero .bin para singularidad.\n" +" -c --customflag Define las opciones particulares para los mensajes\n" +" -C --codepage_in= Define el código de página para leer el fichero de texto mc\n" +" -d --decimal_values Guarda los valores a ficheros de textos decimales\n" +" -e --extension= Establece la extensión del encabezado a usar en la exportación del fichero de encabezado\n" " -F --target Especifica el objetivo de salida por `endianez'.\n" " -h --headerdir= Define el directorio de exportación para encabezados\n" " -u --unicode_in Lee el fichero de entrada como un fichero UTF16\n" " -U --unicode_out Escribe los mensajes binarios como UTF16\n" " -m --maxlength= Define la longitud de mensaje máxima permitida\n" -" -n --nullterminate Añade automáticamente una terminación cero a las cadenas\n" -" -o --hresult_use Emplea la definición HRESULT en lugar de la definición del código\n" -" \t\t\tde estado\n" -" -O --codepage_out= Establece el código de página a utilizar para escribir al\n" -" \t\t\tfichero de texto\n" -" -r --rcdir= Establece el directorio de exportación para los ficheros rc\n" -" -x --xdbg= Donde crea el fichero C de inclusión .dbg\n" -" \t\t\tque distribuye los ID de los mensajes a su nombre simbólico.\n" +" -n --nullterminate Agrega automáticamente una terminación cero a las cadenas\n" +" -o --hresult_use Usa la definición HRESULT en lugar de la definición del código de estado\n" +" -O --codepage_out= Define el código de página a usar para escribir el fichero de texto\n" +" -r --rcdir= Define el directorio de exportación para los ficheros rc\n" +" -x --xdbg= Dónde crear el fichero de inclusión C .dbg\n" +" que mapea los ID's de los mensajes a su nombre simbólico.\n" #: windmc.c:219 #, c-format @@ -11895,9 +12750,9 @@ " -v --verbose Verbose - tells you what it's doing\n" " -V --version Print version information\n" msgstr "" -" -H --help Escribe este mensaje de ayuda\n" +" -H --help Muestra este mensaje de ayuda\n" " -v --verbose Detalle - dice lo que está haciendo\n" -" -V --version Escribe la información de versión\n" +" -V --version Muestra la información de versión\n" #: windmc.c:260 windres.c:404 #, c-format @@ -11916,7 +12771,7 @@ #: windmc.c:306 msgid "try to add a ill language." -msgstr "trata añadir un lenguaje ausente." +msgstr "se trató de agregar un lenguaje erróneo." #: windmc.c:1116 #, c-format @@ -11955,7 +12810,7 @@ #: windres.c:556 #, c-format msgid "unknown format type `%s'" -msgstr "formato de tipo desconocido `%s'" +msgstr "tipo de formato `%s' desconocido" #: windres.c:557 #, c-format @@ -11994,28 +12849,27 @@ " the preprocessor output\n" " --no-use-temp-file Use popen (default)\n" msgstr "" -" Las opciones son:\n" +"Las opciones son:\n" " -i --input= Nombra el fichero de entrada\n" " -o --output= Nombra el fichero de salida\n" " -J --input-format= Especifica el formato de entrada\n" " -O --output-format= Especifica el formato de salida\n" " -F --target= Especifica el objetivo COFF\n" " --preprocessor= Programa a utilizar para preprocesar el fichero rc\n" -" --preprocessor-arg= Argumento preprocesador adicional\n" " -I --include-dir= Incluye el directorio al preprocesar el fichero rc\n" " -D --define [=val] Define un SIMbolo al preprocesar el fichero rc\n" -" -U --undefine No define un SIMbolo al preprocesar el fichero rc\n" +" -U --undefine No define el SIMbolo al preprocesar el fichero rc\n" " -v --verbose Detallado - dice lo que está haciendo\n" " -c --codepage= Establece el código de página por defecto\n" " -l --language= Establece el lenguaje al leer el fichero rc\n" -" --use-temp-file Emplea un fichero temporal en lugar de popen para\n" +" --use-temp-file Usa un fichero temporal en lugar de popen para\n" " leer la salida del preprocesador\n" -" --no-use-temp-file Emplear popen (por defecto)\n" +" --no-use-temp-file Usa popen (por defecto)\n" #: windres.c:672 #, c-format msgid " --yydebug Turn on parser debugging\n" -msgstr " --yydebug Activa el interpretador de depuración\n" +msgstr " --yydebug Activa el decodificador de depuración\n" #: windres.c:675 #, c-format @@ -12028,8 +12882,8 @@ " Las opciones son:\n" " -r Se descarta por compatibilidad con rc\n" " @ Lee opciones del \n" -" -h --help Escribe este mensaje de ayuda\n" -" -V --version Escribe la información de versión\n" +" -h --help Muestra este mensaje de ayuda\n" +" -V --version Muestra la información de versión\n" #: windres.c:680 #, c-format @@ -12067,18 +12921,80 @@ #: wrstabs.c:353 wrstabs.c:1914 #, c-format msgid "string_hash_lookup failed: %s" -msgstr "string_hash_lookup fallado: %s" +msgstr "string_hash_lookup falló: %s" #: wrstabs.c:636 #, c-format msgid "stab_int_type: bad size %u" -msgstr "stab_int_type: tamaño %u equivocado" +msgstr "stab_int_type: tamaño %u erróneo" #: wrstabs.c:1392 #, c-format msgid "%s: warning: unknown size for field `%s' in struct" msgstr "%s: aviso: tamaño desconocido para el campo `%s' en la estructura" +#, fuzzy +#~| msgid "Debug info is corrupted, length of CU at %s extends beyond end of section (length = %s)\n" +#~ msgid "Debug info is corrupt. CU at %s extends beyond end of section" +#~ msgstr "La información de depuración está corrupta, la longitud de CU en %s se extiende más allá del final de la sección (longitud = %s)\n" + +#~ msgid "" +#~ "Decoded dump of debug contents of section %s:\n" +#~ "\n" +#~ msgstr "" +#~ "Volcado decodificado del contenido de depuración de la sección %s:\n" +#~ "\n" + +#~ msgid "Contents of the %s section:\n" +#~ msgstr "Contenido de la sección %s:\n" + +#~ msgid "data size %ld" +#~ msgstr "tamaño de datos %ld" + +#~ msgid "" +#~ msgstr "" + +#, fuzzy +#~| msgid "creating %s" +#~ msgid "Reading 0x%" +#~ msgstr "creando %s" + +#, fuzzy +#~| msgid "Out of memory allocating 0x%lx bytes for %s\n" +#~ msgid "Out of memory allocating 0x%" +#~ msgstr "Memoria agotada al asignar 0x%lx bytes para %s\n" + +#, fuzzy +#~| msgid "Unable to read in 0x%lx bytes of %s\n" +#~ msgid "Unable to read in 0x%" +#~ msgstr "No se pueden leer 0x%lx bytes de %s\n" + +#~ msgid "" +#~ "\n" +#~ "Unwind table index '%s' at offset 0x%lx contains %lu entries:\n" +#~ msgstr "" +#~ "\n" +#~ "El índice de tabla de desenredo '%s' en el desplazamiento 0x%lx contiene %lu entradas:\n" + +#~ msgid "Unable to seek to end of file!\n" +#~ msgstr "¡No se puede alcanzar el final del fichero!\n" + +#~ msgid "Unable to seek to end of file\n" +#~ msgstr "No se puede alcanzar el final del fichero\n" + +#, fuzzy +#~| msgid "Out of memory" +#~ msgid "Out of memory reading %" +#~ msgstr "Memoria agotada" + +#, fuzzy +#~| msgid "Unable to read in dynamic data\n" +#~ msgid "Unable to read in %" +#~ msgstr "No se pueden leer los datos dinámicos\n" + +#~ msgid "skipping unexpected symbol type %s in %ld'th relocation in section %s\n" +#~ msgstr "se salta el tipo de símbolo %s inesperado en la %ld-ésima reubicación en la sección %s\n" + #~ msgid "Wrong size in print_dwarf_vma" #~ msgstr "Tamaño erróneo en print_dwarf_vma" @@ -12088,13 +13004,6 @@ #~ msgid "The information in section %s appears to be corrupt - the section is too small\n" #~ msgstr "La información en la sección %s parece estar corrupta - la sección es demasiado pequeña\n" -#~ msgid "" -#~ "Decoded dump of debug contents of section %s:\n" -#~ "\n" -#~ msgstr "" -#~ "Volcado decodificado del contenido de depuración de la sección %s:\n" -#~ "\n" - #~ msgid " DW_MACRO_GNU_define_indirect - lineno : %d macro : %s\n" #~ msgstr " DW_MACRO_GNU_define_indirect - numlinea : %d macro : %s\n" @@ -12104,18 +13013,12 @@ #~ msgid "Unknown machine type: %d\n" #~ msgstr "Tipo de máquina desconocido: %d\n" -#~ msgid "data size %ld" -#~ msgstr "tamaño de datos %ld" - #~ msgid "Idx Name Size VMA LMA File off Algn" #~ msgstr "Ind Nombre Tamaño VMA LMA Desp fich Alin" #~ msgid "Idx Name Size VMA LMA File off Algn" #~ msgstr "Ind Nombre Tamaño VMA LMA Desp fich Alin" -#~ msgid "" -#~ msgstr "" - #~ msgid "sh_entsize is zero\n" #~ msgstr "sh_entsize es cero\n" @@ -12140,21 +13043,12 @@ #~ msgid "'%s'" #~ msgstr "'%s'" -#~ msgid "Unable to seek to end of file!\n" -#~ msgstr "¡No se puede alcanzar el final del fichero!\n" - -#~ msgid "Unable to seek to end of file\n" -#~ msgstr "No se puede alcanzar el final del fichero\n" - #~ msgid "| " #~ msgstr "| " #~ msgid "bad dynamic symbol\n" #~ msgstr "símbolo dinámico erróneo\n" -#~ msgid "skipping unexpected symbol type %s in %ld'th relocation in section %s\n" -#~ msgstr "se salta el tipo de símbolo %s inesperado en la %ld-ésima reubicación en la sección %s\n" - #~ msgid "Any\n" #~ msgstr "Cualquiera\n" diff -Nru binutils-2.30.51.20180512/binutils/readelf.c binutils-2.30.52.20180613/binutils/readelf.c --- binutils-2.30.51.20180512/binutils/readelf.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/binutils/readelf.c 2018-06-04 21:27:35.000000000 +0200 @@ -119,6 +119,7 @@ #include "elf/m32r.h" #include "elf/m68k.h" #include "elf/m68hc11.h" +#include "elf/s12z.h" #include "elf/mcore.h" #include "elf/mep.h" #include "elf/metag.h" @@ -1274,6 +1275,10 @@ rtype = elf_m68hc11_reloc_type (type); break; + case EM_S12Z: + rtype = elf_s12z_reloc_type (type); + break; + case EM_68K: rtype = elf_m68k_reloc_type (type); break; @@ -3467,6 +3472,9 @@ if (e_flags & EF_RISCV_RVC) strcat (buf, ", RVC"); + if (e_flags & EF_RISCV_RVE) + strcat (buf, ", RVE"); + switch (e_flags & EF_RISCV_FLOAT_ABI) { case EF_RISCV_FLOAT_ABI_SOFT: @@ -12309,6 +12317,8 @@ case EM_68HC11: case EM_68HC12: return reloc_type == 6; /* R_M68HC11_32. */ + case EM_S12Z: + return reloc_type == 6; /* R_S12Z_EXT32. */ case EM_MCORE: return reloc_type == 1; /* R_MCORE_ADDR32. */ case EM_CYGNUS_MEP: diff -Nru binutils-2.30.51.20180512/binutils/testsuite/binutils-all/ar.exp binutils-2.30.52.20180613/binutils/testsuite/binutils-all/ar.exp --- binutils-2.30.51.20180512/binutils/testsuite/binutils-all/ar.exp 2018-01-05 03:08:29.000000000 +0100 +++ binutils-2.30.52.20180613/binutils/testsuite/binutils-all/ar.exp 2018-06-04 21:27:35.000000000 +0200 @@ -4,12 +4,12 @@ # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. @@ -113,7 +113,7 @@ fail $testname return } - + if [is_remote host] { remote_file host delete $file1 remote_file host delete $file2 @@ -435,6 +435,12 @@ return } + set got [binutils_run $AR "tvO $archive"] + if ![string match "rw-r--r-- 0/0 *bintest.o 0x*" $got] { + fail $testname + return + } + pass $testname } @@ -571,7 +577,7 @@ # FIXME: There ought to be a way to dynamically create an empty file. set empty $srcdir/$subdir/empty - + if [is_remote host] { set archive artest.a set objfile [remote_download host $empty] diff -Nru binutils-2.30.51.20180512/binutils/testsuite/binutils-all/compress.exp binutils-2.30.52.20180613/binutils/testsuite/binutils-all/compress.exp --- binutils-2.30.51.20180512/binutils/testsuite/binutils-all/compress.exp 2018-01-05 03:08:29.000000000 +0100 +++ binutils-2.30.52.20180613/binutils/testsuite/binutils-all/compress.exp 2018-06-04 21:27:35.000000000 +0200 @@ -677,22 +677,14 @@ global srcdir global subdir global env - global CC_FOR_TARGET global STRIP global OBJCOPY global OBJDUMP set test "gnu-debuglink" - if {![info exists CC_FOR_TARGET]} { - set CC_FOR_TARGET $env(CC) - } - if { $CC_FOR_TARGET == "" } { - unsupported $test - return - } if { [target_compile $srcdir/$subdir/testprog.c tmpdir/testprog exectuable debug] != "" } { - fail "$test (build)" + unsupported "$test (build)" return } set got [remote_exec host "$OBJDUMP -S tmpdir/testprog" "" "/dev/null" "tmpdir/testprog.dump"] @@ -762,6 +754,6 @@ } } -if {[isnative] && [is_elf_format]} then { +if {[is_elf_format]} then { test_gnu_debuglink } diff -Nru binutils-2.30.51.20180512/binutils/testsuite/binutils-all/dw2-1.S binutils-2.30.52.20180613/binutils/testsuite/binutils-all/dw2-1.S --- binutils-2.30.51.20180512/binutils/testsuite/binutils-all/dw2-1.S 2018-01-05 03:08:29.000000000 +0100 +++ binutils-2.30.52.20180613/binutils/testsuite/binutils-all/dw2-1.S 2018-06-04 21:27:35.000000000 +0200 @@ -27,6 +27,8 @@ func_cu1: .Lbegin_func_cu1: .4byte 0 + .global func_cu1_end +func_cu1_end: .Lend_func_cu1: .size func_cu1, .-func_cu1 .Lend_text1: diff -Nru binutils-2.30.51.20180512/binutils/testsuite/binutils-all/objcopy.exp binutils-2.30.52.20180613/binutils/testsuite/binutils-all/objcopy.exp --- binutils-2.30.51.20180512/binutils/testsuite/binutils-all/objcopy.exp 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/binutils/testsuite/binutils-all/objcopy.exp 2018-05-16 15:49:14.000000000 +0200 @@ -1081,7 +1081,9 @@ if { [istarget "mips64*-*-openbsd*"] } { set reloc_format mips64 - } elseif { [istarget "arm-*"] \ + } elseif { ([istarget "arm*-*"] \ + && ![istarget "*-*-vxworks"] \ + && ![istarget "*-*-windiss"]) \ || [istarget "d10v-*"] \ || [istarget "dlx-*"] \ || [istarget "i*86-*"] \ diff -Nru binutils-2.30.51.20180512/binutils/testsuite/binutils-all/objdump.exp binutils-2.30.52.20180613/binutils/testsuite/binutils-all/objdump.exp --- binutils-2.30.51.20180512/binutils/testsuite/binutils-all/objdump.exp 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/binutils/testsuite/binutils-all/objdump.exp 2018-06-04 21:27:35.000000000 +0200 @@ -347,30 +347,29 @@ global srcdir global subdir global env - global CC_FOR_TARGET global STRIP global OBJCOPY global OBJDUMP global CFLAGS_FOR_TARGET set test "build-id-debuglink" - if {![info exists CC_FOR_TARGET]} { - set CC_FOR_TARGET $env(CC) - } - if { $CC_FOR_TARGET == "" } { - unsupported $test - return - } # Use a fixed build-id. + if { [info exists CFLAGS_FOR_TARGET] } { + set save_CFLAGS_FOR_TARGET $CFLAGS_FOR_TARGET + } set CFLAGS_FOR_TARGET "-g -Wl,--build-id=0x12345678abcdef01" if { [target_compile $srcdir/$subdir/testprog.c tmpdir/testprog exectuable debug] != "" } { - fail "$test (build)" + unsupported "$test (build)" return } - # FIXME: Do we need to restore CFLAGS_FOR_TARGET to its old value ? + if { [info exists save_CFLAGS_FOR_TARGET] } { + set CFLAGS_FOR_TARGET $save_CFLAGS_FOR_TARGET + } else { + unset CFLAGS_FOR_TARGET + } if { [binutils_run $STRIP "--strip-debug --remove-section=.comment tmpdir/testprog -o tmpdir/testprog.strip"] != "" } { fail "$test (strip debug info)" @@ -420,7 +419,7 @@ } } -if {[isnative] && [is_elf_format]} then { +if {[is_elf_format]} then { test_build_id_debuglink } @@ -502,7 +501,7 @@ set got [remote_exec host "rm tmpdir/linkdebug.debug"] } -if {[isnative] && [is_elf_format]} then { +if {[is_elf_format]} then { test_follow_debuglink } diff -Nru binutils-2.30.51.20180512/binutils/testsuite/lib/binutils-common.exp binutils-2.30.52.20180613/binutils/testsuite/lib/binutils-common.exp --- binutils-2.30.51.20180512/binutils/testsuite/lib/binutils-common.exp 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/binutils/testsuite/lib/binutils-common.exp 2018-06-04 21:27:35.000000000 +0200 @@ -23,35 +23,38 @@ # config.sub for these targets curiously transforms a target doublet # ending in -elf to -none. eg. m68hc12-elf to m68hc12-unknown-none # They are always elf. - if { [istarget m68hc1*-*] || [istarget xgate-*] } { + if { [istarget m68hc1*-*] || [istarget s12z*-*] || [istarget xgate-*] } { return 1; } +# vxworks (and windiss) excluded due to number of ELF tests that need +# modifying to pass on those targets. +# && ![istarget *-*-vxworks*] +# && ![istarget *-*-windiss*] - if { ![istarget *-*-eabi*] - && ![istarget *-*-elf*] - && ![istarget *-*-freebsd*] + if { ![istarget *-*-chorus*] + && ![istarget *-*-cloudabi*] + && ![istarget *-*-eabi*] + && ![istarget *-*-*elf*] + && ![istarget *-*-*freebsd*] + && ![istarget *-*-fuchsia*] && ![istarget *-*-gnu*] && ![istarget *-*-irix5*] && ![istarget *-*-irix6*] - && ![istarget *-*-linux*] + && ![istarget *-*-kaos*] + && ![istarget *-*-*linux*] && ![istarget *-*-lynxos*] && ![istarget *-*-nacl*] && ![istarget *-*-netbsd*] + && ![istarget *-*-nto*] && ![istarget *-*-openbsd*] && ![istarget *-*-rtems*] && ![istarget *-*-solaris2*] - && ![istarget *-*-symbianelf*] && ![istarget *-*-sysv4*] && ![istarget *-*-unixware*] && ![istarget *-*-wasm32*] - && ![istarget arm*-*-uclinuxfdpiceabi] && ![istarget avr-*-*] - && ![istarget bfin-*-uclinux] - && ![istarget frv-*-uclinux*] && ![istarget hppa*64*-*-hpux*] - && ![istarget ia64-*-hpux*] - && ![istarget sh*-*-uclinux*] - && ![istarget tic6x*-*-uclinux*] } { + && ![istarget ia64-*-hpux*] } { return 0 } diff -Nru binutils-2.30.51.20180512/debian/changelog binutils-2.30.52.20180613/debian/changelog --- binutils-2.30.51.20180512/debian/changelog 2018-05-12 17:45:10.000000000 +0200 +++ binutils-2.30.52.20180613/debian/changelog 2018-06-13 14:20:30.000000000 +0200 @@ -1,3 +1,9 @@ +binutils (2.30.52.20180613-1) experimental; urgency=medium + + * Snapshot, taken from the trunk (20180613). + + -- Matthias Klose Wed, 13 Jun 2018 14:20:30 +0200 + binutils (2.30.51.20180512-1) experimental; urgency=medium * Snapshot, taken from the trunk (20180512). diff -Nru binutils-2.30.51.20180512/debian/dwp.1 binutils-2.30.52.20180613/debian/dwp.1 --- binutils-2.30.51.20180512/debian/dwp.1 2018-03-08 04:07:56.000000000 +0100 +++ binutils-2.30.52.20180613/debian/dwp.1 2018-05-12 18:17:11.000000000 +0200 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. -.TH DWP "1" "March 2018" "dwp (GNU Binutils for Debian) 2.30" "User Commands" +.TH DWP "1" "May 2018" "dwp (GNU Binutils for Debian) 2.30.51.20180512" "User Commands" .SH NAME dwp \- The DWARF packaging utility .SH SYNOPSIS diff -Nru binutils-2.30.51.20180512/debian/ld.gold.1 binutils-2.30.52.20180613/debian/ld.gold.1 --- binutils-2.30.51.20180512/debian/ld.gold.1 2018-03-08 04:07:56.000000000 +0100 +++ binutils-2.30.52.20180613/debian/ld.gold.1 2018-05-12 18:17:11.000000000 +0200 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. -.TH GOLD "1" "March 2018" "gold (GNU Binutils for Debian 2.30) 1.15" "User Commands" +.TH GOLD "1" "May 2018" "gold (GNU Binutils for Debian 2.30.51.20180512) 1.15" "User Commands" .SH NAME gold \- The GNU ELF linker .SH SYNOPSIS @@ -846,6 +846,11 @@ .TP \fB\-z\fR notext\-unlikely\-segment Do not move .text.unlikely sections to a separate segment. (default) +.HP +\fB\-z\fR keep\-text\-section\-prefix Keep .text.hot, .text.startup, .text.exit and .text.unlikely as separate sections in the final binary. +.TP +\fB\-z\fR nokeep\-text\-section\-prefix +Merge all .text.* prefix sections. (default) .PP debian/tmp/usr/bin/ld.gold: supported targets: elf32\-iamcu elf32\-i386 elf32\-i386\-freebsd elf32\-i386\-nacl elf32\-x86\-64 elf32\-x86\-64\-freebsd elf32\-x86\-64\-nacl elf64\-x86\-64 elf64\-x86\-64\-freebsd elf64\-x86\-64\-nacl debian/tmp/usr/bin/ld.gold: supported emulations: elf_iamcu elf_i386 elf_i386_nacl elf32_x86_64 elf32_x86_64_nacl elf_x86_64 elf_x86_64_nacl diff -Nru binutils-2.30.51.20180512/gas/as.c binutils-2.30.52.20180613/gas/as.c --- binutils-2.30.51.20180512/gas/as.c 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/gas/as.c 2018-05-16 15:49:14.000000000 +0200 @@ -1256,7 +1256,7 @@ if (stat (argv[i], &sib) == 0) { - if (sib.st_ino == sob.st_ino) + if (sib.st_ino == sob.st_ino && sib.st_ino != 0) { /* Don't let as_fatal remove the output file! */ out_file_name = NULL; diff -Nru binutils-2.30.51.20180512/gas/ChangeLog binutils-2.30.52.20180613/gas/ChangeLog --- binutils-2.30.51.20180512/gas/ChangeLog 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/gas/ChangeLog 2018-06-13 10:31:38.000000000 +0200 @@ -1,3 +1,407 @@ +2018-06-11 Maciej W. Rozycki + + * config/tc-mips.c (md_show_usage): Correct help text for `-O0' + and `-O'. Mention `-O1'. Add `-O2' and its description. + +2018-06-08 Kyrylo Tkachov + + * config/tc-arm.c (arm_cpus): Add Cortex-A76 entry. + * doc/c-arm.texi (-mcpu): Document cortex-a76. + +2018-06-08 Kyrylo Tkachov + + * config/tc-aarch64.c (aarch64_cpus): Add Cortex-A76 entry. + * doc/c-aarch64.texi (-mcpu): Document cortex-a76. + +2018-06-08 Egeyar Bagcioglu + + PR 20319 + * testsuite/gas/aarch64/illegal-3.s: Test if unallocated FMOV encodings + are detected as undefined. + * testsuite/gas/aarch64/illegal-3.d: Likewise. + * testsuite/gas/aarch64/illegal.s: Test if FMOV instructions that are + changing the size from 32 bits to 64 bits and vice versa trigger an + error. + * testsuite/gas/aarch64/illegal.l: Likewise. + +2018-06-08 Tamar Christina + + PR binutils/21446 + * tc-aarch64.c (record_operand_error, record_operand_error_with_data): + Initialize non_fatal. + +2018-06-06 Sameera Deshpande + + * config/tc-aarch64.c (aarch64_cpus): Add support of ARMv8.4 in + saphira. + +2018-06-05 Alan Modra + + * Makefile.in: Regenerate. + +2018-06-04 Volodymyr Arbatov + + * config/tc-xtensa.c (elf32xtensa_separate_props): New + declaration. + (option_separate_props, option_no_separate_props): New + enumeration constants. + (md_longopts): Add separate-prop-tables option. + (md_parse_option): Add cases for option_separate_props and + option_no_separate_props. + (md_show_usage): Add help for [no-]separate-prop-tables options. + +2018-06-01 H.J. Lu + + * configure: Regenerated. + +2018-06-01 Alexandre Oliva + + * dwarf2dbg.c (dwarf2_consume_line_info): Drop view. + +2018-06-01 Jan Beulich + + * testsuite/gas/i386/ilp32/x86-64-opcode.d, + testsuite/gas/i386/x86-64-opcode.d: Adjust expectations. + +2018-06-01 Jan Beulich + + * config/tc-i386.c (add_prefix): Check REX bits individually. + * testsuite/gas/i386/rex.s: Add tests for overriding individual + REX bits, including when others are already set. + * testsuite/gas/i386/ilp32/rex.d, testsuite/gas/i386/rex.d: + Adjust expectations. + +2018-06-01 Jan Beulich + + * config/tc-i386.c (control): Delete. + (parse_real_register): Simply check "control" bit. Re-wrap. + +2018-06-01 Jan Beulich + + * config/tc-i386.c (build_modrm_byte): Drop REX_B from condition + checking for the need of emitting LOCK. Check "control" bit just + once. + +2018-06-01 Jan Beulich + + * testsuite/gas/i386/invpcid.s, + testsuite/gas/i386/x86-64-invpcid.s: Add test with explicit + "oword ptr". + * testsuite/gas/i386/invpcid.d, + testsuite/gas/i386/invpcid-intel.d, + testsuite/gas/i386/x86-64-invpcid.d, + testsuite/gas/i386/x86-64-invpcid-intel.d: Adjust expectations. + +2018-05-30 Amit Pawar + + * config/tc-i386.c (cpu_flag_init): Add CPU_ZNVER2_FLAGS. + * doc/c-i386.texi : Document znver2. + * gas/testsuite/gas/i386/arch-13.s: Updated for znver2. + * gas/testsuite/gas/i386/arch-13.d: Updated. + * gas/testsuite/gas/i386/arch-13-znver1.d: Updated. + * gas/testsuite/gas/i386/arch-13-znver2.d: New file. + * gas/testsuite/gas/i386/x86-64-arch-3.s: Updated for znver2. + * gas/testsuite/gas/i386/x86-64-arch-3.d: Updated. + * gas/testsuite/gas/i386/x86-64-arch-3-znver1.d: Updated. + * gas/testsuite/gas/i386/x86-64-arch-3-znver2.d: New file. + * gas/testsuite/gas/i386/i386.exp: Updated for new test. + +2018-05-25 Alan Modra + + * po/POTFILES.in: Regenerate. + +2018-05-24 Jim Wilson + + PR gas/23219 + * config/tc-riscv.c (riscv_frag_align_code): Move frag_more call after + !riscv_opts.relax check. + (riscv_handle_align): Rewrite !riscv_opts.relax support. + * config/tc-riscv (MAX_MEM_FOR_RS_ALIGN_CODE): Update. + * testsuite/gas/riscv/no-relax-align.d: New + * testsuite/gas/riscv/no-relax-align.s: New + * testsuite/gas/riscv/no-relax-align-2.d: New + * testsuite/gas/riscv/no-relax-align-2.s: New + +2018-05-21 Peter Bergner + + * config/tc-ppc.c (md_assemble): Delete handling of fake operands. + * testsuite/gas/ppc/common.s (crmove, cror, or., or, nor., nor): Add + test of extended mnemonics. + * testsuite/gas/ppc/common.d: Likewise. Don't match instruction offset. + * testsuite/gas/ppc/spe.s (evor, evnor): Add test of extended mnemonics. + * testsuite/gas/ppc/spe.d: Likewise. Don't match instruction offset. + +2018-05-18 Kito Cheng + Monk Chiang + Jim Wilson + + * config/tc-riscv.c (rve_abi): New. + (riscv_set_options): Add rve field. Initialize it. + (riscv_set_rve) New function. + (riscv_set_arch): Support 'e' ISA subset. + (reg_lookup_internal): If rve, check register is available. + (riscv_set_abi): New parameter rve. + (md_parse_option): Pass new argument to riscv_set_abi. + (riscv_after_parse_args): Call riscv_set_rve. If rve_abi, set + EF_RISCV_RVE. + * doc/c-riscv.texi (-mabi): Document new ilp32e argument. + +2018-05-18 John Darrington + + * Makefile.am: Add support for s12z target. + * Makefile.in: Regenerate. + * NEWS: Mention the new support. + * config/tc-s12z.c: New file. + * config/tc-s12z.h: New file. + * configure.tgt: Add s12z support. + * doc/Makefile.am: Likewise. + * doc/Makefile.in: Regenerate. + * doc/all.texi: Add s12z documentation. + * doc/as.textinfo: Likewise. + * doc/c-s12z.texi: New file. + * testsuite/gas/s12z: New directory. + * testsuite/gas/s12z/abs.d: New file. + * testsuite/gas/s12z/abs.s: New file. + * testsuite/gas/s12z/adc-imm.d: New file. + * testsuite/gas/s12z/adc-imm.s: New file. + * testsuite/gas/s12z/adc-opr.d: New file. + * testsuite/gas/s12z/adc-opr.s: New file. + * testsuite/gas/s12z/add-imm.d: New file. + * testsuite/gas/s12z/add-imm.s: New file. + * testsuite/gas/s12z/add-opr.d: New file. + * testsuite/gas/s12z/add-opr.s: New file. + * testsuite/gas/s12z/and-imm.d: New file. + * testsuite/gas/s12z/and-imm.s: New file. + * testsuite/gas/s12z/and-opr.d: New file. + * testsuite/gas/s12z/and-opr.s: New file. + * testsuite/gas/s12z/and-or-cc.d: New file. + * testsuite/gas/s12z/and-or-cc.s: New file. + * testsuite/gas/s12z/bfext-special.d: New file. + * testsuite/gas/s12z/bfext-special.s: New file. + * testsuite/gas/s12z/bfext.d: New file. + * testsuite/gas/s12z/bfext.s: New file. + * testsuite/gas/s12z/bit-manip.d: New file. + * testsuite/gas/s12z/bit-manip.s: New file. + * testsuite/gas/s12z/bit.d: New file. + * testsuite/gas/s12z/bit.s: New file. + * testsuite/gas/s12z/bra-expression-defined.d: New file. + * testsuite/gas/s12z/bra-expression-defined.s: New file. + * testsuite/gas/s12z/bra-expression-undef.d: New file. + * testsuite/gas/s12z/bra-expression-undef.s: New file. + * testsuite/gas/s12z/bra.d: New file. + * testsuite/gas/s12z/bra.s: New file. + * testsuite/gas/s12z/brclr-symbols.d: New file. + * testsuite/gas/s12z/brclr-symbols.s: New file. + * testsuite/gas/s12z/brset-clr-opr-imm-rel.d: New file. + * testsuite/gas/s12z/brset-clr-opr-imm-rel.s: New file. + * testsuite/gas/s12z/brset-clr-opr-reg-rel.d: New file. + * testsuite/gas/s12z/brset-clr-opr-reg-rel.s: New file. + * testsuite/gas/s12z/brset-clr-reg-imm-rel.d: New file. + * testsuite/gas/s12z/brset-clr-reg-imm-rel.s: New file. + * testsuite/gas/s12z/brset-clr-reg-reg-rel.d: New file. + * testsuite/gas/s12z/brset-clr-reg-reg-rel.s: New file. + * testsuite/gas/s12z/clb.d: New file. + * testsuite/gas/s12z/clb.s: New file. + * testsuite/gas/s12z/clr-opr.d: New file. + * testsuite/gas/s12z/clr-opr.s: New file. + * testsuite/gas/s12z/clr.d: New file. + * testsuite/gas/s12z/clr.s: New file. + * testsuite/gas/s12z/cmp-imm.d: New file. + * testsuite/gas/s12z/cmp-imm.s: New file. + * testsuite/gas/s12z/cmp-opr-inc.d: New file. + * testsuite/gas/s12z/cmp-opr-inc.s: New file. + * testsuite/gas/s12z/cmp-opr-rdirect.d: New file. + * testsuite/gas/s12z/cmp-opr-rdirect.s: New file. + * testsuite/gas/s12z/cmp-opr-reg.d: New file. + * testsuite/gas/s12z/cmp-opr-reg.s: New file. + * testsuite/gas/s12z/cmp-opr-rindirect.d: New file. + * testsuite/gas/s12z/cmp-opr-rindirect.s: New file. + * testsuite/gas/s12z/cmp-opr-sxe4.d: New file. + * testsuite/gas/s12z/cmp-opr-sxe4.s: New file. + * testsuite/gas/s12z/cmp-opr-xys.d: New file. + * testsuite/gas/s12z/cmp-opr-xys.s: New file. + * testsuite/gas/s12z/cmp-s-imm.d: New file. + * testsuite/gas/s12z/cmp-s-imm.s: New file. + * testsuite/gas/s12z/cmp-s-opr.d: New file. + * testsuite/gas/s12z/cmp-s-opr.s: New file. + * testsuite/gas/s12z/cmp-xy.d: New file. + * testsuite/gas/s12z/cmp-xy.s: New file. + * testsuite/gas/s12z/com-opr.d: New file. + * testsuite/gas/s12z/com-opr.s: New file. + * testsuite/gas/s12z/complex-shifts.d: New file. + * testsuite/gas/s12z/complex-shifts.s: New file. + * testsuite/gas/s12z/db-tb-cc-opr.d: New file. + * testsuite/gas/s12z/db-tb-cc-opr.s: New file. + * testsuite/gas/s12z/db-tb-cc-reg.d: New file. + * testsuite/gas/s12z/db-tb-cc-reg.s: New file. + * testsuite/gas/s12z/dbCC.d: New file. + * testsuite/gas/s12z/dbCC.s: New file. + * testsuite/gas/s12z/dec-opr.d: New file. + * testsuite/gas/s12z/dec-opr.s: New file. + * testsuite/gas/s12z/dec.d: New file. + * testsuite/gas/s12z/dec.s: New file. + * testsuite/gas/s12z/div.d: New file. + * testsuite/gas/s12z/div.s: New file. + * testsuite/gas/s12z/eor.d: New file. + * testsuite/gas/s12z/eor.s: New file. + * testsuite/gas/s12z/exg.d: New file. + * testsuite/gas/s12z/exg.s: New file. + * testsuite/gas/s12z/ext24-ld-xy.d: New file. + * testsuite/gas/s12z/ext24-ld-xy.s: New file. + * testsuite/gas/s12z/inc-opr.d: New file. + * testsuite/gas/s12z/inc-opr.s: New file. + * testsuite/gas/s12z/inc.d: New file. + * testsuite/gas/s12z/inc.s: New file. + * testsuite/gas/s12z/inh.d: New file. + * testsuite/gas/s12z/inh.s: New file. + * testsuite/gas/s12z/jmp.d: New file. + * testsuite/gas/s12z/jmp.s: New file. + * testsuite/gas/s12z/jsr.d: New file. + * testsuite/gas/s12z/jsr.s: New file. + * testsuite/gas/s12z/ld-imm-page2.d: New file. + * testsuite/gas/s12z/ld-imm-page2.s: New file. + * testsuite/gas/s12z/ld-imm.d: New file. + * testsuite/gas/s12z/ld-imm.s: New file. + * testsuite/gas/s12z/ld-immu18.d: New file. + * testsuite/gas/s12z/ld-immu18.s: New file. + * testsuite/gas/s12z/ld-large-direct.d: New file. + * testsuite/gas/s12z/ld-large-direct.s: New file. + * testsuite/gas/s12z/ld-opr.d: New file. + * testsuite/gas/s12z/ld-opr.s: New file. + * testsuite/gas/s12z/ld-s-opr.d: New file. + * testsuite/gas/s12z/ld-s-opr.s: New file. + * testsuite/gas/s12z/ld-small-direct.d: New file. + * testsuite/gas/s12z/ld-small-direct.s: New file. + * testsuite/gas/s12z/lea-immu18.d: New file. + * testsuite/gas/s12z/lea-immu18.s: New file. + * testsuite/gas/s12z/lea.d: New file. + * testsuite/gas/s12z/lea.s: New file. + * testsuite/gas/s12z/mac.d: New file. + * testsuite/gas/s12z/mac.s: New file. + * testsuite/gas/s12z/min-max.d: New file. + * testsuite/gas/s12z/min-max.s: New file. + * testsuite/gas/s12z/mod.d: New file. + * testsuite/gas/s12z/mod.s: New file. + * testsuite/gas/s12z/mov.d: New file. + * testsuite/gas/s12z/mov.s: New file. + * testsuite/gas/s12z/mul-imm.d: New file. + * testsuite/gas/s12z/mul-imm.s: New file. + * testsuite/gas/s12z/mul-opr-opr.d: New file. + * testsuite/gas/s12z/mul-opr-opr.s: New file. + * testsuite/gas/s12z/mul-opr.d: New file. + * testsuite/gas/s12z/mul-opr.s: New file. + * testsuite/gas/s12z/mul-reg.d: New file. + * testsuite/gas/s12z/mul-reg.s: New file. + * testsuite/gas/s12z/mul.d: New file. + * testsuite/gas/s12z/mul.s: New file. + * testsuite/gas/s12z/neg-opr.d: New file. + * testsuite/gas/s12z/neg-opr.s: New file. + * testsuite/gas/s12z/not-so-simple-shifts.d: New file. + * testsuite/gas/s12z/not-so-simple-shifts.s: New file. + * testsuite/gas/s12z/opr-18u.d: New file. + * testsuite/gas/s12z/opr-18u.s: New file. + * testsuite/gas/s12z/opr-expr.d: New file. + * testsuite/gas/s12z/opr-expr.s: New file. + * testsuite/gas/s12z/opr-ext-18.d: New file. + * testsuite/gas/s12z/opr-ext-18.s: New file. + * testsuite/gas/s12z/opr-idx-24-reg.d: New file. + * testsuite/gas/s12z/opr-idx-24-reg.s: New file. + * testsuite/gas/s12z/opr-idx3-reg.d: New file. + * testsuite/gas/s12z/opr-idx3-reg.s: New file. + * testsuite/gas/s12z/opr-idx3-xysp-24.d: New file. + * testsuite/gas/s12z/opr-idx3-xysp-24.s: New file. + * testsuite/gas/s12z/opr-indirect-expr.d: New file. + * testsuite/gas/s12z/opr-indirect-expr.s: New file. + * testsuite/gas/s12z/opr-symbol.d: New file. + * testsuite/gas/s12z/opr-symbol.s: New file. + * testsuite/gas/s12z/or-imm.d: New file. + * testsuite/gas/s12z/or-imm.s: New file. + * testsuite/gas/s12z/or-opr.d: New file. + * testsuite/gas/s12z/or-opr.s: New file. + * testsuite/gas/s12z/p2-mul.d: New file. + * testsuite/gas/s12z/p2-mul.s: New file. + * testsuite/gas/s12z/page2-inh.d: New file. + * testsuite/gas/s12z/page2-inh.s: New file. + * testsuite/gas/s12z/psh-pul.d: New file. + * testsuite/gas/s12z/psh-pul.s: New file. + * testsuite/gas/s12z/qmul.d: New file. + * testsuite/gas/s12z/qmul.s: New file. + * testsuite/gas/s12z/rotate.d: New file. + * testsuite/gas/s12z/rotate.s: New file. + * testsuite/gas/s12z/s12z.exp: New file. + * testsuite/gas/s12z/sat.d: New file. + * testsuite/gas/s12z/sat.s: New file. + * testsuite/gas/s12z/sbc-imm.d: New file. + * testsuite/gas/s12z/sbc-imm.s: New file. + * testsuite/gas/s12z/sbc-opr.d: New file. + * testsuite/gas/s12z/sbc-opr.s: New file. + * testsuite/gas/s12z/shift.d: New file. + * testsuite/gas/s12z/shift.s: New file. + * testsuite/gas/s12z/simple-shift.d: New file. + * testsuite/gas/s12z/simple-shift.s: New file. + * testsuite/gas/s12z/single-ops.d: New file. + * testsuite/gas/s12z/single-ops.s: New file. + * testsuite/gas/s12z/specd6.d: New file. + * testsuite/gas/s12z/specd6.s: New file. + * testsuite/gas/s12z/st-large-direct.d: New file. + * testsuite/gas/s12z/st-large-direct.s: New file. + * testsuite/gas/s12z/st-opr.d: New file. + * testsuite/gas/s12z/st-opr.s: New file. + * testsuite/gas/s12z/st-s-opr.d: New file. + * testsuite/gas/s12z/st-s-opr.s: New file. + * testsuite/gas/s12z/st-small-direct.d: New file. + * testsuite/gas/s12z/st-small-direct.s: New file. + * testsuite/gas/s12z/st-xy.d: New file. + * testsuite/gas/s12z/st-xy.s: New file. + * testsuite/gas/s12z/sub-imm.d: New file. + * testsuite/gas/s12z/sub-imm.s: New file. + * testsuite/gas/s12z/sub-opr.d: New file. + * testsuite/gas/s12z/sub-opr.s: New file. + * testsuite/gas/s12z/tfr.d: New file. + * testsuite/gas/s12z/tfr.s: New file. + * testsuite/gas/s12z/trap.d: New file. + * testsuite/gas/s12z/trap.s: New file. + +2018-05-16 Maciej W. Rozycki + + * tc-nds32.c (md_assemble): Rename `expr' local variable to + `insn_expr'. + +2018-05-15 Tamar Christina + + PR binutils/21446 + * testsuite/gas/aarch64/illegal-sysreg-2.s: Fix pmbidr_el1 test. + * testsuite/gas/aarch64/illegal-sysreg-2.l: Likewise. + * testsuite/gas/aarch64/illegal-sysreg-2.d: Likewise. + * testsuite/gas/aarch64/sysreg-diagnostic.s: New. + * testsuite/gas/aarch64/sysreg-diagnostic.l: New. + * testsuite/gas/aarch64/sysreg-diagnostic.d: New. + +2018-05-15 Tamar Christina + + PR binutils/21446 + * config/tc-aarch64.c (print_operands): Indicate no notes. + (output_operand_error_record): Support non-fatal errors. + (output_operand_error_report, warn_unpredictable_ldst, md_assemble): + Likewise. + +2018-05-15 Tamar Christina + + PR binutils/21446 + * config/tc-aarch64.c (parse_sys_reg): Return register flags. + (parse_operands): Fill in register flags. + +2018-05-14 Nick Clifton + + * write.c (maybe_generate_build_notes): Generate notes on a + per-code-section basis. Skip linkonce sections. + +2018-05-14 Nick Clifton + + PR 23153 + * as.c (main): When checking for an output file that is also an + input file, also check that the inode is not zero. + 2018-05-12 Alan Modra * config/tc-score.c (s3_do_macro_bcmp): Don't use fixed size diff -Nru binutils-2.30.51.20180512/gas/config/tc-aarch64.c binutils-2.30.52.20180613/gas/config/tc-aarch64.c --- binutils-2.30.51.20180512/gas/config/tc-aarch64.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/gas/config/tc-aarch64.c 2018-06-13 10:31:38.000000000 +0200 @@ -3934,7 +3934,8 @@ static int parse_sys_reg (char **str, struct hash_control *sys_regs, - int imple_defined_p, int pstatefield_p) + int imple_defined_p, int pstatefield_p, + uint32_t* flags) { char *p, *q; char buf[32]; @@ -3965,6 +3966,8 @@ if (op0 > 3 || op1 > 7 || cn > 15 || cm > 15 || op2 > 7) return PARSE_FAIL; value = (op0 << 14) | (op1 << 11) | (cn << 7) | (cm << 3) | op2; + if (flags) + *flags = 0; } } else @@ -3979,6 +3982,8 @@ as_warn (_("system register name '%s' is deprecated and may be " "removed in a future release"), buf); value = o->value; + if (flags) + *flags = o->flags; } *str = q; @@ -4395,6 +4400,7 @@ info.index = idx; info.kind = kind; info.error = error; + info.non_fatal = FALSE; record_operand_error_info (opcode, &info); } @@ -4410,6 +4416,7 @@ info.data[0] = extra_data[0]; info.data[1] = extra_data[1]; info.data[2] = extra_data[2]; + info.non_fatal = FALSE; record_operand_error_info (opcode, &info); } @@ -4528,7 +4535,8 @@ break; /* Generate the operand string in STR. */ - aarch64_print_operand (str, sizeof (str), 0, opcode, opnds, i, NULL, NULL); + aarch64_print_operand (str, sizeof (str), 0, opcode, opnds, i, NULL, NULL, + NULL); /* Delimiter. */ if (str[0] != '\0') @@ -4574,12 +4582,14 @@ enum aarch64_opnd opd_code = (idx >= 0 ? opcode->operands[idx] : AARCH64_OPND_NIL); + typedef void (*handler_t)(const char *format, ...); + handler_t handler = detail->non_fatal ? as_warn : as_bad; + switch (detail->kind) { case AARCH64_OPDE_NIL: gas_assert (0); break; - case AARCH64_OPDE_SYNTAX_ERROR: case AARCH64_OPDE_RECOVERABLE: case AARCH64_OPDE_FATAL_SYNTAX_ERROR: @@ -4589,21 +4599,21 @@ if (detail->error != NULL) { if (idx < 0) - as_bad (_("%s -- `%s'"), detail->error, str); + handler (_("%s -- `%s'"), detail->error, str); else - as_bad (_("%s at operand %d -- `%s'"), - detail->error, idx + 1, str); + handler (_("%s at operand %d -- `%s'"), + detail->error, idx + 1, str); } else { gas_assert (idx >= 0); - as_bad (_("operand %d must be %s -- `%s'"), idx + 1, - aarch64_get_operand_desc (opd_code), str); + handler (_("operand %d must be %s -- `%s'"), idx + 1, + aarch64_get_operand_desc (opd_code), str); } break; case AARCH64_OPDE_INVALID_VARIANT: - as_bad (_("operand mismatch -- `%s'"), str); + handler (_("operand mismatch -- `%s'"), str); if (verbose_error_p) { /* We will try to correct the erroneous instruction and also provide @@ -4700,36 +4710,36 @@ break; case AARCH64_OPDE_UNTIED_OPERAND: - as_bad (_("operand %d must be the same register as operand 1 -- `%s'"), - detail->index + 1, str); + handler (_("operand %d must be the same register as operand 1 -- `%s'"), + detail->index + 1, str); break; case AARCH64_OPDE_OUT_OF_RANGE: if (detail->data[0] != detail->data[1]) - as_bad (_("%s out of range %d to %d at operand %d -- `%s'"), - detail->error ? detail->error : _("immediate value"), - detail->data[0], detail->data[1], idx + 1, str); + handler (_("%s out of range %d to %d at operand %d -- `%s'"), + detail->error ? detail->error : _("immediate value"), + detail->data[0], detail->data[1], idx + 1, str); else - as_bad (_("%s must be %d at operand %d -- `%s'"), - detail->error ? detail->error : _("immediate value"), - detail->data[0], idx + 1, str); + handler (_("%s must be %d at operand %d -- `%s'"), + detail->error ? detail->error : _("immediate value"), + detail->data[0], idx + 1, str); break; case AARCH64_OPDE_REG_LIST: if (detail->data[0] == 1) - as_bad (_("invalid number of registers in the list; " - "only 1 register is expected at operand %d -- `%s'"), - idx + 1, str); + handler (_("invalid number of registers in the list; " + "only 1 register is expected at operand %d -- `%s'"), + idx + 1, str); else - as_bad (_("invalid number of registers in the list; " - "%d registers are expected at operand %d -- `%s'"), - detail->data[0], idx + 1, str); + handler (_("invalid number of registers in the list; " + "%d registers are expected at operand %d -- `%s'"), + detail->data[0], idx + 1, str); break; case AARCH64_OPDE_UNALIGNED: - as_bad (_("immediate value must be a multiple of " - "%d at operand %d -- `%s'"), - detail->data[0], idx + 1, str); + handler (_("immediate value must be a multiple of " + "%d at operand %d -- `%s'"), + detail->data[0], idx + 1, str); break; default: @@ -4743,10 +4753,15 @@ When this function is called, the operand error information had been collected for an assembly line and there will be multiple errors in the case of multiple instruction templates; output the - error message that most closely describes the problem. */ + error message that most closely describes the problem. + + The errors to be printed can be filtered on printing all errors + or only non-fatal errors. This distinction has to be made because + the error buffer may already be filled with fatal errors we don't want to + print due to the different instruction templates. */ static void -output_operand_error_report (char *str) +output_operand_error_report (char *str, bfd_boolean non_fatal_only) { int largest_error_pos; const char *msg = NULL; @@ -4764,9 +4779,14 @@ /* Only one error. */ if (head == operand_error_report.tail) { - DEBUG_TRACE ("single opcode entry with error kind: %s", - operand_mismatch_kind_names[head->detail.kind]); - output_operand_error_record (head, str); + /* If the only error is a non-fatal one and we don't want to print it, + just exit. */ + if (!non_fatal_only || head->detail.non_fatal) + { + DEBUG_TRACE ("single opcode entry with error kind: %s", + operand_mismatch_kind_names[head->detail.kind]); + output_operand_error_record (head, str); + } return; } @@ -4786,7 +4806,10 @@ largest_error_pos = -2; /* Index can be -1 which means unknown index. */ for (curr = head; curr != NULL; curr = curr->next) { - if (curr->detail.kind != kind) + /* If we don't want to print non-fatal errors then don't consider them + at all. */ + if (curr->detail.kind != kind + || (non_fatal_only && !head->detail.non_fatal)) continue; /* If there are multiple errors, pick up the one with the highest mismatching operand index. In the case of multiple errors with @@ -4802,6 +4825,17 @@ } } + /* The way errors are collected in the back-end is a bit non-intuitive. But + essentially, because each operand template is tried recursively you may + always have errors collected from the previous tried OPND. These are + usually skipped if there is one successful match. However now with the + non-fatal errors we have to ignore those previously collected hard errors + when we're only interested in printing the non-fatal ones. This condition + prevents us from printing errors that are not appropriate, since we did + match a condition, but it also has warnings that it wants to print. */ + if (non_fatal_only && !record) + return; + gas_assert (largest_error_pos != -2 && record != NULL); DEBUG_TRACE ("Pick up error kind %s to report", operand_mismatch_kind_names[record->detail.kind]); @@ -6347,17 +6381,21 @@ goto regoff_addr; case AARCH64_OPND_SYSREG: - if ((val = parse_sys_reg (&str, aarch64_sys_regs_hsh, 1, 0)) - == PARSE_FAIL) - { - set_syntax_error (_("unknown or missing system register name")); - goto failure; - } - inst.base.operands[i].sysreg = val; - break; + { + uint32_t sysreg_flags; + if ((val = parse_sys_reg (&str, aarch64_sys_regs_hsh, 1, 0, + &sysreg_flags)) == PARSE_FAIL) + { + set_syntax_error (_("unknown or missing system register name")); + goto failure; + } + inst.base.operands[i].sysreg.value = val; + inst.base.operands[i].sysreg.flags = sysreg_flags; + break; + } case AARCH64_OPND_PSTATEFIELD: - if ((val = parse_sys_reg (&str, aarch64_pstatefield_hsh, 0, 1)) + if ((val = parse_sys_reg (&str, aarch64_pstatefield_hsh, 0, 1, NULL)) == PARSE_FAIL) { set_syntax_error (_("unknown or missing PSTATE field name")); @@ -6680,15 +6718,15 @@ aarch64_insn *code) { aarch64_operand_error error_info; + memset (&error_info, '\0', sizeof (error_info)); error_info.kind = AARCH64_OPDE_NIL; - if (aarch64_opcode_encode (opcode, instr, code, NULL, &error_info)) + if (aarch64_opcode_encode (opcode, instr, code, NULL, &error_info) + && !error_info.non_fatal) return TRUE; - else - { - gas_assert (error_info.kind != AARCH64_OPDE_NIL); - record_operand_error_info (opcode, &error_info); - return FALSE; - } + + gas_assert (error_info.kind != AARCH64_OPDE_NIL); + record_operand_error_info (opcode, &error_info); + return error_info.non_fatal; } #ifdef DEBUG_AARCH64 @@ -6825,6 +6863,9 @@ memcpy (copy, &inst.base, sizeof (struct aarch64_inst)); output_inst (copy); } + + /* Issue non-fatal messages if any. */ + output_operand_error_report (str, TRUE); return; } @@ -6838,7 +6879,7 @@ while (template != NULL); /* Issue the error messages if any. */ - output_operand_error_report (str); + output_operand_error_report (str, FALSE); } /* Various frobbings of labels and their addresses. */ @@ -8551,6 +8592,9 @@ {"cortex-a75", AARCH64_FEATURE (AARCH64_ARCH_V8_2, AARCH64_FEATURE_RCPC | AARCH64_FEATURE_F16 | AARCH64_FEATURE_DOTPROD), "Cortex-A75"}, + {"cortex-a76", AARCH64_FEATURE (AARCH64_ARCH_V8_2, + AARCH64_FEATURE_RCPC | AARCH64_FEATURE_F16 | AARCH64_FEATURE_DOTPROD), + "Cortex-A76"}, {"exynos-m1", AARCH64_FEATURE (AARCH64_ARCH_V8, AARCH64_FEATURE_CRC | AARCH64_FEATURE_CRYPTO), "Samsung Exynos M1"}, @@ -8562,7 +8606,7 @@ AARCH64_FEATURE_CRC | AARCH64_FEATURE_CRYPTO | AARCH64_FEATURE_RDMA), "Qualcomm QDF24XX"}, - {"saphira", AARCH64_FEATURE (AARCH64_ARCH_V8_3, + {"saphira", AARCH64_FEATURE (AARCH64_ARCH_V8_4, AARCH64_FEATURE_CRYPTO | AARCH64_FEATURE_PROFILE), "Qualcomm Saphira"}, {"thunderx", AARCH64_FEATURE (AARCH64_ARCH_V8, diff -Nru binutils-2.30.51.20180512/gas/config/tc-arm.c binutils-2.30.52.20180613/gas/config/tc-arm.c --- binutils-2.30.51.20180512/gas/config/tc-arm.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/gas/config/tc-arm.c 2018-06-13 10:31:38.000000000 +0200 @@ -26163,6 +26163,9 @@ ARM_CPU_OPT ("cortex-a75", "Cortex-A75", ARM_ARCH_V8_2A, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD), + ARM_CPU_OPT ("cortex-a76", "Cortex-A76", ARM_ARCH_V8_2A, + ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD), ARM_CPU_OPT ("cortex-r4", "Cortex-R4", ARM_ARCH_V7R, ARM_ARCH_NONE, FPU_NONE), diff -Nru binutils-2.30.51.20180512/gas/config/tc-i386.c binutils-2.30.52.20180613/gas/config/tc-i386.c --- binutils-2.30.51.20180512/gas/config/tc-i386.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/gas/config/tc-i386.c 2018-06-04 21:27:35.000000000 +0200 @@ -843,6 +843,8 @@ CPU_BDVER4_FLAGS, 0 }, { STRING_COMMA_LEN ("znver1"), PROCESSOR_ZNVER, CPU_ZNVER1_FLAGS, 0 }, + { STRING_COMMA_LEN ("znver2"), PROCESSOR_ZNVER, + CPU_ZNVER2_FLAGS, 0 }, { STRING_COMMA_LEN ("btver1"), PROCESSOR_BT, CPU_BTVER1_FLAGS, 0 }, { STRING_COMMA_LEN ("btver2"), PROCESSOR_BT, @@ -1830,7 +1832,6 @@ static const i386_operand_type acc32 = OPERAND_TYPE_ACC32; static const i386_operand_type acc64 = OPERAND_TYPE_ACC64; -static const i386_operand_type control = OPERAND_TYPE_CONTROL; static const i386_operand_type inoutportreg = OPERAND_TYPE_INOUTPORTREG; static const i386_operand_type reg16_inoutportreg @@ -2329,8 +2330,9 @@ && flag_code == CODE_64BIT) { if ((i.prefix[REX_PREFIX] & prefix & REX_W) - || ((i.prefix[REX_PREFIX] & (REX_R | REX_X | REX_B)) - && (prefix & (REX_R | REX_X | REX_B)))) + || (i.prefix[REX_PREFIX] & prefix & REX_R) + || (i.prefix[REX_PREFIX] & prefix & REX_X) + || (i.prefix[REX_PREFIX] & prefix & REX_B)) ret = PREFIX_EXIST; q = REX_PREFIX; } @@ -6892,12 +6894,11 @@ if ((i.op[source].regs->reg_flags & RegVRex) != 0) i.vrex |= REX_R; } - if (flag_code != CODE_64BIT && (i.rex & (REX_R | REX_B))) + if (flag_code != CODE_64BIT && (i.rex & REX_R)) { - if (!i.types[0].bitfield.control - && !i.types[1].bitfield.control) + if (!i.types[i.tm.operand_types[0].bitfield.regmem].bitfield.control) abort (); - i.rex &= ~(REX_R | REX_B); + i.rex &= ~REX_R; add_prefix (LOCK_PREFIX_OPCODE); } } @@ -10273,10 +10274,8 @@ i.vec_encoding = vex_encoding_evex; } - if (((r->reg_flags & (RegRex64 | RegRex)) - || r->reg_type.bitfield.qword) - && (!cpu_arch_flags.bitfield.cpulm - || !operand_type_equal (&r->reg_type, &control)) + if (((r->reg_flags & (RegRex64 | RegRex)) || r->reg_type.bitfield.qword) + && (!cpu_arch_flags.bitfield.cpulm || !r->reg_type.bitfield.control) && flag_code != CODE_64BIT) return (const reg_entry *) NULL; diff -Nru binutils-2.30.51.20180512/gas/config/tc-mips.c binutils-2.30.52.20180613/gas/config/tc-mips.c --- binutils-2.30.51.20180512/gas/config/tc-mips.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/gas/config/tc-mips.c 2018-06-13 10:31:38.000000000 +0200 @@ -20002,8 +20002,9 @@ -mgp32 use 32-bit GPRs, regardless of the chosen ISA\n\ -mfp32 use 32-bit FPRs, regardless of the chosen ISA\n\ -msym32 assume all symbols have 32-bit values\n\ --O0 remove unneeded NOPs, do not swap branches\n\ --O remove unneeded NOPs and swap branches\n\ +-O0 do not remove unneeded NOPs, do not swap branches\n\ +-O, -O1 remove unneeded NOPs, do not swap branches\n\ +-O2 remove unneeded NOPs and swap branches\n\ --trap, --no-break trap exception on div by 0 and mult overflow\n\ --break, --no-trap break exception on div by 0 and mult overflow\n")); fprintf (stream, _("\ diff -Nru binutils-2.30.51.20180512/gas/config/tc-nds32.c binutils-2.30.52.20180613/gas/config/tc-nds32.c --- binutils-2.30.51.20180512/gas/config/tc-nds32.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/gas/config/tc-nds32.c 2018-06-04 21:27:35.000000000 +0200 @@ -5209,7 +5209,7 @@ md_assemble (char *str) { struct nds32_asm_insn insn; - expressionS expr; + expressionS insn_expr; char *out; struct nds32_pseudo_opcode *popcode; const struct nds32_field *fld = NULL; @@ -5245,7 +5245,7 @@ } label_exist = 0; - insn.info = & expr; + insn.info = &insn_expr; asm_desc.result = NASM_OK; nds32_assemble (&asm_desc, &insn, str); diff -Nru binutils-2.30.51.20180512/gas/config/tc-ppc.c binutils-2.30.52.20180613/gas/config/tc-ppc.c --- binutils-2.30.51.20180512/gas/config/tc-ppc.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/gas/config/tc-ppc.c 2018-06-04 21:27:35.000000000 +0200 @@ -2807,11 +2807,9 @@ } } - /* Compute the number of expected operands. - Do not count fake operands. */ + /* Compute the number of expected operands. */ for (num_operands_expected = 0, i = 0; opcode->operands[i]; i ++) - if ((powerpc_operands [opcode->operands[i]].flags & PPC_OPERAND_FAKE) == 0) - ++ num_operands_expected; + ++ num_operands_expected; /* If there are fewer operands in the line then are called for by the instruction, we want to skip the optional @@ -2844,16 +2842,6 @@ } errmsg = NULL; - /* If this is a fake operand, then we do not expect anything - from the input. */ - if ((operand->flags & PPC_OPERAND_FAKE) != 0) - { - insn = (*operand->insert) (insn, 0L, ppc_cpu, &errmsg); - if (errmsg != (const char *) NULL) - as_bad ("%s", errmsg); - continue; - } - /* If this is an optional operand, and we are skipping it, just insert a zero. */ if ((operand->flags & PPC_OPERAND_OPTIONAL) != 0 diff -Nru binutils-2.30.51.20180512/gas/config/tc-riscv.c binutils-2.30.52.20180613/gas/config/tc-riscv.c --- binutils-2.30.51.20180512/gas/config/tc-riscv.c 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/gas/config/tc-riscv.c 2018-06-04 21:27:35.000000000 +0200 @@ -63,6 +63,7 @@ static unsigned xlen = 0; /* width of an x-register */ static unsigned abi_xlen = 0; /* width of a pointer in the ABI */ +static bfd_boolean rve_abi = FALSE; #define LOAD_ADDRESS_INSN (abi_xlen == 64 ? "ld" : "lw") #define ADD32_INSN (xlen == 64 ? "addiw" : "addi") @@ -75,6 +76,7 @@ { int pic; /* Generate position-independent code. */ int rvc; /* Generate RVC code. */ + int rve; /* Generate RVE code. */ int relax; /* Emit relocs the linker is allowed to relax. */ }; @@ -82,6 +84,7 @@ { 0, /* pic */ 0, /* rvc */ + 0, /* rve */ 1, /* relax */ }; @@ -94,6 +97,12 @@ riscv_opts.rvc = rvc_value; } +static void +riscv_set_rve (bfd_boolean rve_value) +{ + riscv_opts.rve = rve_value; +} + struct riscv_subset { const char *name; @@ -171,6 +180,16 @@ case 'i': break; + case 'e': + p++; + riscv_add_subset ("e"); + riscv_add_subset ("i"); + + if (xlen > 32) + as_fatal ("-march=%s: rv%de is not a valid base ISA", s, xlen); + + break; + case 'g': p++; for ( ; *all_subsets != 'q'; all_subsets++) @@ -181,7 +200,7 @@ break; default: - as_fatal ("-march=%s: first ISA subset must be `i' or `g'", s); + as_fatal ("-march=%s: first ISA subset must be `e', `i' or `g'", s); } while (*p) @@ -215,6 +234,18 @@ as_fatal ("-march=%s: unsupported ISA subset `%c'", s, *p); } + if (riscv_subset_supports ("e") && riscv_subset_supports ("f")) + as_fatal ("-march=%s: rv32e does not support the `f' extension", s); + + if (riscv_subset_supports ("d") && !riscv_subset_supports ("f")) + as_fatal ("-march=%s: `d' extension requires `f' extension", s); + + if (riscv_subset_supports ("q") && !riscv_subset_supports ("d")) + as_fatal ("-march=%s: `q' extension requires `d' extension", s); + + if (riscv_subset_supports ("q") && xlen < 64) + as_fatal ("-march=%s: rv32 does not support the `q' extension", s); + free (extension); } @@ -546,6 +577,10 @@ if (r == NULL || DECODE_REG_CLASS (r) != class) return -1; + + if (riscv_opts.rve && class == RCLASS_GPR && DECODE_REG_NUM (r) > 15) + return -1; + return DECODE_REG_NUM (r); } @@ -2165,10 +2200,11 @@ static enum float_abi float_abi = FLOAT_ABI_DEFAULT; static void -riscv_set_abi (unsigned new_xlen, enum float_abi new_float_abi) +riscv_set_abi (unsigned new_xlen, enum float_abi new_float_abi, bfd_boolean rve) { abi_xlen = new_xlen; float_abi = new_float_abi; + rve_abi = rve; } int @@ -2190,21 +2226,23 @@ case OPTION_MABI: if (strcmp (arg, "ilp32") == 0) - riscv_set_abi (32, FLOAT_ABI_SOFT); + riscv_set_abi (32, FLOAT_ABI_SOFT, FALSE); + else if (strcmp (arg, "ilp32e") == 0) + riscv_set_abi (32, FLOAT_ABI_SOFT, TRUE); else if (strcmp (arg, "ilp32f") == 0) - riscv_set_abi (32, FLOAT_ABI_SINGLE); + riscv_set_abi (32, FLOAT_ABI_SINGLE, FALSE); else if (strcmp (arg, "ilp32d") == 0) - riscv_set_abi (32, FLOAT_ABI_DOUBLE); + riscv_set_abi (32, FLOAT_ABI_DOUBLE, FALSE); else if (strcmp (arg, "ilp32q") == 0) - riscv_set_abi (32, FLOAT_ABI_QUAD); + riscv_set_abi (32, FLOAT_ABI_QUAD, FALSE); else if (strcmp (arg, "lp64") == 0) - riscv_set_abi (64, FLOAT_ABI_SOFT); + riscv_set_abi (64, FLOAT_ABI_SOFT, FALSE); else if (strcmp (arg, "lp64f") == 0) - riscv_set_abi (64, FLOAT_ABI_SINGLE); + riscv_set_abi (64, FLOAT_ABI_SINGLE, FALSE); else if (strcmp (arg, "lp64d") == 0) - riscv_set_abi (64, FLOAT_ABI_DOUBLE); + riscv_set_abi (64, FLOAT_ABI_DOUBLE, FALSE); else if (strcmp (arg, "lp64q") == 0) - riscv_set_abi (64, FLOAT_ABI_QUAD); + riscv_set_abi (64, FLOAT_ABI_QUAD, FALSE); else return 0; break; @@ -2247,6 +2285,11 @@ else riscv_add_subset ("c"); + /* Enable RVE if specified by the -march option. */ + riscv_set_rve (FALSE); + if (riscv_subset_supports ("e")) + riscv_set_rve (TRUE); + /* Infer ABI from ISA if not specified on command line. */ if (abi_xlen == 0) abi_xlen = xlen; @@ -2271,6 +2314,9 @@ } } + if (rve_abi) + elf_flags |= EF_RISCV_RVE; + /* Insert float_abi into the EF_RISCV_FLOAT_ABI field of elf_flags. */ elf_flags |= float_abi * (EF_RISCV_FLOAT_ABI & ~(EF_RISCV_FLOAT_ABI << 1)); } @@ -2710,12 +2756,12 @@ if (bytes <= insn_alignment) return TRUE; - nops = frag_more (worst_case_bytes); - /* When not relaxing, riscv_handle_align handles code alignment. */ if (!riscv_opts.relax) return FALSE; + nops = frag_more (worst_case_bytes); + ex.X_op = O_constant; ex.X_add_number = worst_case_bytes; @@ -2738,15 +2784,27 @@ /* When relaxing, riscv_frag_align_code handles code alignment. */ if (!riscv_opts.relax) { - bfd_signed_vma count = fragP->fr_next->fr_address - - fragP->fr_address - fragP->fr_fix; + bfd_signed_vma bytes = (fragP->fr_next->fr_address + - fragP->fr_address - fragP->fr_fix); + /* We have 4 byte uncompressed nops. */ + bfd_signed_vma size = 4; + bfd_signed_vma excess = bytes % size; + char *p = fragP->fr_literal + fragP->fr_fix; - if (count <= 0) + if (bytes <= 0) break; - count &= MAX_MEM_FOR_RS_ALIGN_CODE; - riscv_make_nops (fragP->fr_literal + fragP->fr_fix, count); - fragP->fr_var = count; + /* Insert zeros or compressed nops to get 4 byte alignment. */ + if (excess) + { + riscv_make_nops (p, excess); + fragP->fr_fix += excess; + p += excess; + } + + /* Insert variable number of 4 byte uncompressed nops. */ + riscv_make_nops (p, size); + fragP->fr_var = size; } break; diff -Nru binutils-2.30.51.20180512/gas/config/tc-riscv.h binutils-2.30.52.20180613/gas/config/tc-riscv.h --- binutils-2.30.51.20180512/gas/config/tc-riscv.h 2018-01-05 03:08:29.000000000 +0100 +++ binutils-2.30.52.20180613/gas/config/tc-riscv.h 2018-06-04 21:27:35.000000000 +0200 @@ -62,7 +62,7 @@ extern void riscv_handle_align (fragS *); #define HANDLE_ALIGN riscv_handle_align -#define MAX_MEM_FOR_RS_ALIGN_CODE 7 +#define MAX_MEM_FOR_RS_ALIGN_CODE (3 + 4) /* The ISA of the target may change based on command-line arguments. */ #define TARGET_FORMAT riscv_target_format() diff -Nru binutils-2.30.51.20180512/gas/config/tc-s12z.c binutils-2.30.52.20180613/gas/config/tc-s12z.c --- binutils-2.30.51.20180512/gas/config/tc-s12z.c 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/config/tc-s12z.c 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,3840 @@ +/* tc-s12z.c -- Assembler code for the Freescale S12Z + Copyright (C) 2018 Free Software Foundation, Inc. + + This file is part of GAS, the GNU Assembler. + + GAS is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, 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, 51 Franklin Street - Fifth Floor, + Boston, MA 02110-1301, USA. */ + +#include "as.h" +#include "safe-ctype.h" +#include "subsegs.h" +#include "dwarf2dbg.h" +#include "opcodes/s12z.h" +#include +#include +#include + +const char comment_chars[] = ";"; + +const char line_comment_chars[] = "#*"; +const char line_separator_chars[] = ""; + +const char EXP_CHARS[] = "eE"; +const char FLT_CHARS[] = "dD"; + +static char *fail_line_pointer; + + +/* Options and initialization. */ + +const char *md_shortopts = "Sm:"; + +struct option md_longopts[] = + { + }; + +size_t md_longopts_size = sizeof (md_longopts); + + +relax_typeS md_relax_table[] = + { + + }; + +/* 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[] = + { + {0, 0, 0} + }; + + +/* Get the target cpu for the assembler. */ +const char * +s12z_arch_format (void) +{ + return "elf32-s12z"; +} + +enum bfd_architecture +s12z_arch (void) +{ + return bfd_arch_s12z; +} + +int +s12z_mach (void) +{ + return 0; +} + +/* Listing header selected according to cpu. */ +const char * +s12z_listing_header (void) +{ + return "S12Z GAS "; +} + +void +md_show_usage (FILE *stream ATTRIBUTE_UNUSED) +{ +} + +void +s12z_print_statistics (FILE *file ATTRIBUTE_UNUSED) +{ +} + +int +md_parse_option (int c ATTRIBUTE_UNUSED, const char *arg ATTRIBUTE_UNUSED) +{ + return 0; +} + +symbolS * +md_undefined_symbol (char *name ATTRIBUTE_UNUSED) +{ + return 0; +} + +const char * +md_atof (int type, char *litP, int *sizeP) +{ + return ieee_md_atof (type, litP, sizeP, TRUE); +} + +valueT +md_section_align (asection *seg, valueT addr) +{ + int align = bfd_get_section_alignment (stdoutput, seg); + return ((addr + (1 << align) - 1) & -(1 << align)); +} + +void +md_begin (void) +{ +} + +void +s12z_init_after_args (void) +{ +} + +/* Builtin help. */ + + +static char * +skip_whites (char *p) +{ + while (*p == ' ' || *p == '\t') + p++; + + return p; +} + + + +/* Start a new insn that contains at least 'size' bytes. Record the + line information of that insn in the dwarf2 debug sections. */ +static char * +s12z_new_insn (int size) +{ + char *f = frag_more (size); + + dwarf2_emit_insn (size); + + return f; +} + + + +static int lex_reg_name (uint16_t which, int *reg); + +static int +lex_constant (long *v) +{ + char *end = NULL; + char *p = input_line_pointer; + + /* A constant may not have the same value as a register + eg: "d6" */ + int dummy; + if (lex_reg_name (~0, &dummy)) + { + input_line_pointer = p; + return 0; + } + + errno = 0; + *v = strtol (p, &end, 0); + if (errno == 0 && end != p) + { + input_line_pointer = end; + return 1; + } + + return 0; +} + +static int +lex_match (char x) +{ + char *p = input_line_pointer; + if (*p != x) + return 0; + + input_line_pointer++; + return 1; +} + + +static int +lex_expression (expressionS *exp) +{ + char *ilp = input_line_pointer; + int dummy; + exp->X_op = O_absent; + + if (lex_match ('#')) + goto fail; + + if (lex_reg_name (~0, &dummy)) + goto fail; + + expression (exp); + if (exp->X_op != O_absent) + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +/* immediate operand */ +static int +lex_imm (long *v) +{ + char *ilp = input_line_pointer; + + if (*input_line_pointer != '#') + goto fail; + + input_line_pointer++; + expressionS exp; + if (!lex_expression (&exp)) + goto fail; + + if (exp.X_op != O_constant) + goto fail; + + *v = exp.X_add_number; + return 1; + +fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +/* Short mmediate operand */ +static int +lex_imm_e4 (long *val) +{ + char *ilp = input_line_pointer; + if ((lex_imm (val))) + { + if ((*val == -1) || (*val > 0 && *val <= 15)) + { + return 1; + } + } + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +static int +lex_match_string (const char *s) +{ + char *p = input_line_pointer; + while (p != 0 && *p != '\t' && *p != ' ' && *p != '\0') + { + p++; + } + + size_t len = p - input_line_pointer; + if (len != strlen (s)) + return 0; + + if (0 == strncasecmp (s, input_line_pointer, len)) + { + input_line_pointer = p; + return 1; + } + + return 0; +} + +/* Parse a register name. + WHICH is a ORwise combination of the registers which are accepted. + ~0 accepts all. + On success, REG will be filled with the index of the register which + was successfully scanned. +*/ +static int +lex_reg_name (uint16_t which, int *reg) +{ + char *p = input_line_pointer; + while (p != 0 && + ((*p >= 'a' && *p <='z') || (*p >= '0' && *p <= '9') || (*p >= 'A' && *p <='Z'))) + { + p++; + } + + int len = p - input_line_pointer; + + if (len <= 0) + return 0; + + int i; + for (i = 0; i < S12Z_N_REGISTERS; ++i) + { + gas_assert (registers[i].name); + + if (0 == strncasecmp (registers[i].name, input_line_pointer, len)) + { + if ((0x1U << i) & which) + { + input_line_pointer = p; + *reg = i; + return 1; + } + } + } + + return 0; +} + +static int +lex_force_match (char x) +{ + char *p = input_line_pointer; + if (*p != x) + { + as_bad (_("Expecting '%c'"), x); + return 0; + } + + input_line_pointer++; + return 1; +} + +static int +lex_opr (uint8_t *buffer, int *n_bytes, expressionS *exp) +{ + char *ilp = input_line_pointer; + uint8_t *xb = buffer; + int reg; + long imm; + exp->X_op = O_absent; + *n_bytes = 0; + *xb = 0; + if (lex_imm_e4 (&imm)) + { + if (imm > 0) + *xb = imm; + else + *xb = 0; + *xb |= 0x70; + *n_bytes = 1; + return 1; + } + else if (lex_reg_name (REG_BIT_Dn, ®)) + { + *xb = reg; + *xb |= 0xb8; + *n_bytes = 1; + return 1; + } + else if (lex_match ('[')) + { + if (lex_expression (exp)) + { + long c = exp->X_add_number; + if (lex_match (',')) + { + if (lex_reg_name (REG_BIT_XYSP, ®)) + { + int i; + if (c <= 255 && c >= -256) + { + *n_bytes = 2; + *xb |= 0xc4; + } + else + { + *n_bytes = 4; + *xb |= 0xc6; + } + *xb |= (reg - REG_X) << 4; + + if (c < 0) + *xb |= 0x01; + for (i = 1; i < *n_bytes ; ++i) + { + buffer[i] = c >> (8 * (*n_bytes - i - 1)); + } + } + else + { + as_bad (_("Bad operand for constant offset")); + goto fail; + } + } + else + { + *xb = 0xfe; + *n_bytes = 4; + buffer[1] = c >> 16; + buffer[2] = c >> 8; + buffer[3] = c; + } + } + else if (lex_reg_name (REG_BIT_Dn, ®)) + { + if (!lex_force_match (',')) + goto fail; + + int reg2; + if (lex_reg_name (REG_BIT_XY, ®2)) + { + *n_bytes = 1; + *xb = reg; + *xb |= (reg2 - REG_X) << 4; + *xb |= 0xc8; + } + else + { + as_bad (_("Invalid operand for register offset")); + goto fail; + } + } + else + { + goto fail; + } + if (!lex_force_match (']')) + goto fail; + return 1; + } + else if (lex_match ('(')) + { + long c; + if (lex_constant (&c)) + { + if (!lex_force_match (',')) + goto fail; + int reg2; + if (lex_reg_name (REG_BIT_XYSP, ®2)) + { + if (reg2 != REG_P && c >= 0 && c <= 15) + { + *n_bytes = 1; + *xb = 0x40; + *xb |= (reg2 - REG_X) << 4; + *xb |= c; + } + else if (c >= -256 && c <= 255) + { + *n_bytes = 2; + *xb = 0xc0; + *xb |= (reg2 - REG_X) << 4; + if (c < 0) + *xb |= 0x01; + buffer[1] = c; + } + else + { + *n_bytes = 4; + *xb = 0xc2; + *xb |= (reg2 - REG_X) << 4; + buffer[1] = c >> 16; + buffer[2] = c >> 8; + buffer[3] = c; + } + } + else if (lex_reg_name (REG_BIT_Dn, ®2)) + { + if (c >= -1 * (long) (0x1u << 17) + && + c < (long) (0x1u << 17) - 1) + { + *n_bytes = 3; + *xb = 0x80; + *xb |= reg2; + *xb |= ((c >> 16) & 0x03) << 4; + buffer[1] = c >> 8; + buffer[2] = c; + } + else + { + *n_bytes = 4; + *xb = 0xe8; + *xb |= reg2; + buffer[1] = c >> 16; + buffer[2] = c >> 8; + buffer[3] = c; + } + } + else + { + as_bad (_("Bad operand for constant offset")); + goto fail; + } + } + else if (lex_reg_name (REG_BIT_Dn, ®)) + { + if (lex_match (',')) + { + int reg2; + if (lex_reg_name (REG_BIT_XYS, ®2)) + { + *n_bytes = 1; + *xb = 0x88; + *xb |= (reg2 - REG_X) << 4; + *xb |= reg; + } + else + { + as_bad (_("Invalid operand for register offset")); + goto fail; + } + } + else + { + goto fail; + } + } + else if (lex_reg_name (REG_BIT_XYS, ®)) + { + if (lex_match ('-')) + { + if (reg == REG_S) + { + as_bad (_("Invalid register for postdecrement operation")); + goto fail; + } + *n_bytes = 1; + if (reg == REG_X) + *xb = 0xc7; + else if (reg == REG_Y) + *xb = 0xd7; + } + else if (lex_match ('+')) + { + *n_bytes = 1; + if (reg == REG_X) + *xb = 0xe7; + else if (reg == REG_Y) + *xb = 0xf7; + else if (reg == REG_S) + *xb = 0xff; + } + else + { + goto fail; + } + } + else if (lex_match ('+')) + { + if (lex_reg_name (REG_BIT_XY, ®)) + { + *n_bytes = 1; + if (reg == REG_X) + *xb = 0xe3; + else if (reg == REG_Y) + *xb = 0xf3; + } + else + { + as_bad (_("Invalid register for preincrement operation")); + goto fail; + } + } + else if (lex_match ('-')) + { + if (lex_reg_name (REG_BIT_XYS, ®)) + { + *n_bytes = 1; + if (reg == REG_X) + *xb = 0xc3; + else if (reg == REG_Y) + *xb = 0xd3; + else if (reg == REG_S) + *xb = 0xfb; + } + else + { + as_bad (_("Invalid register for predecrement operation")); + goto fail; + } + } + else + { + goto fail; + } + + if (! lex_match (')')) + goto fail; + return 1; + } + else if (lex_expression (exp)) + { + *xb = 0xfa; + *n_bytes = 4; + buffer[1] = 0; + buffer[2] = 0; + buffer[3] = 0; + if (exp->X_op == O_constant) + { + if (exp->X_add_number < (0x1U << 14)) + { + *xb = 0x00; + *n_bytes = 2; + *xb |= exp->X_add_number >> 8; + buffer[1] = exp->X_add_number; + } + else if (exp->X_add_number < (0x1U << 19)) + { + *xb = 0xf8; + if (exp->X_add_number & (0x1U << 17)) + *xb |= 0x04; + if (exp->X_add_number & (0x1U << 16)) + *xb |= 0x01; + *n_bytes = 3; + buffer[1] = exp->X_add_number >> 8; + buffer[2] = exp->X_add_number; + } + else + { + *xb = 0xfa; + *n_bytes = 4; + buffer[1] = exp->X_add_number >> 16; + buffer[2] = exp->X_add_number >> 8; + buffer[3] = exp->X_add_number; + } + } + return 1; + } + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +static int +lex_offset (long *val) +{ + char *end = NULL; + char *p = input_line_pointer; + + if (*p++ != '*') + return 0; + + if (*p != '+' && *p != '-') + return 0; + + bool negative = (*p == '-'); + p++; + + errno = 0; + *val = strtol (p, &end, 0); + if (errno == 0) + { + if (negative) + *val *= -1; + input_line_pointer = end; + return 1; + } + + return 0; +} + + + +struct instruction; + +typedef int (*parse_operand_func) (const struct instruction *); + +struct instruction +{ + const char *name; + + /* The "page" to which the instruction belongs. + This is also only a hint. Some instructions might have modes in both + pages... */ + char page; + + /* This is a hint - and only a hint - about the opcode of the instruction. + The parse_operand_func is free to ignore it. + */ + uint8_t opc; + + parse_operand_func parse_operands; + + /* Some instructions can be encoded with a different opcode */ + uint8_t alt_opc; +}; + +static int +no_operands (const struct instruction *insn) +{ + if (*input_line_pointer != '\0') + { + as_bad (_("Garbage at end of instruction")); + return 0; + } + + char *f = s12z_new_insn (insn->page); + if (insn->page == 2) + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + + number_to_chars_bigendian (f++, insn->opc, 1); + + return 1; +} + +/* Emit the code for an OPR address mode operand */ +static char * +emit_opr (char *f, const uint8_t *buffer, int n_bytes, expressionS *exp) +{ + int i; + number_to_chars_bigendian (f++, buffer[0], 1); + if (exp->X_op != O_absent && exp->X_op != O_constant) + { + fix_new_exp (frag_now, + f - frag_now->fr_literal, + 3, + exp, + FALSE, + BFD_RELOC_24); + } + for (i = 1; i < n_bytes; ++i) + number_to_chars_bigendian (f++, buffer[i], 1); + + return f; +} + +/* Emit the code for a 24 bit direct address operand */ +static char * +emit_ext24 (char *f, long v) +{ + number_to_chars_bigendian (f, v, 3); + + return f + 3; +} + +static int +opr (const struct instruction *insn) +{ + uint8_t buffer[4]; + int n_bytes; + expressionS exp; + if (lex_opr (buffer, &n_bytes, &exp)) + { + /* Large constant direct values are more efficiently encoded as ext24 mode. + Otherwise a decision has to be deferred to a relax. */ + if (exp.X_op == O_constant + && buffer[0] == 0xFA + && insn->alt_opc != 0) + { + char *f = s12z_new_insn (4); + + /* I don't think there are any instances of page 2 opcodes in this case */ + gas_assert (insn->page == 1); + + number_to_chars_bigendian (f++, insn->alt_opc, 1); + + emit_ext24 (f, exp.X_add_number); + } + else + { + char *f = s12z_new_insn (n_bytes + 1); + number_to_chars_bigendian (f++, insn->opc, 1); + + emit_opr (f, buffer, n_bytes, &exp); + } + return 1; + } + + return 0; +} + +/* Parse a 15 bit offset, as an expression. + LONG_DISPLACEMENT will be set to true if the offset is wider than 7 bits. + */ +static int +lex_15_bit_offset (bool *long_displacement, expressionS *exp) +{ + char *ilp = input_line_pointer; + + long val; + if (lex_offset (&val)) + { + exp->X_op = O_absent; + exp->X_add_number = val; + } + else if (lex_expression (exp)) + { + if (exp->X_op == O_constant) + { + val = exp->X_add_number; + } + else + { + /* If a symbol was parsed we don't know the displacement. + We have to assume it is long, and relax it later if possible. */ + *long_displacement = true; + return 1; + } + } + else + { + exp->X_op = O_absent; + goto fail; + } + + if (val > 0x3FFF || val < -0x4000) + { + as_fatal (_("Offset is outside of 15 bit range")); + return 0; + } + + *long_displacement = (val > 63 || val < -64); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +static void +emit_15_bit_offset (char *f, int where, expressionS *exp) +{ + gas_assert (exp); + if (exp->X_op != O_absent && exp->X_op != O_constant) + { + exp->X_add_number += where; + fixS *fix = fix_new_exp (frag_now, + f - frag_now->fr_literal, + 2, + exp, + TRUE, + BFD_RELOC_16_PCREL); + fix->fx_addnumber = where - 2; + } + else + { + long val = exp->X_add_number; + bool long_displacement = (val > 63 || val < -64); + if (long_displacement) + val |= 0x8000; + else + val &= 0x7F; + + number_to_chars_bigendian (f++, val, long_displacement ? 2 : 1); + } +} + +static int +rel (const struct instruction *insn) +{ + bool long_displacement; + + expressionS exp; + if (! lex_15_bit_offset (&long_displacement, &exp)) + return 0; + + char *f = s12z_new_insn (long_displacement ? 3 : 2); + number_to_chars_bigendian (f++, insn->opc, 1); + emit_15_bit_offset (f, 3, &exp); + return 1; +} + +static int +reg_inh (const struct instruction *insn) +{ + int reg; + if (lex_reg_name (REG_BIT_Dn, ®)) + { + char *f = s12z_new_insn (insn->page); + if (insn->page == 2) + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + + number_to_chars_bigendian (f++, insn->opc + reg, 1); + return 1; + } + + return 0; +} + + +/* Special case for CLR X and CLR Y */ +static int +clr_xy (const struct instruction *insn ATTRIBUTE_UNUSED) +{ + int reg; + if (lex_reg_name (REG_BIT_XY, ®)) + { + char *f = s12z_new_insn (1); + number_to_chars_bigendian (f, 0x9a + reg - REG_X, 1); + return 1; + } + + return 0; +} + +/* Some instructions have a suffix like ".l", ".b", ".w" etc + which indicates the size of the operands. */ +static int +size_from_suffix (const struct instruction *insn, int idx) +{ + const char *dot = strchr (insn->name, '.'); + + if (dot == NULL) + return -3; + + int size = -2; + switch (dot[1 + idx]) + { + case 'b': + size = 1; + break; + case 'w': + size = 2; + break; + case 'p': + size = 3; + break; + case 'l': + size = 4; + break; + default: + as_fatal (_("Bad size")); + }; + + return size; +} + +static int +mul_reg_reg_reg (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + + int Dd; + if (!lex_reg_name (REG_BIT_Dn, &Dd)) + goto fail; + + if (!lex_match (',')) + goto fail; + + int Dj; + if (!lex_reg_name (REG_BIT_Dn, &Dj)) + goto fail; + + if (!lex_match (',')) + goto fail; + + int Dk; + if (!lex_reg_name (REG_BIT_Dn, &Dk)) + goto fail; + + char *f = s12z_new_insn (insn->page + 1); + if (insn->page == 2) + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + + number_to_chars_bigendian (f++, insn->opc + Dd, 1); + const char *dot = strchrnul (insn->name, '.'); + uint8_t mb ; + switch (dot[-1]) + { + case 's': + mb = 0x80; + break; + case 'u': + mb = 0x00; + break; + default: + as_fatal (_("BAD MUL")); + break; + } + + mb |= Dj << 3; + mb |= Dk; + + number_to_chars_bigendian (f++, mb, 1); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + +static int +mul_reg_reg_imm (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + + int Dd; + if (!lex_reg_name (REG_BIT_Dn, &Dd)) + goto fail; + + if (!lex_match (',')) + goto fail; + + int Dj; + if (!lex_reg_name (REG_BIT_Dn, &Dj)) + goto fail; + + if (!lex_match (',')) + goto fail; + + long imm; + if (!lex_imm (&imm)) + goto fail; + + + int size = size_from_suffix (insn, 0); + + char *f = s12z_new_insn (insn->page + 1 + size); + if (insn->page == 2) + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + + number_to_chars_bigendian (f++, insn->opc + Dd, 1); + uint8_t mb = 0x44; + const char *dot = strchrnul (insn->name, '.'); + switch (dot[-1]) + { + case 's': + mb |= 0x80; + break; + case 'u': + mb |= 0x00; + break; + default: + as_fatal (_("BAD MUL")); + break; + } + + mb |= Dj << 3; + mb |= size - 1; + + number_to_chars_bigendian (f++, mb, 1); + number_to_chars_bigendian (f++, imm, size); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + +static int +mul_reg_reg_opr (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + + int Dd; + if (!lex_reg_name (REG_BIT_Dn, &Dd)) + goto fail; + + if (!lex_match (',')) + goto fail; + + int Dj; + if (!lex_reg_name (REG_BIT_Dn, &Dj)) + goto fail; + + if (!lex_match (',')) + goto fail; + + uint8_t buffer[4]; + int n_bytes; + expressionS exp; + if (!lex_opr (buffer, &n_bytes, &exp)) + goto fail; + + int size = size_from_suffix (insn, 0); + + char *f = s12z_new_insn (insn->page + 1 + n_bytes); + if (insn->page == 2) + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + + number_to_chars_bigendian (f++, insn->opc + Dd, 1); + uint8_t mb = 0x40; + const char *dot = strchrnul (insn->name, '.'); + switch (dot[-1]) + { + case 's': + mb |= 0x80; + break; + case 'u': + mb |= 0x00; + break; + default: + as_fatal (_("BAD MUL")); + break; + } + + mb |= Dj << 3; + mb |= size - 1; + + number_to_chars_bigendian (f++, mb, 1); + + emit_opr (f, buffer, n_bytes, &exp); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +static int +mul_reg_opr_opr (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + + int Dd; + if (!lex_reg_name (REG_BIT_Dn, &Dd)) + goto fail; + + if (!lex_match (',')) + goto fail; + + uint8_t buffer1[4]; + int n_bytes1; + expressionS exp1; + if (!lex_opr (buffer1, &n_bytes1, &exp1)) + goto fail; + + if (!lex_match (',')) + goto fail; + + uint8_t buffer2[4]; + int n_bytes2; + expressionS exp2; + if (!lex_opr (buffer2, &n_bytes2, &exp2)) + goto fail; + + int size1 = size_from_suffix (insn, 0); + int size2 = size_from_suffix (insn, 1); + + char *f = s12z_new_insn (insn->page + 1 + n_bytes1 + n_bytes2); + if (insn->page == 2) + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + + number_to_chars_bigendian (f++, insn->opc + Dd, 1); + uint8_t mb = 0x42; + const char *dot = strchrnul (insn->name, '.'); + switch (dot[-1]) + { + case 's': + mb |= 0x80; + break; + case 'u': + mb |= 0x00; + break; + default: + as_fatal (_("BAD MUL")); + break; + } + + mb |= (size1 - 1) << 4; + mb |= (size2 - 1) << 2; + number_to_chars_bigendian (f++, mb, 1); + + f = emit_opr (f, buffer1, n_bytes1, &exp1); + f = emit_opr (f, buffer2, n_bytes2, &exp2); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + +#define REG_BIT_GRP0 \ + ((0x1U << REG_D2) | \ + (0x1U << REG_D3) | \ + (0x1U << REG_CCH) | \ + (0x1U << REG_CCL) | \ + (0x1U << REG_D0) | \ + (0x1U << REG_D1)) + +#define REG_BIT_GRP1 \ + ((0x1U << REG_D4) | \ + (0x1U << REG_D5) | \ + (0x1U << REG_D6) | \ + (0x1U << REG_D7) | \ + (0x1U << REG_X) | \ + (0x1U << REG_Y)) + +static const uint8_t reg_map [] = + { + 0x02, // D2 + 0x01, // D3 + 0x20, + 0x10, // D5 + 0x08, // D0 + 0x04, // D1 + 0x08, // D6 + 0x04, // D7 + 0x02, + 0x01, // Y + 0x00, + 0x00, + 0x20, // CCH + 0x10, // CCL + 0x00 + }; + +static int +lex_reg_list (uint16_t grp, uint16_t *reg_bits) +{ + if (lex_match (',')) + { + int reg; + if (!lex_reg_name (grp, ®)) + return 0; + *reg_bits |= 0x1u << reg; + lex_reg_list (grp, reg_bits); + } + + /* Empty list */ + return 1; +} + +static int +psh_pull (const struct instruction *insn) +{ + uint8_t pb = + (0 == strcmp ("pul", insn->name)) ? 0x80: 0x00; + + if (lex_match_string ("all16b")) + { + pb |= 0x40; + } + else if (lex_match_string ("all")) + { + /* Nothing to do */ + } + else + { + int reg1; + if (!lex_reg_name (REG_BIT_GRP1 | REG_BIT_GRP0, ®1)) + goto fail; + uint16_t admitted_group = 0; + + if ((0x1U << reg1) & REG_BIT_GRP1) + admitted_group = REG_BIT_GRP1; + else if ((0x1U << reg1) & REG_BIT_GRP0) + admitted_group = REG_BIT_GRP0; + + uint16_t reg_bits = 0x1 << reg1; + if (!lex_reg_list (admitted_group, ®_bits)) + goto fail; + + if (reg_bits & REG_BIT_GRP1) + pb |= 0x40; + + int i; + for (i = 0; i < 16; ++i) + { + if (reg_bits & (0x1u << i)) + pb |= reg_map[i]; + } + } + + char *f = s12z_new_insn (2); + number_to_chars_bigendian (f++, insn->opc, 1); + number_to_chars_bigendian (f++, pb, 1); + return 1; + + fail: + fail_line_pointer = input_line_pointer; + return 0; +} + + +static int +tfr (const struct instruction *insn) +{ + int reg1; + if (!lex_reg_name (~0, ®1)) + goto fail; + + if (!lex_match (',')) + goto fail; + + int reg2; + if (!lex_reg_name (~0, ®2)) + goto fail; + + if ((0 == strcasecmp ("sex", insn->name)) + || (0 == strcasecmp ("zex", insn->name))) + { + if (registers[reg1].bytes >= registers[reg2].bytes) + { + as_bad (_("Source register for %s must be smaller that the destination register"), + insn->name); + goto fail; + } + } + + char *f = s12z_new_insn (1 + insn->page); + if (insn->page == 2) + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + + number_to_chars_bigendian (f++, insn->opc, 1); + number_to_chars_bigendian (f++, reg1 << 4 | reg2, 1); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + return 0; +} + +static int +imm8 (const struct instruction *insn) +{ + long imm; + if (! lex_imm (&imm)) + return 0; + if (imm > 127 || imm < -128) + { + as_bad (_("Immediate value %ld is out of range for instruction %s"), + imm, insn->name); + } + + char *f = s12z_new_insn (2); + number_to_chars_bigendian (f++, insn->opc, 1); + number_to_chars_bigendian (f++, imm, 1); + + return 1; +} + +static int +reg_imm (const struct instruction *insn, int allowed_reg) +{ + char *ilp = input_line_pointer; + int reg; + if (lex_reg_name (allowed_reg, ®)) + { + if (!lex_force_match (',')) + goto fail; + long imm; + if (! lex_imm (&imm)) + goto fail; + + short size = registers[reg].bytes; + char *f = s12z_new_insn (insn->page + size); + if (insn->page == 2) + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + + number_to_chars_bigendian (f++, insn->opc + reg, 1); + number_to_chars_bigendian (f++, imm, size); + return 1; + } + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + +static int +regd_imm (const struct instruction *insn) +{ + return reg_imm (insn, REG_BIT_Dn); +} + +static int +regdxy_imm (const struct instruction *insn) +{ + return reg_imm (insn, REG_BIT_Dn | REG_BIT_XY); +} + + +static int +regs_imm (const struct instruction *insn) +{ + return reg_imm (insn, 0x1U << REG_S); +} + +static int +trap_imm (const struct instruction *insn ATTRIBUTE_UNUSED) +{ + long imm = -1; + if (! lex_imm (&imm)) + goto fail; + + if (imm < 0x92 || imm > 0xFF || + (imm >= 0xA0 && imm <= 0xA7) || + (imm >= 0xB0 && imm <= 0xB7)) + { + as_bad (_("trap value %ld is not valid"), imm); + return 0; + } + else + { + char *f = s12z_new_insn (2); + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + number_to_chars_bigendian (f++, imm & 0xFF, 1); + return 1; + } + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + return 0; +} + + + +/* Special one byte instruction CMP X, Y */ +static int +regx_regy (const struct instruction *insn) +{ + int reg; + if (lex_reg_name (0x1U << REG_X, ®)) + { + if (lex_force_match (',')) + { + if (lex_reg_name (0x1U << REG_Y, ®)) + { + char *f = s12z_new_insn (1); + number_to_chars_bigendian (f, insn->opc, 1); + return 1; + } + } + } + return 0; +} + +/* Special one byte instruction SUB D6, X, Y */ +static int +regd6_regx_regy (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + int reg; + if (!lex_reg_name (0x1U << REG_D6, ®)) + goto fail; + + if (!lex_match (',')) + goto fail; + + if (!lex_reg_name (0x1U << REG_X, ®)) + goto fail; + + if (!lex_match (',')) + goto fail; + + if (!lex_reg_name (0x1U << REG_Y, ®)) + goto fail; + + char *f = s12z_new_insn (1); + number_to_chars_bigendian (f, insn->opc, 1); + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +/* Special one byte instruction SUB D6, Y, X */ +static int +regd6_regy_regx (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + int reg; + if (!lex_reg_name (0x1U << REG_D6, ®)) + goto fail; + + if (!lex_match (',')) + goto fail; + + if (!lex_reg_name (0x1U << REG_Y, ®)) + goto fail; + + if (!lex_match (',')) + goto fail; + + if (!lex_reg_name (0x1U << REG_X, ®)) + goto fail; + + char *f = s12z_new_insn (1); + number_to_chars_bigendian (f, insn->opc, 1); + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +static int +reg_opr (const struct instruction *insn, int allowed_regs) +{ + char *ilp = input_line_pointer; + int reg; + if (lex_reg_name (allowed_regs, ®)) + { + if (!lex_force_match (',')) + goto fail; + + uint8_t buffer[4]; + int n_bytes; + expressionS exp; + if (lex_opr (buffer, &n_bytes, &exp)) + { + /* Large constant direct values are more efficiently encoded as ext24 mode. + Otherwise a decision has to be deferred to a relax. */ + if (exp.X_op == O_constant + && buffer[0] == 0xFA + && insn->alt_opc != 0) + { + char *f = s12z_new_insn (4); + + /* I don't think there are any instances of page 2 opcodes in this case */ + gas_assert (insn->page == 1); + + number_to_chars_bigendian (f++, insn->alt_opc + reg, 1); + + emit_ext24 (f, exp.X_add_number); + } + else + { + char *f = s12z_new_insn (n_bytes + insn->page); + + if (insn->page == 2) + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + + number_to_chars_bigendian (f++, insn->opc + reg, 1); + + emit_opr (f, buffer, n_bytes, &exp); + } + + return 1; + } + } + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + +static int +regdxy_opr (const struct instruction *insn) +{ + return reg_opr (insn, REG_BIT_Dn | REG_BIT_XY); +} + +static int +regd_opr (const struct instruction *insn) +{ + return reg_opr (insn, REG_BIT_Dn); +} + + +static int +regs_opr (const struct instruction *insn) +{ + return reg_opr (insn, 0x1U << REG_S); +} + +static int +imm_opr (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + long imm; + if (!lex_imm (&imm)) + goto fail; + + if (!lex_match (',')) + goto fail; + + uint8_t buffer[4]; + int n_bytes; + expressionS exp; + if (!lex_opr (buffer, &n_bytes, &exp)) + goto fail; + + int size = size_from_suffix (insn, 0); + char *f = s12z_new_insn (1 + n_bytes + size); + number_to_chars_bigendian (f++, insn->opc, 1); + + int i; + for (i = 0; i < size; ++i) + number_to_chars_bigendian (f++, imm >> (CHAR_BIT * (size - i - 1)), 1); + + emit_opr (f, buffer, n_bytes, &exp); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +static int +opr_opr (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + + uint8_t buffer1[4]; + int n_bytes1; + expressionS exp1; + if (!lex_opr (buffer1, &n_bytes1, &exp1)) + goto fail; + + + if (!lex_match (',')) + goto fail; + + uint8_t buffer2[4]; + int n_bytes2; + expressionS exp2; + if (!lex_opr (buffer2, &n_bytes2, &exp2)) + goto fail; + + char *f = s12z_new_insn (1 + n_bytes1 + n_bytes2); + number_to_chars_bigendian (f++, insn->opc, 1); + + f = emit_opr (f, buffer1, n_bytes1, &exp1); + f = emit_opr (f, buffer2, n_bytes2, &exp2); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +static int +reg67sxy_opr (const struct instruction *insn) +{ + int reg; + if (!lex_reg_name (REG_BIT_XYS | (0x1U << REG_D6) | (0x1U << REG_D7), ®)) + return 0; + + if (!lex_match (',')) + return 0; + + uint8_t buffer[4]; + int n_bytes; + expressionS exp; + if (!lex_opr (buffer, &n_bytes, &exp)) + return 0; + + char *f = s12z_new_insn (1 + n_bytes); + number_to_chars_bigendian (f++, insn->opc + reg - REG_D6, 1); + emit_opr (f, buffer, n_bytes, &exp); + + return 1; +} + +static int +rotate (const struct instruction *insn, short dir) +{ + uint8_t buffer[4]; + int n_bytes; + expressionS exp; + if (lex_opr (buffer, &n_bytes, &exp)) + { + char *f = s12z_new_insn (n_bytes + 2); + number_to_chars_bigendian (f++, insn->opc, 1); + int size = size_from_suffix (insn, 0); + if (size < 0) + size = 1; + uint8_t sb = 0x24; + sb |= size - 1; + if (dir) + sb |= 0x40; + number_to_chars_bigendian (f++, sb, 1); + emit_opr (f, buffer, n_bytes, &exp); + + return 1; + } + + return 0; +} + +static int +rol (const struct instruction *insn) +{ + return rotate (insn, 1); +} + +static int +ror (const struct instruction *insn) +{ + return rotate (insn, 0); +} + + +/* Shift instruction with a register operand and an immediate #1 or #2 + left = 1; right = 0; + logical = 0; arithmetic = 1; +*/ +static int +lex_shift_reg_imm1 (const struct instruction *insn, short type, short dir) +{ + /* + This function is highly unusual and a bit wierd! + It first matches the input against a register {d0, d1, ... d7} followed by an immediate + {#1, #2}. + Then, it rewinds the input and parses it again as a OPR. + */ + char *ilp = input_line_pointer; + + int Dd; + if (!lex_reg_name (REG_BIT_Dn, &Dd)) + { + goto fail; + } + + if (!lex_match (',')) + goto fail; + + long imm = -1; + if (!lex_imm (&imm)) + goto fail; + + if (imm != 1 && imm != 2) + goto fail; + input_line_pointer = ilp; + + /* Now parse the first operand again */ + + uint8_t buffer[4]; + int n_bytes; + + expressionS exp; + if (!lex_opr (buffer, &n_bytes, &exp)) + goto fail; + + gas_assert (n_bytes == 1); + + uint8_t sb = 0x34; + sb |= dir << 6; + sb |= type << 7; + if (imm == 2) + sb |= 0x08; + + char *f = s12z_new_insn (3); + number_to_chars_bigendian (f++, insn->opc, 1); + number_to_chars_bigendian (f++, sb, 1); + emit_opr (f, buffer, n_bytes, &exp); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +/* Shift instruction with a register operand. + left = 1; right = 0; + logical = 0; arithmetic = 1; */ +static int +lex_shift_reg (const struct instruction *insn, short type, short dir) +{ + int Dd, Ds, Dn; + if (!lex_reg_name (REG_BIT_Dn, &Dd)) + { + goto fail; + } + + if (!lex_match (',')) + goto fail; + + if (!lex_reg_name (REG_BIT_Dn, &Ds)) + { + goto fail; + } + + if (!lex_match (',')) + goto fail; + + uint8_t sb = 0x10; + sb |= Ds; + sb |= dir << 6; + sb |= type << 7; + long imm; + if (lex_reg_name (REG_BIT_Dn, &Dn)) + { + char *f = s12z_new_insn (3); + number_to_chars_bigendian (f++, insn->opc | Dd, 1); + number_to_chars_bigendian (f++, sb, 1); + uint8_t xb = 0xb8; + xb |= Dn; + number_to_chars_bigendian (f++, xb, 1); + + return 1; + } + else if (lex_imm (&imm)) + { + if (imm < 0 || imm > 31) + { + as_bad (_("Shift value should be in the range [0,31]")); + goto fail; + } + + int n_bytes = 3; + if (imm == 1 || imm == 2) + { + n_bytes = 2; + sb &= ~0x10; + } + else + { + sb |= (imm & 0x01) << 3; + } + + char *f = s12z_new_insn (n_bytes); + number_to_chars_bigendian (f++, insn->opc | Dd, 1); + number_to_chars_bigendian (f++, sb, 1); + if (n_bytes > 2) + { + uint8_t xb = 0x70; + xb |= imm >> 1; + number_to_chars_bigendian (f++, xb, 1); + } + + return 1; + } + + fail: + fail_line_pointer = input_line_pointer; + return 0; +} + +static void +impute_shift_dir_and_type (const struct instruction *insn, short *type, short *dir) +{ + *dir = -1; + *type = -1; + switch (insn->name[0]) + { + case 'l': + *type = 0; + break; + case 'a': + *type = 1; + break; + default: + as_fatal (_("Bad shift mode")); + break; + } + + switch (insn->name[2]) + { + case 'l': + *dir = 1; + break; + case 'r': + *dir = 0; + break; + default: + as_fatal (_("Bad shift *direction")); + break; + } +} + +/* Shift instruction with a OPR operand */ +static int +shift_two_operand (const struct instruction *insn) +{ + uint8_t sb = 0x34; + char *ilp = input_line_pointer; + + short dir = -1; + short type = -1; + impute_shift_dir_and_type (insn, &type, &dir); + sb |= dir << 6; + sb |= type << 7; + + int size = size_from_suffix (insn, 0); + sb |= size - 1; + + uint8_t buffer[4]; + int n_opr_bytes; + expressionS exp; + if (!lex_opr (buffer, &n_opr_bytes, &exp)) + goto fail; + + if (!lex_match (',')) + goto fail; + + long imm = -1; + if (!lex_imm (&imm)) + goto fail; + + if (imm != 1 && imm != 2) + goto fail; + + if (imm == 2) + sb |= 0x08; + + char *f = s12z_new_insn (2 + n_opr_bytes); + number_to_chars_bigendian (f++, insn->opc, 1); + number_to_chars_bigendian (f++, sb, 1); + emit_opr (f, buffer, n_opr_bytes, &exp); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +/* Shift instruction with a OPR operand */ +static int +shift_opr_imm (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + + short dir = -1; + short type = -1; + impute_shift_dir_and_type (insn, &type, &dir); + + int Dd = 0; + if (!lex_reg_name (REG_BIT_Dn, &Dd)) + goto fail; + + if (!lex_match (',')) + goto fail; + + int n_bytes = 2; + + uint8_t buffer1[4]; + int n_opr_bytes1; + + expressionS exp1; + if (!lex_opr (buffer1, &n_opr_bytes1, &exp1)) + goto fail; + + n_bytes += n_opr_bytes1; + if (!lex_match (',')) + goto fail; + + uint8_t buffer2[4]; + int n_opr_bytes2 = 0; + expressionS exp2; + long imm; + bool immediate = false; + if (lex_imm (&imm)) + { + immediate = true; + } + else if (!lex_opr (buffer2, &n_opr_bytes2, &exp2)) + goto fail; + + uint8_t sb = 0x20; + + int size = size_from_suffix (insn, 0); + + if (size != -1) + sb |= size - 1; + + sb |= dir << 6; + sb |= type << 7; + + if (immediate) + { + if (imm == 2 || imm == 1) + { + if (imm == 2) + sb |= 0x08; + } + else + { + n_bytes++; + sb |= 0x10; + if (imm % 2) + sb |= 0x08; + } + } + else + { + n_bytes += n_opr_bytes2; + sb |= 0x10; + } + + char *f = s12z_new_insn (n_bytes); + number_to_chars_bigendian (f++, insn->opc | Dd, 1); + number_to_chars_bigendian (f++, sb, 1); + f = emit_opr (f, buffer1, n_opr_bytes1, &exp1); + if (immediate) + { + if (imm != 1 && imm != 2) + { + number_to_chars_bigendian (f++, 0x70 | (imm >> 1), 1); + } + } + else + { + f = emit_opr (f, buffer2, n_opr_bytes2, &exp2); + } + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +/* Shift instruction with a register operand */ +static int +shift_reg (const struct instruction *insn) +{ + short dir = -1; + short type = -1; + impute_shift_dir_and_type (insn, &type, &dir); + + if (lex_shift_reg_imm1 (insn, type, dir)) + return 1; + + return lex_shift_reg (insn, type, dir); +} + +static int +bm_regd_imm (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + int Di = 0; + if (!lex_reg_name (REG_BIT_Dn, &Di)) + goto fail; + + if (!lex_match (',')) + goto fail; + + long imm; + if (!lex_imm (&imm)) + goto fail; + + + uint8_t bm = imm << 3; + bm |= Di; + + char *f = s12z_new_insn (2); + number_to_chars_bigendian (f++, insn->opc, 1); + number_to_chars_bigendian (f++, bm, 1); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +static int +bm_opr_reg (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + + uint8_t buffer[4]; + int n_opr_bytes; + + expressionS exp; + if (!lex_opr (buffer, &n_opr_bytes, &exp)) + goto fail; + + if (!lex_match (',')) + goto fail; + + int Dn = 0; + if (!lex_reg_name (REG_BIT_Dn, &Dn)) + goto fail; + + uint8_t bm = Dn << 4; + int size = size_from_suffix (insn, 0); + bm |= (size - 1) << 2; + bm |= 0x81; + + char *f = s12z_new_insn (2 + n_opr_bytes); + number_to_chars_bigendian (f++, insn->opc, 1); + number_to_chars_bigendian (f++, bm, 1); + + emit_opr (f, buffer, n_opr_bytes, &exp); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + +static int +bm_opr_imm (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + + uint8_t buffer[4]; + int n_opr_bytes; + + expressionS exp; + if (!lex_opr (buffer, &n_opr_bytes, &exp)) + goto fail; + + if (!lex_match (',')) + goto fail; + + + long imm; + if (!lex_imm (&imm)) + goto fail; + + int size = size_from_suffix (insn, 0); + + if (imm < 0 || imm >= size * 8) + { + as_bad (_("Immediate operand %ld is inappropriate for size of instruction"), imm); + goto fail; + } + + uint8_t bm = 0x80; + if (size == 2) + bm |= 0x02; + else if (size == 4) + bm |= 0x08; + bm |= (imm & 0x07) << 4; + bm |= (imm >> 3); + + + char *f = s12z_new_insn (2 + n_opr_bytes); + number_to_chars_bigendian (f++, insn->opc, 1); + number_to_chars_bigendian (f++, bm, 1); + emit_opr (f, buffer, n_opr_bytes, &exp); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + +static int +bm_regd_reg (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + int Di = 0; + if (!lex_reg_name (REG_BIT_Dn, &Di)) + goto fail; + + if (!lex_match (',')) + goto fail; + + int Dn = 0; + if (!lex_reg_name (REG_BIT_Dn, &Dn)) + goto fail; + + uint8_t bm = Dn << 4; + bm |= 0x81; + + uint8_t xb = Di | 0xb8; + + char *f = s12z_new_insn (3); + number_to_chars_bigendian (f++, insn->opc, 1); + number_to_chars_bigendian (f++, bm, 1); + number_to_chars_bigendian (f++, xb, 1); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + + + + +static int +bf_reg_opr_imm (const struct instruction *insn, short ie) +{ + char *ilp = input_line_pointer; + int Dd = 0; + if (!lex_reg_name (REG_BIT_Dn, &Dd)) + goto fail; + + if (!lex_match (',')) + goto fail; + + uint8_t buffer[4]; + int n_bytes; + + expressionS exp; + if (!lex_opr (buffer, &n_bytes, &exp)) + goto fail; + + if (!lex_match (',')) + goto fail; + + long width; + if (!lex_imm (&width)) + goto fail; + + if (width < 0 || width > 31) + { + as_bad (_("Invalid width value for %s"), insn->name); + goto fail; + } + + if (!lex_match (':')) + goto fail; + + long offset; + if (!lex_constant (&offset)) + goto fail; + + if (offset < 0 || offset > 31) + { + as_bad (_("Invalid offset value for %s"), insn->name); + goto fail; + } + + uint8_t i1 = width << 5; + i1 |= offset; + + int size = size_from_suffix (insn, 0); + uint8_t bb = ie ? 0x80 : 0x00; + bb |= 0x60; + bb |= (size - 1) << 2; + bb |= width >> 3; + + char *f = s12z_new_insn (4 + n_bytes); + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + number_to_chars_bigendian (f++, 0x08 | Dd, 1); + number_to_chars_bigendian (f++, bb, 1); + number_to_chars_bigendian (f++, i1, 1); + + emit_opr (f, buffer, n_bytes, &exp); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + +static int +bf_opr_reg_imm (const struct instruction *insn, short ie) +{ + char *ilp = input_line_pointer; + uint8_t buffer[4]; + int n_bytes; + expressionS exp; + if (!lex_opr (buffer, &n_bytes, &exp)) + goto fail; + + if (!lex_match (',')) + goto fail; + + int Ds = 0; + if (!lex_reg_name (REG_BIT_Dn, &Ds)) + goto fail; + + if (!lex_match (',')) + goto fail; + + long width; + if (!lex_imm (&width)) + goto fail; + + if (width < 0 || width > 31) + { + as_bad (_("Invalid width value for %s"), insn->name); + goto fail; + } + + if (!lex_match (':')) + goto fail; + + long offset; + if (!lex_constant (&offset)) + goto fail; + + if (offset < 0 || offset > 31) + { + as_bad (_("Invalid offset value for %s"), insn->name); + goto fail; + } + + uint8_t i1 = width << 5; + i1 |= offset; + + int size = size_from_suffix (insn, 0); + uint8_t bb = ie ? 0x80 : 0x00; + bb |= 0x70; + bb |= (size - 1) << 2; + bb |= width >> 3; + + char *f = s12z_new_insn (4 + n_bytes); + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + number_to_chars_bigendian (f++, 0x08 | Ds, 1); + number_to_chars_bigendian (f++, bb, 1); + number_to_chars_bigendian (f++, i1, 1); + + emit_opr (f, buffer, n_bytes, &exp); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + + +static int +bf_reg_reg_imm (const struct instruction *insn, short ie) +{ + char *ilp = input_line_pointer; + int Dd = 0; + if (!lex_reg_name (REG_BIT_Dn, &Dd)) + goto fail; + + if (!lex_match (',')) + goto fail; + + int Ds = 0; + if (!lex_reg_name (REG_BIT_Dn, &Ds)) + goto fail; + + if (!lex_match (',')) + goto fail; + + long width; + if (!lex_imm (&width)) + goto fail; + + if (width < 0 || width > 31) + { + as_bad (_("Invalid width value for %s"), insn->name); + goto fail; + } + + if (!lex_match (':')) + goto fail; + + long offset; + if (!lex_constant (&offset)) + goto fail; + + if (offset < 0 || offset > 31) + { + as_bad (_("Invalid offset value for %s"), insn->name); + goto fail; + } + + uint8_t bb = ie ? 0x80 : 0x00; + bb |= 0x20; + bb |= Ds << 2; + bb |= width >> 3; + + uint8_t i1 = width << 5; + i1 |= offset; + + char *f = s12z_new_insn (4); + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + number_to_chars_bigendian (f++, 0x08 | Dd, 1); + number_to_chars_bigendian (f++, bb, 1); + number_to_chars_bigendian (f++, i1, 1); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +static int +bf_reg_reg_reg (const struct instruction *insn ATTRIBUTE_UNUSED, short ie) +{ + char *ilp = input_line_pointer; + int Dd = 0; + if (!lex_reg_name (REG_BIT_Dn, &Dd)) + goto fail; + + if (!lex_match (',')) + goto fail; + + int Ds = 0; + if (!lex_reg_name (REG_BIT_Dn, &Ds)) + goto fail; + + if (!lex_match (',')) + goto fail; + + int Dp = 0; + if (!lex_reg_name ((0x01u << REG_D2) | + (0x01u << REG_D3) | + (0x01u << REG_D4) | + (0x01u << REG_D5), + &Dp)) + goto fail; + + uint8_t bb = ie ? 0x80 : 0x00; + bb |= Ds << 2; + bb |= Dp; + + char *f = s12z_new_insn (3); + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + number_to_chars_bigendian (f++, 0x08 | Dd, 1); + number_to_chars_bigendian (f++, bb , 1); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +static int +bf_opr_reg_reg (const struct instruction *insn, short ie) +{ + char *ilp = input_line_pointer; + + uint8_t buffer[4]; + int n_bytes; + expressionS exp; + if (!lex_opr (buffer, &n_bytes, &exp)) + goto fail; + + if (!lex_match (',')) + goto fail; + + + int Ds = 0; + if (!lex_reg_name (REG_BIT_Dn, &Ds)) + goto fail; + + if (!lex_match (',')) + goto fail; + + + int Dp = 0; + if (!lex_reg_name ((0x01u << REG_D2) | + (0x01u << REG_D3) | + (0x01u << REG_D4) | + (0x01u << REG_D5), + &Dp)) + goto fail; + + int size = size_from_suffix (insn, 0); + uint8_t bb = ie ? 0x80 : 0x00; + bb |= 0x50; + bb |= Dp; + bb |= (size - 1) << 2; + + char *f = s12z_new_insn (3 + n_bytes); + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + number_to_chars_bigendian (f++, 0x08 | Ds, 1); + number_to_chars_bigendian (f++, bb , 1); + + emit_opr (f, buffer, n_bytes, &exp); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + +static int +bf_reg_opr_reg (const struct instruction *insn, short ie) +{ + char *ilp = input_line_pointer; + int Dd = 0; + if (!lex_reg_name (REG_BIT_Dn, &Dd)) + goto fail; + + if (!lex_match (',')) + goto fail; + + + uint8_t buffer[4]; + int n_bytes; + expressionS exp; + if (!lex_opr (buffer, &n_bytes, &exp)) + goto fail; + + if (!lex_match (',')) + goto fail; + + int Dp = 0; + if (!lex_reg_name ((0x01u << REG_D2) | + (0x01u << REG_D3) | + (0x01u << REG_D4) | + (0x01u << REG_D5), + &Dp)) + goto fail; + + int size = size_from_suffix (insn, 0); + uint8_t bb = ie ? 0x80 : 0x00; + bb |= 0x40; + bb |= Dp; + bb |= (size - 1) << 2; + + char *f = s12z_new_insn (3 + n_bytes); + number_to_chars_bigendian (f++, PAGE2_PREBYTE, 1); + number_to_chars_bigendian (f++, 0x08 | Dd, 1); + number_to_chars_bigendian (f++, bb , 1); + + emit_opr (f, buffer, n_bytes, &exp); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + + +static int +bfe_reg_reg_reg (const struct instruction *insn) +{ + return bf_reg_reg_reg (insn, 0); +} + +static int +bfi_reg_reg_reg (const struct instruction *insn) +{ + return bf_reg_reg_reg (insn, 1); +} + +static int +bfe_reg_reg_imm (const struct instruction *insn) +{ + return bf_reg_reg_imm (insn, 0); +} + +static int +bfi_reg_reg_imm (const struct instruction *insn) +{ + return bf_reg_reg_imm (insn, 1); +} + + +static int +bfe_reg_opr_reg (const struct instruction *insn) +{ + return bf_reg_opr_reg (insn, 0); +} + +static int +bfi_reg_opr_reg (const struct instruction *insn) +{ + return bf_reg_opr_reg (insn, 1); +} + + +static int +bfe_opr_reg_reg (const struct instruction *insn) +{ + return bf_opr_reg_reg (insn, 0); +} + +static int +bfi_opr_reg_reg (const struct instruction *insn) +{ + return bf_opr_reg_reg (insn, 1); +} + +static int +bfe_reg_opr_imm (const struct instruction *insn) +{ + return bf_reg_opr_imm (insn, 0); +} + +static int +bfi_reg_opr_imm (const struct instruction *insn) +{ + return bf_reg_opr_imm (insn, 1); +} + +static int +bfe_opr_reg_imm (const struct instruction *insn) +{ + return bf_opr_reg_imm (insn, 0); +} + +static int +bfi_opr_reg_imm (const struct instruction *insn) +{ + return bf_opr_reg_imm (insn, 1); +} + + + + +static int +tb_reg_rel (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + + int reg; + if (!lex_reg_name (REG_BIT_Dn | REG_BIT_XY, ®)) + goto fail; + + if (!lex_match (',')) + goto fail; + + bool long_displacement; + expressionS exp; + if (! lex_15_bit_offset (&long_displacement, &exp)) + goto fail; + + uint8_t lb = 0x00; + if (reg == REG_X || reg == REG_Y) + { + lb |= 0x08; + } + else + { + lb |= reg; + } + if (reg == REG_Y) + lb |= 0x01; + + if (0 == strncmp (insn->name + 2, "ne", 2)) + lb |= 0x00 << 4; + else if (0 == strncmp (insn->name + 2, "eq", 2)) + lb |= 0x01 << 4; + else if (0 == strncmp (insn->name + 2, "pl", 2)) + lb |= 0x02 << 4; + else if (0 == strncmp (insn->name + 2, "mi", 2)) + lb |= 0x03 << 4; + else if (0 == strncmp (insn->name + 2, "gt", 2)) + lb |= 0x04 << 4; + else if (0 == strncmp (insn->name + 2, "le", 2)) + lb |= 0x05 << 4; + + switch (insn->name[0]) + { + case 'd': + lb |= 0x80; + break; + case 't': + break; + default: + gas_assert (0); + break; + }; + + char *f = s12z_new_insn (long_displacement ? 4 : 3); + number_to_chars_bigendian (f++, insn->opc, 1); + number_to_chars_bigendian (f++, lb, 1); + + emit_15_bit_offset (f, 4, &exp); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + +static int +tb_opr_rel (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + + uint8_t buffer[4]; + int n_bytes; + expressionS exp; + if (!lex_opr (buffer, &n_bytes, &exp)) + goto fail; + + if (!lex_match (',')) + goto fail; + + bool long_displacement; + expressionS exp2; + if (! lex_15_bit_offset (&long_displacement, &exp2)) + goto fail; + + uint8_t lb = 0x0C; + + if (0 == strncmp (insn->name + 2, "ne", 2)) + lb |= 0x00 << 4; + else if (0 == strncmp (insn->name + 2, "eq", 2)) + lb |= 0x01 << 4; + else if (0 == strncmp (insn->name + 2, "pl", 2)) + lb |= 0x02 << 4; + else if (0 == strncmp (insn->name + 2, "mi", 2)) + lb |= 0x03 << 4; + else if (0 == strncmp (insn->name + 2, "gt", 2)) + lb |= 0x04 << 4; + else if (0 == strncmp (insn->name + 2, "le", 2)) + lb |= 0x05 << 4; + + switch (insn->name[0]) + { + case 'd': + lb |= 0x80; + break; + case 't': + break; + default: + gas_assert (0); + break; + }; + + int size = size_from_suffix (insn, 0); + + lb |= size -1; + + char *f = s12z_new_insn (n_bytes + (long_displacement ? 4 : 3)); + number_to_chars_bigendian (f++, insn->opc, 1); + number_to_chars_bigendian (f++, lb, 1); + f = emit_opr (f, buffer, n_bytes, &exp); + + emit_15_bit_offset (f, n_bytes + 4, &exp2); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + + + +static int +test_br_reg_reg_rel (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + + int Di = 0; + if (!lex_reg_name (REG_BIT_Dn, &Di)) + goto fail; + + if (!lex_match (',')) + goto fail; + + + int Dn = 0; + if (!lex_reg_name (REG_BIT_Dn, &Dn)) + goto fail; + + if (!lex_match (',')) + goto fail; + + + bool long_displacement; + expressionS exp; + if (! lex_15_bit_offset (&long_displacement, &exp)) + goto fail; + + uint8_t bm = 0x81; + uint8_t xb = 0xb8; + + bm |= Dn << 4; + xb |= Di; + + char *f = s12z_new_insn (long_displacement ? 5 : 4); + number_to_chars_bigendian (f++, insn->opc, 1); + number_to_chars_bigendian (f++, bm, 1); + number_to_chars_bigendian (f++, xb, 1); + + emit_15_bit_offset (f, 5, &exp); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + +static int +test_br_opr_reg_rel (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + + uint8_t buffer[4]; + int n_bytes; + expressionS exp; + if (!lex_opr (buffer, &n_bytes, &exp)) + goto fail; + + if (!lex_match (',')) + goto fail; + + int Dn = 0; + if (!lex_reg_name (REG_BIT_Dn, &Dn)) + goto fail; + + if (!lex_match (',')) + goto fail; + + uint8_t bm = 0x81; + bm |= Dn << 4; + int size = size_from_suffix (insn, 0); + bm |= (size -1) << 2; + + bool long_displacement; + + expressionS exp2; + if (! lex_15_bit_offset (&long_displacement, &exp2)) + goto fail; + + int n = n_bytes + (long_displacement ? 4 : 3); + char *f = s12z_new_insn (n); + number_to_chars_bigendian (f++, insn->opc, 1); + number_to_chars_bigendian (f++, bm, 1); + f = emit_opr (f, buffer, n_bytes, &exp); + + emit_15_bit_offset (f, n, &exp2); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + +static int +test_br_opr_imm_rel (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + + uint8_t buffer[4]; + int n_bytes; + expressionS exp; + if (!lex_opr (buffer, &n_bytes, &exp)) + goto fail; + + if (!lex_match (',')) + goto fail; + + long imm; + if (!lex_imm (&imm)) + goto fail; + + if (imm < 0 || imm > 31) + goto fail; + + if (!lex_match (',')) + goto fail; + + bool long_displacement; + expressionS exp2; + if (! lex_15_bit_offset (&long_displacement, &exp2)) + goto fail; + + int size = size_from_suffix (insn, 0); + + uint8_t bm = 0x80; + bm |= (imm & 0x07) << 4; + bm |= (imm >> 3) & 0x03; + if (size == 4) + bm |= 0x08; + else if (size == 2) + bm |= 0x02; + + char *f = s12z_new_insn (n_bytes + (long_displacement ? 4 : 3)); + number_to_chars_bigendian (f++, insn->opc, 1); + number_to_chars_bigendian (f++, bm, 1); + f = emit_opr (f, buffer, n_bytes, &exp); + + emit_15_bit_offset (f, n_bytes + 4, &exp2); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + +static int +test_br_reg_imm_rel (const struct instruction *insn) +{ + char *ilp = input_line_pointer; + + int Di = 0; + if (!lex_reg_name (REG_BIT_Dn, &Di)) + goto fail; + + if (!lex_match (',')) + goto fail; + + long imm; + if (!lex_imm (&imm)) + goto fail; + + if (imm < 0 || imm > 31) + goto fail; + + + if (!lex_match (',')) + goto fail; + + bool long_displacement; + expressionS exp; + if (! lex_15_bit_offset (&long_displacement, &exp)) + goto fail; + + uint8_t bm = Di; + bm |= imm << 3; + + char *f = s12z_new_insn (long_displacement ? 4 : 3); + number_to_chars_bigendian (f++, insn->opc, 1); + number_to_chars_bigendian (f++, bm, 1); + + emit_15_bit_offset (f, 4, &exp); + + return 1; + + fail: + fail_line_pointer = input_line_pointer; + input_line_pointer = ilp; + return 0; +} + + + + +static const struct instruction opcodes[] = { + {"bgnd", 1, 0x00, no_operands, 0}, + {"nop", 1, 0x01, no_operands, 0}, + + {"brclr", 1, 0x02, test_br_reg_reg_rel, 0}, + {"brset", 1, 0x03, test_br_reg_reg_rel, 0}, + + {"brclr", 1, 0x02, test_br_reg_imm_rel, 0}, + {"brset", 1, 0x03, test_br_reg_imm_rel, 0}, + + {"brclr.b", 1, 0x02, test_br_opr_reg_rel, 0}, + {"brclr.w", 1, 0x02, test_br_opr_reg_rel, 0}, + {"brclr.l", 1, 0x02, test_br_opr_reg_rel, 0}, + + {"brset.b", 1, 0x03, test_br_opr_reg_rel, 0}, + {"brset.w", 1, 0x03, test_br_opr_reg_rel, 0}, + {"brset.l", 1, 0x03, test_br_opr_reg_rel, 0}, + + {"brclr.b", 1, 0x02, test_br_opr_imm_rel, 0}, + {"brclr.w", 1, 0x02, test_br_opr_imm_rel, 0}, + {"brclr.l", 1, 0x02, test_br_opr_imm_rel, 0}, + + {"brset.b", 1, 0x03, test_br_opr_imm_rel, 0}, + {"brset.w", 1, 0x03, test_br_opr_imm_rel, 0}, + {"brset.l", 1, 0x03, test_br_opr_imm_rel, 0}, + + {"psh", 1, 0x04, psh_pull, 0}, + {"pul", 1, 0x04, psh_pull, 0}, + + {"rts", 1, 0x05, no_operands, 0}, + {"lea", 1, 0x06, reg67sxy_opr, 0}, + + {"dbne", 1, 0x0b, tb_reg_rel, 0}, + {"dbeq", 1, 0x0b, tb_reg_rel, 0}, + {"dbpl", 1, 0x0b, tb_reg_rel, 0}, + {"dbmi", 1, 0x0b, tb_reg_rel, 0}, + {"dbgt", 1, 0x0b, tb_reg_rel, 0}, + {"dble", 1, 0x0b, tb_reg_rel, 0}, + + {"dbne.b", 1, 0x0b, tb_opr_rel, 0}, + {"dbeq.b", 1, 0x0b, tb_opr_rel, 0}, + {"dbpl.b", 1, 0x0b, tb_opr_rel, 0}, + {"dbmi.b", 1, 0x0b, tb_opr_rel, 0}, + {"dbgt.b", 1, 0x0b, tb_opr_rel, 0}, + {"dble.b", 1, 0x0b, tb_opr_rel, 0}, + + {"dbne.w", 1, 0x0b, tb_opr_rel, 0}, + {"dbeq.w", 1, 0x0b, tb_opr_rel, 0}, + {"dbpl.w", 1, 0x0b, tb_opr_rel, 0}, + {"dbmi.w", 1, 0x0b, tb_opr_rel, 0}, + {"dbgt.w", 1, 0x0b, tb_opr_rel, 0}, + {"dble.w", 1, 0x0b, tb_opr_rel, 0}, + + {"dbne.p", 1, 0x0b, tb_opr_rel, 0}, + {"dbeq.p", 1, 0x0b, tb_opr_rel, 0}, + {"dbpl.p", 1, 0x0b, tb_opr_rel, 0}, + {"dbmi.p", 1, 0x0b, tb_opr_rel, 0}, + {"dbgt.p", 1, 0x0b, tb_opr_rel, 0}, + {"dble.p", 1, 0x0b, tb_opr_rel, 0}, + + {"dbne.l", 1, 0x0b, tb_opr_rel, 0}, + {"dbeq.l", 1, 0x0b, tb_opr_rel, 0}, + {"dbpl.l", 1, 0x0b, tb_opr_rel, 0}, + {"dbmi.l", 1, 0x0b, tb_opr_rel, 0}, + {"dbgt.l", 1, 0x0b, tb_opr_rel, 0}, + {"dble.l", 1, 0x0b, tb_opr_rel, 0}, + + {"tbne", 1, 0x0b, tb_reg_rel, 0}, + {"tbeq", 1, 0x0b, tb_reg_rel, 0}, + {"tbpl", 1, 0x0b, tb_reg_rel, 0}, + {"tbmi", 1, 0x0b, tb_reg_rel, 0}, + {"tbgt", 1, 0x0b, tb_reg_rel, 0}, + {"tble", 1, 0x0b, tb_reg_rel, 0}, + + {"tbne.b", 1, 0x0b, tb_opr_rel, 0}, + {"tbeq.b", 1, 0x0b, tb_opr_rel, 0}, + {"tbpl.b", 1, 0x0b, tb_opr_rel, 0}, + {"tbmi.b", 1, 0x0b, tb_opr_rel, 0}, + {"tbgt.b", 1, 0x0b, tb_opr_rel, 0}, + {"tble.b", 1, 0x0b, tb_opr_rel, 0}, + + {"tbne.w", 1, 0x0b, tb_opr_rel, 0}, + {"tbeq.w", 1, 0x0b, tb_opr_rel, 0}, + {"tbpl.w", 1, 0x0b, tb_opr_rel, 0}, + {"tbmi.w", 1, 0x0b, tb_opr_rel, 0}, + {"tbgt.w", 1, 0x0b, tb_opr_rel, 0}, + {"tble.w", 1, 0x0b, tb_opr_rel, 0}, + + {"tbne.p", 1, 0x0b, tb_opr_rel, 0}, + {"tbeq.p", 1, 0x0b, tb_opr_rel, 0}, + {"tbpl.p", 1, 0x0b, tb_opr_rel, 0}, + {"tbmi.p", 1, 0x0b, tb_opr_rel, 0}, + {"tbgt.p", 1, 0x0b, tb_opr_rel, 0}, + {"tble.p", 1, 0x0b, tb_opr_rel, 0}, + + {"tbne.l", 1, 0x0b, tb_opr_rel, 0}, + {"tbeq.l", 1, 0x0b, tb_opr_rel, 0}, + {"tbpl.l", 1, 0x0b, tb_opr_rel, 0}, + {"tbmi.l", 1, 0x0b, tb_opr_rel, 0}, + {"tbgt.l", 1, 0x0b, tb_opr_rel, 0}, + {"tble.l", 1, 0x0b, tb_opr_rel, 0}, + + {"mov.b", 1, 0x0c, imm_opr, 0}, + {"mov.w", 1, 0x0d, imm_opr, 0}, + {"mov.p", 1, 0x0e, imm_opr, 0}, + {"mov.l", 1, 0x0f, imm_opr, 0}, + + {"rol", 1, 0x10, rol, 0}, + {"rol.b", 1, 0x10, rol, 0}, + {"rol.w", 1, 0x10, rol, 0}, + {"rol.p", 1, 0x10, rol, 0}, + {"rol.l", 1, 0x10, rol, 0}, + + {"ror", 1, 0x10, ror, 0}, + {"ror.b", 1, 0x10, ror, 0}, + {"ror.w", 1, 0x10, ror, 0}, + {"ror.p", 1, 0x10, ror, 0}, + {"ror.l", 1, 0x10, ror, 0}, + + {"lsl", 1, 0x10, shift_reg, 0}, + {"lsr", 1, 0x10, shift_reg, 0}, + {"asl", 1, 0x10, shift_reg, 0}, + {"asr", 1, 0x10, shift_reg, 0}, + + {"lsl.b", 1, 0x10, shift_two_operand, 0}, + {"lsl.w", 1, 0x10, shift_two_operand, 0}, + {"lsl.p", 1, 0x10, shift_two_operand, 0}, + {"lsl.l", 1, 0x10, shift_two_operand, 0}, + {"asl.b", 1, 0x10, shift_two_operand, 0}, + {"asl.w", 1, 0x10, shift_two_operand, 0}, + {"asl.p", 1, 0x10, shift_two_operand, 0}, + {"asl.l", 1, 0x10, shift_two_operand, 0}, + + {"lsr.b", 1, 0x10, shift_two_operand, 0}, + {"lsr.w", 1, 0x10, shift_two_operand, 0}, + {"lsr.p", 1, 0x10, shift_two_operand, 0}, + {"lsr.l", 1, 0x10, shift_two_operand, 0}, + {"asr.b", 1, 0x10, shift_two_operand, 0}, + {"asr.w", 1, 0x10, shift_two_operand, 0}, + {"asr.p", 1, 0x10, shift_two_operand, 0}, + {"asr.l", 1, 0x10, shift_two_operand, 0}, + + {"lsl.b", 1, 0x10, shift_opr_imm, 0}, + {"lsl.w", 1, 0x10, shift_opr_imm, 0}, + {"lsl.p", 1, 0x10, shift_opr_imm, 0}, + {"lsl.l", 1, 0x10, shift_opr_imm, 0}, + {"asl.b", 1, 0x10, shift_opr_imm, 0}, + {"asl.w", 1, 0x10, shift_opr_imm, 0}, + {"asl.p", 1, 0x10, shift_opr_imm, 0}, + {"asl.l", 1, 0x10, shift_opr_imm, 0}, + + {"lsr.b", 1, 0x10, shift_opr_imm, 0}, + {"lsr.w", 1, 0x10, shift_opr_imm, 0}, + {"lsr.p", 1, 0x10, shift_opr_imm, 0}, + {"lsr.l", 1, 0x10, shift_opr_imm, 0}, + {"asr.b", 1, 0x10, shift_opr_imm, 0}, + {"asr.w", 1, 0x10, shift_opr_imm, 0}, + {"asr.p", 1, 0x10, shift_opr_imm, 0}, + {"asr.l", 1, 0x10, shift_opr_imm, 0}, + + {"mov.b", 1, 0x1c, opr_opr, 0}, + {"mov.w", 1, 0x1d, opr_opr, 0}, + {"mov.p", 1, 0x1e, opr_opr, 0}, + {"mov.l", 1, 0x1f, opr_opr, 0}, + + {"bra", 1, 0x20, rel, 0}, + {"bsr", 1, 0x21, rel, 0}, + {"bhi", 1, 0x22, rel, 0}, + {"bls", 1, 0x23, rel, 0}, + {"bcc", 1, 0x24, rel, 0}, + {"bcs", 1, 0x25, rel, 0}, + {"bne", 1, 0x26, rel, 0}, + {"beq", 1, 0x27, rel, 0}, + {"bvc", 1, 0x28, rel, 0}, + {"bvs", 1, 0x29, rel, 0}, + {"bpl", 1, 0x2a, rel, 0}, + {"bmi", 1, 0x2b, rel, 0}, + {"bge", 1, 0x2c, rel, 0}, + {"blt", 1, 0x2d, rel, 0}, + {"bgt", 1, 0x2e, rel, 0}, + {"ble", 1, 0x2f, rel, 0}, + + {"inc", 1, 0x30, reg_inh, 0}, + {"clr", 1, 0x38, reg_inh, 0}, + {"dec", 1, 0x40, reg_inh, 0}, + + {"muls", 1, 0x48, mul_reg_reg_reg, 0}, + {"mulu", 1, 0x48, mul_reg_reg_reg, 0}, + + {"muls.b", 1, 0x48, mul_reg_reg_opr, 0}, + {"muls.w", 1, 0x48, mul_reg_reg_opr, 0}, + {"muls.l", 1, 0x48, mul_reg_reg_opr, 0}, + + {"mulu.b", 1, 0x48, mul_reg_reg_opr, 0}, + {"mulu.w", 1, 0x48, mul_reg_reg_opr, 0}, + {"mulu.l", 1, 0x48, mul_reg_reg_opr, 0}, + + {"muls.b", 1, 0x48, mul_reg_reg_imm, 0}, + {"muls.w", 1, 0x48, mul_reg_reg_imm, 0}, + {"muls.l", 1, 0x48, mul_reg_reg_imm, 0}, + + {"mulu.b", 1, 0x48, mul_reg_reg_imm, 0}, + {"mulu.w", 1, 0x48, mul_reg_reg_imm, 0}, + {"mulu.l", 1, 0x48, mul_reg_reg_imm, 0}, + + {"muls.bb", 1, 0x48, mul_reg_opr_opr, 0}, + {"muls.bw", 1, 0x48, mul_reg_opr_opr, 0}, + {"muls.bp", 1, 0x48, mul_reg_opr_opr, 0}, + {"muls.bl", 1, 0x48, mul_reg_opr_opr, 0}, + + {"muls.wb", 1, 0x48, mul_reg_opr_opr, 0}, + {"muls.ww", 1, 0x48, mul_reg_opr_opr, 0}, + {"muls.wp", 1, 0x48, mul_reg_opr_opr, 0}, + {"muls.wl", 1, 0x48, mul_reg_opr_opr, 0}, + + {"muls.pb", 1, 0x48, mul_reg_opr_opr, 0}, + {"muls.pw", 1, 0x48, mul_reg_opr_opr, 0}, + {"muls.pp", 1, 0x48, mul_reg_opr_opr, 0}, + {"muls.pl", 1, 0x48, mul_reg_opr_opr, 0}, + + {"muls.lb", 1, 0x48, mul_reg_opr_opr, 0}, + {"muls.lw", 1, 0x48, mul_reg_opr_opr, 0}, + {"muls.lp", 1, 0x48, mul_reg_opr_opr, 0}, + {"muls.ll", 1, 0x48, mul_reg_opr_opr, 0}, + + {"mulu.bb", 1, 0x48, mul_reg_opr_opr, 0}, + {"mulu.bw", 1, 0x48, mul_reg_opr_opr, 0}, + {"mulu.bp", 1, 0x48, mul_reg_opr_opr, 0}, + {"mulu.bl", 1, 0x48, mul_reg_opr_opr, 0}, + + {"mulu.wb", 1, 0x48, mul_reg_opr_opr, 0}, + {"mulu.ww", 1, 0x48, mul_reg_opr_opr, 0}, + {"mulu.wp", 1, 0x48, mul_reg_opr_opr, 0}, + {"mulu.wl", 1, 0x48, mul_reg_opr_opr, 0}, + + {"mulu.pb", 1, 0x48, mul_reg_opr_opr, 0}, + {"mulu.pw", 1, 0x48, mul_reg_opr_opr, 0}, + {"mulu.pp", 1, 0x48, mul_reg_opr_opr, 0}, + {"mulu.pl", 1, 0x48, mul_reg_opr_opr, 0}, + + {"mulu.lb", 1, 0x48, mul_reg_opr_opr, 0}, + {"mulu.lw", 1, 0x48, mul_reg_opr_opr, 0}, + {"mulu.lp", 1, 0x48, mul_reg_opr_opr, 0}, + {"mulu.ll", 1, 0x48, mul_reg_opr_opr, 0}, + + {"add", 1, 0x50, regd_imm, 0}, + {"and", 1, 0x58, regd_imm, 0}, + + {"add", 1, 0x60, regd_opr, 0}, + {"and", 1, 0x68, regd_opr, 0}, + + {"sub", 1, 0x70, regd_imm, 0}, + {"or", 1, 0x78, regd_imm, 0}, + + {"sub", 1, 0x80, regd_opr, 0}, + {"or", 1, 0x88, regd_opr, 0}, + + {"ld", 1, 0x90, regdxy_imm, 0}, + + {"clr", 1, 0x9a, clr_xy, 0}, + {"tfr", 1, 0x9e, tfr, 0}, + {"zex", 1, 0x9e, tfr, 0}, + + {"ld", 1, 0xa0, regdxy_opr, 0xb0}, + + {"jmp", 1, 0xaa, opr, 0xba}, + {"jsr", 1, 0xab, opr, 0xbb}, + + {"exg", 1, 0xae, tfr, 0}, + {"sex", 1, 0xae, tfr, 0}, + + {"st", 1, 0xc0, regdxy_opr, 0xd0}, + + {"andcc", 1, 0xce, imm8, 0}, + {"orcc", 1, 0xde, imm8, 0}, + + {"inc.b", 1, 0x9c, opr, 0}, + {"inc.w", 1, 0x9d, opr, 0}, + {"inc.l", 1, 0x9f, opr, 0}, + + {"dec.b", 1, 0xac, opr, 0}, + {"dec.w", 1, 0xad, opr, 0}, + {"dec.l", 1, 0xaf, opr, 0}, + + {"clr.b", 1, 0xbc, opr, 0}, + {"clr.w", 1, 0xbd, opr, 0}, + {"clr.p", 1, 0xbe, opr, 0}, + {"clr.l", 1, 0xbf, opr, 0}, + + {"com.b", 1, 0xcc, opr, 0}, + {"com.w", 1, 0xcd, opr, 0}, + {"com.l", 1, 0xcf, opr, 0}, + + {"neg.b", 1, 0xdc, opr, 0}, + {"neg.w", 1, 0xdd, opr, 0}, + {"neg.l", 1, 0xdf, opr, 0}, + + {"bclr", 1, 0xec, bm_regd_imm, 0}, + {"bset", 1, 0xed, bm_regd_imm, 0}, + {"btgl", 1, 0xee, bm_regd_imm, 0}, + + {"bclr", 1, 0xec, bm_regd_reg, 0}, + {"bset", 1, 0xed, bm_regd_reg, 0}, + {"btgl", 1, 0xee, bm_regd_reg, 0}, + + {"bclr.b", 1, 0xec, bm_opr_imm, 0}, + {"bclr.w", 1, 0xec, bm_opr_imm, 0}, + {"bclr.l", 1, 0xec, bm_opr_imm, 0}, + + {"bset.b", 1, 0xed, bm_opr_imm, 0}, + {"bset.w", 1, 0xed, bm_opr_imm, 0}, + {"bset.l", 1, 0xed, bm_opr_imm, 0}, + + {"btgl.b", 1, 0xee, bm_opr_imm, 0}, + {"btgl.w", 1, 0xee, bm_opr_imm, 0}, + {"btgl.l", 1, 0xee, bm_opr_imm, 0}, + + {"bclr.b", 1, 0xec, bm_opr_reg, 0}, + {"bclr.w", 1, 0xec, bm_opr_reg, 0}, + {"bclr.l", 1, 0xec, bm_opr_reg, 0}, + + {"bset.b", 1, 0xed, bm_opr_reg, 0}, + {"bset.w", 1, 0xed, bm_opr_reg, 0}, + {"bset.l", 1, 0xed, bm_opr_reg, 0}, + + {"btgl.b", 1, 0xee, bm_opr_reg, 0}, + {"btgl.w", 1, 0xee, bm_opr_reg, 0}, + {"btgl.l", 1, 0xee, bm_opr_reg, 0}, + + {"cmp", 1, 0xe0, regdxy_imm, 0}, + {"cmp", 1, 0xf0, regdxy_opr, 0}, + + {"cmp", 1, 0xfc, regx_regy, 0}, + {"sub", 1, 0xfd, regd6_regx_regy, 0}, + {"sub", 1, 0xfe, regd6_regy_regx, 0}, + + {"swi", 1, 0xff, no_operands, 0}, + + /* Page 2 */ + + /* The -10 below is a kludge. The opcode is in fact 0x00 */ + {"ld", 2, -10, regs_opr, 0}, + + /* The -9 below is a kludge. The opcode is in fact 0x01 */ + {"st", 2, -9, regs_opr, 0}, + + /* The -8 below is a kludge. The opcode is in fact 0x02 */ + {"cmp", 2, -8, regs_opr, 0}, + + /* The -7 below is a kludge. The opcode is in fact 0x03 */ + {"ld", 2, -7, regs_imm, 0}, + + /* The -6 below is a kludge. The opcode is in fact 0x04 */ + {"cmp", 2, -6, regs_imm, 0}, + + {"bfext", 2, 0x08, bfe_reg_reg_reg, 0}, + {"bfext", 2, 0x08, bfe_reg_reg_imm, 0}, + {"bfext.b", 2, 0x08, bfe_reg_opr_reg, 0}, + {"bfext.w", 2, 0x08, bfe_reg_opr_reg, 0}, + {"bfext.p", 2, 0x08, bfe_reg_opr_reg, 0}, + {"bfext.l", 2, 0x08, bfe_reg_opr_reg, 0}, + {"bfext.b", 2, 0x08, bfe_opr_reg_reg, 0}, + {"bfext.w", 2, 0x08, bfe_opr_reg_reg, 0}, + {"bfext.p", 2, 0x08, bfe_opr_reg_reg, 0}, + {"bfext.l", 2, 0x08, bfe_opr_reg_reg, 0}, + {"bfext.b", 2, 0x08, bfe_reg_opr_imm, 0}, + {"bfext.w", 2, 0x08, bfe_reg_opr_imm, 0}, + {"bfext.p", 2, 0x08, bfe_reg_opr_imm, 0}, + {"bfext.l", 2, 0x08, bfe_reg_opr_imm, 0}, + {"bfext.b", 2, 0x08, bfe_opr_reg_imm, 0}, + {"bfext.w", 2, 0x08, bfe_opr_reg_imm, 0}, + {"bfext.p", 2, 0x08, bfe_opr_reg_imm, 0}, + {"bfext.l", 2, 0x08, bfe_opr_reg_imm, 0}, + + + {"bfins", 2, 0x08, bfi_reg_reg_reg, 0}, + {"bfins", 2, 0x08, bfi_reg_reg_imm, 0}, + {"bfins.b", 2, 0x08, bfi_reg_opr_reg, 0}, + {"bfins.w", 2, 0x08, bfi_reg_opr_reg, 0}, + {"bfins.p", 2, 0x08, bfi_reg_opr_reg, 0}, + {"bfins.l", 2, 0x08, bfi_reg_opr_reg, 0}, + {"bfins.b", 2, 0x08, bfi_opr_reg_reg, 0}, + {"bfins.w", 2, 0x08, bfi_opr_reg_reg, 0}, + {"bfins.p", 2, 0x08, bfi_opr_reg_reg, 0}, + {"bfins.l", 2, 0x08, bfi_opr_reg_reg, 0}, + {"bfins.b", 2, 0x08, bfi_reg_opr_imm, 0}, + {"bfins.w", 2, 0x08, bfi_reg_opr_imm, 0}, + {"bfins.p", 2, 0x08, bfi_reg_opr_imm, 0}, + {"bfins.l", 2, 0x08, bfi_reg_opr_imm, 0}, + {"bfins.b", 2, 0x08, bfi_opr_reg_imm, 0}, + {"bfins.w", 2, 0x08, bfi_opr_reg_imm, 0}, + {"bfins.p", 2, 0x08, bfi_opr_reg_imm, 0}, + {"bfins.l", 2, 0x08, bfi_opr_reg_imm, 0}, + + + {"minu", 2, 0x10, regd_opr, 0}, + {"maxu", 2, 0x18, regd_opr, 0}, + {"mins", 2, 0x20, regd_opr, 0}, + {"maxs", 2, 0x28, regd_opr, 0}, + + {"clb", 2, 0x91, tfr, 0}, + + {"trap", 2, 0x00, trap_imm, 0}, + {"abs", 2, 0x40, reg_inh, 0}, + {"sat", 2, 0xa0, reg_inh, 0}, + + {"rti", 2, 0x90, no_operands, 0}, + {"stop", 2, 0x05, no_operands, 0}, + {"wai", 2, 0x06, no_operands, 0}, + {"sys", 2, 0x07, no_operands, 0}, + + {"bit", 2, 0x58, regd_imm, 0}, + {"bit", 2, 0x68, regd_opr, 0}, + + {"adc", 2, 0x50, regd_imm, 0}, + {"adc", 2, 0x60, regd_opr, 0}, + + {"sbc", 2, 0x70, regd_imm, 0}, + {"eor", 2, 0x78, regd_imm, 0}, + + {"sbc", 2, 0x80, regd_opr, 0}, + {"eor", 2, 0x88, regd_opr, 0}, + + {"divs", 2, 0x30, mul_reg_reg_reg, 0}, + {"divu", 2, 0x30, mul_reg_reg_reg, 0}, + + {"divs.b", 2, 0x30, mul_reg_reg_opr, 0}, + {"divs.w", 2, 0x30, mul_reg_reg_opr, 0}, + {"divs.l", 2, 0x30, mul_reg_reg_opr, 0}, + + {"divu.b", 2, 0x30, mul_reg_reg_opr, 0}, + {"divu.w", 2, 0x30, mul_reg_reg_opr, 0}, + {"divu.l", 2, 0x30, mul_reg_reg_opr, 0}, + + {"divs.b", 2, 0x30, mul_reg_reg_imm, 0}, + {"divs.w", 2, 0x30, mul_reg_reg_imm, 0}, + {"divs.l", 2, 0x30, mul_reg_reg_imm, 0}, + + {"divu.b", 2, 0x30, mul_reg_reg_imm, 0}, + {"divu.w", 2, 0x30, mul_reg_reg_imm, 0}, + {"divu.l", 2, 0x30, mul_reg_reg_imm, 0}, + + {"divs.bb", 2, 0x30, mul_reg_opr_opr, 0}, + {"divs.bw", 2, 0x30, mul_reg_opr_opr, 0}, + {"divs.bp", 2, 0x30, mul_reg_opr_opr, 0}, + {"divs.bl", 2, 0x30, mul_reg_opr_opr, 0}, + + {"divs.wb", 2, 0x30, mul_reg_opr_opr, 0}, + {"divs.ww", 2, 0x30, mul_reg_opr_opr, 0}, + {"divs.wp", 2, 0x30, mul_reg_opr_opr, 0}, + {"divs.wl", 2, 0x30, mul_reg_opr_opr, 0}, + + {"divs.pb", 2, 0x30, mul_reg_opr_opr, 0}, + {"divs.pw", 2, 0x30, mul_reg_opr_opr, 0}, + {"divs.pp", 2, 0x30, mul_reg_opr_opr, 0}, + {"divs.pl", 2, 0x30, mul_reg_opr_opr, 0}, + + {"divs.lb", 2, 0x30, mul_reg_opr_opr, 0}, + {"divs.lw", 2, 0x30, mul_reg_opr_opr, 0}, + {"divs.lp", 2, 0x30, mul_reg_opr_opr, 0}, + {"divs.ll", 2, 0x30, mul_reg_opr_opr, 0}, + + {"divu.bb", 2, 0x30, mul_reg_opr_opr, 0}, + {"divu.bw", 2, 0x30, mul_reg_opr_opr, 0}, + {"divu.bp", 2, 0x30, mul_reg_opr_opr, 0}, + {"divu.bl", 2, 0x30, mul_reg_opr_opr, 0}, + + {"divu.wb", 2, 0x30, mul_reg_opr_opr, 0}, + {"divu.ww", 2, 0x30, mul_reg_opr_opr, 0}, + {"divu.wp", 2, 0x30, mul_reg_opr_opr, 0}, + {"divu.wl", 2, 0x30, mul_reg_opr_opr, 0}, + + {"divu.pb", 2, 0x30, mul_reg_opr_opr, 0}, + {"divu.pw", 2, 0x30, mul_reg_opr_opr, 0}, + {"divu.pp", 2, 0x30, mul_reg_opr_opr, 0}, + {"divu.pl", 2, 0x30, mul_reg_opr_opr, 0}, + + {"divu.lb", 2, 0x30, mul_reg_opr_opr, 0}, + {"divu.lw", 2, 0x30, mul_reg_opr_opr, 0}, + {"divu.lp", 2, 0x30, mul_reg_opr_opr, 0}, + {"divu.ll", 2, 0x30, mul_reg_opr_opr, 0}, + + // + + {"qmuls", 2, 0xb0, mul_reg_reg_reg, 0}, + {"qmulu", 2, 0xb0, mul_reg_reg_reg, 0}, + + {"qmuls.b", 2, 0xb0, mul_reg_reg_opr, 0}, + {"qmuls.w", 2, 0xb0, mul_reg_reg_opr, 0}, + {"qmuls.l", 2, 0xb0, mul_reg_reg_opr, 0}, + + {"qmulu.b", 2, 0xb0, mul_reg_reg_opr, 0}, + {"qmulu.w", 2, 0xb0, mul_reg_reg_opr, 0}, + {"qmulu.l", 2, 0xb0, mul_reg_reg_opr, 0}, + + {"qmuls.b", 2, 0xb0, mul_reg_reg_imm, 0}, + {"qmuls.w", 2, 0xb0, mul_reg_reg_imm, 0}, + {"qmuls.l", 2, 0xb0, mul_reg_reg_imm, 0}, + + {"qmulu.b", 2, 0xb0, mul_reg_reg_imm, 0}, + {"qmulu.w", 2, 0xb0, mul_reg_reg_imm, 0}, + {"qmulu.l", 2, 0xb0, mul_reg_reg_imm, 0}, + + {"qmuls.bb", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmuls.bw", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmuls.bp", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmuls.bl", 2, 0xb0, mul_reg_opr_opr, 0}, + + {"qmuls.wb", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmuls.ww", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmuls.wp", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmuls.wl", 2, 0xb0, mul_reg_opr_opr, 0}, + + {"qmuls.pb", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmuls.pw", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmuls.pp", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmuls.pl", 2, 0xb0, mul_reg_opr_opr, 0}, + + {"qmuls.lb", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmuls.lw", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmuls.lp", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmuls.ll", 2, 0xb0, mul_reg_opr_opr, 0}, + + {"qmulu.bb", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmulu.bw", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmulu.bp", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmulu.bl", 2, 0xb0, mul_reg_opr_opr, 0}, + + {"qmulu.wb", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmulu.ww", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmulu.wp", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmulu.wl", 2, 0xb0, mul_reg_opr_opr, 0}, + + {"qmulu.pb", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmulu.pw", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmulu.pp", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmulu.pl", 2, 0xb0, mul_reg_opr_opr, 0}, + + {"qmulu.lb", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmulu.lw", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmulu.lp", 2, 0xb0, mul_reg_opr_opr, 0}, + {"qmulu.ll", 2, 0xb0, mul_reg_opr_opr, 0}, + + + // + + {"macs", 2, 0x48, mul_reg_reg_reg, 0}, + {"macu", 2, 0x48, mul_reg_reg_reg, 0}, + + {"macs.b", 2, 0x48, mul_reg_reg_opr, 0}, + {"macs.w", 2, 0x48, mul_reg_reg_opr, 0}, + {"macs.l", 2, 0x48, mul_reg_reg_opr, 0}, + + {"macu.b", 2, 0x48, mul_reg_reg_opr, 0}, + {"macu.w", 2, 0x48, mul_reg_reg_opr, 0}, + {"macu.l", 2, 0x48, mul_reg_reg_opr, 0}, + + {"macs.b", 2, 0x48, mul_reg_reg_imm, 0}, + {"macs.w", 2, 0x48, mul_reg_reg_imm, 0}, + {"macs.l", 2, 0x48, mul_reg_reg_imm, 0}, + + {"macu.b", 2, 0x48, mul_reg_reg_imm, 0}, + {"macu.w", 2, 0x48, mul_reg_reg_imm, 0}, + {"macu.l", 2, 0x48, mul_reg_reg_imm, 0}, + + {"macs.bb", 2, 0x48, mul_reg_opr_opr, 0}, + {"macs.bw", 2, 0x48, mul_reg_opr_opr, 0}, + {"macs.bp", 2, 0x48, mul_reg_opr_opr, 0}, + {"macs.bl", 2, 0x48, mul_reg_opr_opr, 0}, + + {"macs.wb", 2, 0x48, mul_reg_opr_opr, 0}, + {"macs.ww", 2, 0x48, mul_reg_opr_opr, 0}, + {"macs.wp", 2, 0x48, mul_reg_opr_opr, 0}, + {"macs.wl", 2, 0x48, mul_reg_opr_opr, 0}, + + {"macs.pb", 2, 0x48, mul_reg_opr_opr, 0}, + {"macs.pw", 2, 0x48, mul_reg_opr_opr, 0}, + {"macs.pp", 2, 0x48, mul_reg_opr_opr, 0}, + {"macs.pl", 2, 0x48, mul_reg_opr_opr, 0}, + + {"macs.lb", 2, 0x48, mul_reg_opr_opr, 0}, + {"macs.lw", 2, 0x48, mul_reg_opr_opr, 0}, + {"macs.lp", 2, 0x48, mul_reg_opr_opr, 0}, + {"macs.ll", 2, 0x48, mul_reg_opr_opr, 0}, + + {"macu.bb", 2, 0x48, mul_reg_opr_opr, 0}, + {"macu.bw", 2, 0x48, mul_reg_opr_opr, 0}, + {"macu.bp", 2, 0x48, mul_reg_opr_opr, 0}, + {"macu.bl", 2, 0x48, mul_reg_opr_opr, 0}, + + {"macu.wb", 2, 0x48, mul_reg_opr_opr, 0}, + {"macu.ww", 2, 0x48, mul_reg_opr_opr, 0}, + {"macu.wp", 2, 0x48, mul_reg_opr_opr, 0}, + {"macu.wl", 2, 0x48, mul_reg_opr_opr, 0}, + + {"macu.pb", 2, 0x48, mul_reg_opr_opr, 0}, + {"macu.pw", 2, 0x48, mul_reg_opr_opr, 0}, + {"macu.pp", 2, 0x48, mul_reg_opr_opr, 0}, + {"macu.pl", 2, 0x48, mul_reg_opr_opr, 0}, + + {"macu.lb", 2, 0x48, mul_reg_opr_opr, 0}, + {"macu.lw", 2, 0x48, mul_reg_opr_opr, 0}, + {"macu.lp", 2, 0x48, mul_reg_opr_opr, 0}, + {"macu.ll", 2, 0x48, mul_reg_opr_opr, 0}, + + + // + + {"mods", 2, 0x38, mul_reg_reg_reg, 0}, + {"modu", 2, 0x38, mul_reg_reg_reg, 0}, + + {"mods.b", 2, 0x38, mul_reg_reg_opr, 0}, + {"mods.w", 2, 0x38, mul_reg_reg_opr, 0}, + {"mods.l", 2, 0x38, mul_reg_reg_opr, 0}, + + {"modu.b", 2, 0x38, mul_reg_reg_opr, 0}, + {"modu.w", 2, 0x38, mul_reg_reg_opr, 0}, + {"modu.l", 2, 0x38, mul_reg_reg_opr, 0}, + + {"mods.b", 2, 0x38, mul_reg_reg_imm, 0}, + {"mods.w", 2, 0x38, mul_reg_reg_imm, 0}, + {"mods.l", 2, 0x38, mul_reg_reg_imm, 0}, + + {"modu.b", 2, 0x38, mul_reg_reg_imm, 0}, + {"modu.w", 2, 0x38, mul_reg_reg_imm, 0}, + {"modu.l", 2, 0x38, mul_reg_reg_imm, 0}, + + {"mods.bb", 2, 0x38, mul_reg_opr_opr, 0}, + {"mods.bw", 2, 0x38, mul_reg_opr_opr, 0}, + {"mods.bp", 2, 0x38, mul_reg_opr_opr, 0}, + {"mods.bl", 2, 0x38, mul_reg_opr_opr, 0}, + + {"mods.wb", 2, 0x38, mul_reg_opr_opr, 0}, + {"mods.ww", 2, 0x38, mul_reg_opr_opr, 0}, + {"mods.wp", 2, 0x38, mul_reg_opr_opr, 0}, + {"mods.wl", 2, 0x38, mul_reg_opr_opr, 0}, + + {"mods.pb", 2, 0x38, mul_reg_opr_opr, 0}, + {"mods.pw", 2, 0x38, mul_reg_opr_opr, 0}, + {"mods.pp", 2, 0x38, mul_reg_opr_opr, 0}, + {"mods.pl", 2, 0x38, mul_reg_opr_opr, 0}, + + {"mods.lb", 2, 0x38, mul_reg_opr_opr, 0}, + {"mods.lw", 2, 0x38, mul_reg_opr_opr, 0}, + {"mods.lp", 2, 0x38, mul_reg_opr_opr, 0}, + {"mods.ll", 2, 0x38, mul_reg_opr_opr, 0}, + + {"modu.bb", 2, 0x38, mul_reg_opr_opr, 0}, + {"modu.bw", 2, 0x38, mul_reg_opr_opr, 0}, + {"modu.bp", 2, 0x38, mul_reg_opr_opr, 0}, + {"modu.bl", 2, 0x38, mul_reg_opr_opr, 0}, + + {"modu.wb", 2, 0x38, mul_reg_opr_opr, 0}, + {"modu.ww", 2, 0x38, mul_reg_opr_opr, 0}, + {"modu.wp", 2, 0x38, mul_reg_opr_opr, 0}, + {"modu.wl", 2, 0x38, mul_reg_opr_opr, 0}, + + {"modu.pb", 2, 0x38, mul_reg_opr_opr, 0}, + {"modu.pw", 2, 0x38, mul_reg_opr_opr, 0}, + {"modu.pp", 2, 0x38, mul_reg_opr_opr, 0}, + {"modu.pl", 2, 0x38, mul_reg_opr_opr, 0}, + + {"modu.lb", 2, 0x38, mul_reg_opr_opr, 0}, + {"modu.lw", 2, 0x38, mul_reg_opr_opr, 0}, + {"modu.lp", 2, 0x38, mul_reg_opr_opr, 0}, + {"modu.ll", 2, 0x38, mul_reg_opr_opr, 0} +}; + + +/* Gas line assembler entry point. */ + +/* This is the main entry point for the machine-dependent assembler. str + points to a machine-dependent instruction. This function is supposed to + emit the frags/bytes it assembles to. */ +void +md_assemble (char *str) +{ + char *op_start; + char *op_end; + char name[20]; + size_t nlen = 0; + + fail_line_pointer = NULL; + + /* Find the opcode end and get the opcode in 'name'. The opcode is forced + lower case (the opcode table only has lower case op-codes). */ + for (op_start = op_end = str; + *op_end && !is_end_of_line[(int)*op_end] && *op_end != ' '; + op_end++) + { + name[nlen] = TOLOWER (op_start[nlen]); + nlen++; + gas_assert (nlen < sizeof (name) - 1); + } + name[nlen] = 0; + + if (nlen == 0) + { + as_bad (_("No instruction or missing opcode.")); + return; + } + + input_line_pointer = skip_whites (op_end); + + size_t i; + for (i = 0; i < sizeof (opcodes) / sizeof (opcodes[0]); ++i) + { + const struct instruction *opc = opcodes + i; + if (0 == strcmp (name, opc->name)) + { + if (opc->parse_operands (opc)) + return; + continue; + } + } + + as_bad (_("Invalid instruction: \"%s\""), str); + as_bad (_("First invalid token: \"%s\""), fail_line_pointer); + while (*input_line_pointer++) + ; +} + + + + + +/* Relocation, relaxation and frag conversions. */ + +/* PC-relative offsets are relative to the start of the + next instruction. That is, the address of the offset, plus its + size, since the offset is always the last part of the insn. */ +long +md_pcrel_from (fixS *fixP) +{ + long ret = fixP->fx_size + fixP->fx_frag->fr_address; + if (fixP->fx_addsy && S_IS_DEFINED (fixP->fx_addsy)) + ret += fixP->fx_where; + + return ret; +} + + +/* We need a port-specific relaxation function to cope with sym2 - sym1 + relative expressions with both symbols in the same segment (but not + necessarily in the same frag as this insn), for example: + ldab sym2-(sym1-2),pc + sym1: + The offset can be 5, 9 or 16 bits long. */ + +long +s12z_relax_frag (segT seg ATTRIBUTE_UNUSED, fragS *fragP ATTRIBUTE_UNUSED, + long stretch ATTRIBUTE_UNUSED) +{ + return 0; +} + +void +md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, asection *sec ATTRIBUTE_UNUSED, + fragS *fragP ATTRIBUTE_UNUSED) +{ +} + +/* On an ELF system, we can't relax a weak symbol. The weak symbol + can be overridden at final link time by a non weak symbol. We can + relax externally visible symbol because there is no shared library + and such symbol can't be overridden (unless they are weak). */ + +/* Force truly undefined symbols to their maximum size, and generally set up + the frag list to be relaxed. */ +int +md_estimate_size_before_relax (fragS *fragP ATTRIBUTE_UNUSED, asection *segment ATTRIBUTE_UNUSED) +{ + return 0; +} + + +/* If while processing a fixup, a reloc really needs to be created + then it is done here. */ +arelent * +tc_gen_reloc (asection *section, fixS *fixp) +{ + arelent *reloc = XNEW (arelent); + reloc->sym_ptr_ptr = XNEW (asymbol *); + *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy); + reloc->address = fixp->fx_frag->fr_address + fixp->fx_where; + reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type); + if (reloc->howto == (reloc_howto_type *) NULL) + { + as_bad_where (fixp->fx_file, fixp->fx_line, + _("Relocation %d is not supported by object file format."), + (int) fixp->fx_r_type); + return NULL; + } + + if (0 == (section->flags & SEC_CODE)) + reloc->addend = fixp->fx_offset; + else + reloc->addend = fixp->fx_addnumber; + + return reloc; +} + +/* See whether we need to force a relocation into the output file. */ +int +tc_s12z_force_relocation (fixS *fixP) +{ + return generic_force_reloc (fixP); +} + +/* Here we decide which fixups can be adjusted to make them relative + to the beginning of the section instead of the symbol. Basically + we need to make sure that the linker relaxation is done + correctly, so in some cases we force the original symbol to be + used. */ +int +tc_s12z_fix_adjustable (fixS *fixP ATTRIBUTE_UNUSED) +{ + return 1; +} + +void +md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) +{ + long value = *valP; + + if (fixP->fx_addsy == (symbolS *) NULL) + fixP->fx_done = 1; + + /* We don't actually support subtracting a symbol. */ + if (fixP->fx_subsy != (symbolS *) NULL) + as_bad_where (fixP->fx_file, fixP->fx_line, _("Expression too complex.")); + + /* + Patch the instruction with the resolved operand. Elf relocation + info will also be generated to take care of linker/loader fixups. + */ + char *where = fixP->fx_frag->fr_literal + fixP->fx_where; + + switch (fixP->fx_r_type) + { + case BFD_RELOC_8: + ((bfd_byte *) where)[0] = (bfd_byte) value; + break; + case BFD_RELOC_24: + bfd_putb24 ((bfd_vma) value, (unsigned char *) where); + break; + case BFD_RELOC_32: + bfd_putb32 ((bfd_vma) value, (unsigned char *) where); + break; + case BFD_RELOC_16_PCREL: + if (value < -0x8000 || value > 0x7FFF) + as_bad_where (fixP->fx_file, fixP->fx_line, + _("Value out of 16-bit range.")); + + bfd_putb16 ((bfd_vma) value | 0x8000, (unsigned char *) where); + break; + + default: + as_fatal (_("Line %d: unknown relocation type: 0x%x."), + fixP->fx_line, fixP->fx_r_type); + } +} + +/* Set the ELF specific flags. */ +void +s12z_elf_final_processing (void) +{ +} diff -Nru binutils-2.30.51.20180512/gas/config/tc-s12z.h binutils-2.30.52.20180613/gas/config/tc-s12z.h --- binutils-2.30.51.20180512/gas/config/tc-s12z.h 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/config/tc-s12z.h 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,105 @@ +/* tc-s12z.h -- Header file for tc-s12z.c. + Copyright (C) 1999-2018 Free Software Foundation, Inc. + + This file is part of GAS, the GNU Assembler. + + GAS is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, 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, 51 Franklin Street - Fifth Floor, Boston, MA + 02110-1301, USA. */ + +struct fix; + +/* Define TC_M68K so that we can use the MRI mode. */ +#define TC_M68K + +#define TARGET_BYTES_BIG_ENDIAN 1 + +/* Motorola assembler specs does not require '.' before pseudo-ops. */ +#define NO_PSEUDO_DOT 1 + +/* The target BFD architecture. */ +#define TARGET_ARCH (s12z_arch ()) +extern enum bfd_architecture s12z_arch (void); + +#define TARGET_MACH (s12z_mach ()) +extern int s12z_mach (void); + +#define TARGET_FORMAT (s12z_arch_format ()) +extern const char *s12z_arch_format (void); + +#define LISTING_WORD_SIZE 1 /* A word is 1 bytes */ +#define LISTING_LHS_WIDTH 4 /* One word on the first line */ +#define LISTING_LHS_WIDTH_SECOND 4 /* One word on the second line */ +#define LISTING_LHS_CONT_LINES 4 /* And 4 lines max */ +#define LISTING_HEADER s12z_listing_header () +extern const char *s12z_listing_header (void); + +/* Permit temporary numeric labels. */ +#define LOCAL_LABELS_FB 1 + +#define tc_init_after_args s12z_init_after_args +extern void s12z_init_after_args (void); + +#define md_parse_long_option s12z_parse_long_option +extern int s12z_parse_long_option (char *); + +#define DWARF2_LINE_MIN_INSN_LENGTH 1 + +/* Use 32-bit address to represent a symbol address so that we can + represent them with their page number. */ +#define DWARF2_ADDR_SIZE(bfd) 4 + +/* We don't need to handle .word strangely. */ +#define WORKING_DOT_WORD + +#define md_number_to_chars number_to_chars_bigendian + +/* Relax table to translate short relative branches (-128..127) into + absolute branches. */ +#define TC_GENERIC_RELAX_TABLE md_relax_table +extern struct relax_type md_relax_table[]; + +/* GAS only handles relaxations for pc-relative data targeting addresses + in the same segment, so we have to handle the rest on our own. */ +#define md_relax_frag(SEG, FRAGP, STRETCH) \ + ((FRAGP)->fr_symbol != NULL \ + && S_GET_SEGMENT ((FRAGP)->fr_symbol) == (SEG) \ + ? relax_frag (SEG, FRAGP, STRETCH) \ + : s12z_relax_frag (SEG, FRAGP, STRETCH)) +extern long s12z_relax_frag (segT, fragS*, long); + +#define TC_HANDLES_FX_DONE + +#define DIFF_EXPR_OK /* .-foo gets turned into PC relative relocs */ + +/* Values passed to md_apply_fix don't include the symbol value. */ +#define MD_APPLY_SYM_VALUE(FIX) 0 + +/* No shared lib support, so we don't need to ensure externally + visible symbols can be overridden. */ +#define EXTERN_FORCE_RELOC 0 + +#define TC_FORCE_RELOCATION(fix) tc_s12z_force_relocation (fix) +extern int tc_s12z_force_relocation (struct fix *); + +#define tc_fix_adjustable(X) tc_s12z_fix_adjustable(X) +extern int tc_s12z_fix_adjustable (struct fix *); + +#define md_operand(x) + +#define elf_tc_final_processing s12z_elf_final_processing +extern void s12z_elf_final_processing (void); + +#define tc_print_statistics(FILE) s12z_print_statistics (FILE) +extern void s12z_print_statistics (FILE *); diff -Nru binutils-2.30.51.20180512/gas/config/tc-xtensa.c binutils-2.30.52.20180613/gas/config/tc-xtensa.c --- binutils-2.30.51.20180512/gas/config/tc-xtensa.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/gas/config/tc-xtensa.c 2018-06-04 21:27:35.000000000 +0200 @@ -637,6 +637,9 @@ static bfd_boolean workaround_all_short_loops = FALSE; +/* Generate individual property section for every section. + This option is defined in BDF library. */ +extern bfd_boolean elf32xtensa_separate_props; static void xtensa_setup_hw_workarounds (int earliest, int latest) @@ -722,6 +725,9 @@ option_auto_litpools, option_no_auto_litpools, option_auto_litpool_limit, + + option_separate_props, + option_no_separate_props, }; const char *md_shortopts = ""; @@ -801,6 +807,8 @@ { "no-auto-litpools", no_argument, NULL, option_no_auto_litpools }, { "auto-litpool-limit", required_argument, NULL, option_auto_litpool_limit }, + { "separate-prop-tables", no_argument, NULL, option_separate_props }, + { NULL, no_argument, NULL, 0 } }; @@ -1021,6 +1029,14 @@ return 1; } + case option_separate_props: + elf32xtensa_separate_props = TRUE; + return 1; + + case option_no_separate_props: + elf32xtensa_separate_props = FALSE; + return 1; + default: return 0; } @@ -1051,7 +1067,11 @@ --auto-litpool-limit=\n\ (range 100-10000) Maximum number of blocks of\n\ instructions to emit between literal pool\n\ - locations; implies --auto-litpools flag\n", stream); + locations; implies --auto-litpools flag\n\ + --[no-]separate-prop-tables\n\ + [Do not] place Xtensa property records into\n\ + individual property sections for each section.\n\ + Default is to generate single property section.\n", stream); } diff -Nru binutils-2.30.51.20180512/gas/configure binutils-2.30.52.20180613/gas/configure --- binutils-2.30.51.20180512/gas/configure 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/gas/configure 2018-06-04 21:27:35.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for gas 2.30.51. +# Generated by GNU Autoconf 2.64 for gas 2.30.52. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software @@ -556,8 +556,8 @@ # Identity of this package. PACKAGE_NAME='gas' PACKAGE_TARNAME='gas' -PACKAGE_VERSION='2.30.51' -PACKAGE_STRING='gas 2.30.51' +PACKAGE_VERSION='2.30.52' +PACKAGE_STRING='gas 2.30.52' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1331,7 +1331,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures gas 2.30.51 to adapt to many kinds of systems. +\`configure' configures gas 2.30.52 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1402,7 +1402,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of gas 2.30.51:";; + short | recursive ) echo "Configuration of gas 2.30.52:";; esac cat <<\_ACEOF @@ -1527,7 +1527,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -gas configure 2.30.51 +gas configure 2.30.52 generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -1937,7 +1937,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by gas $as_me 2.30.51, which was +It was created by gas $as_me 2.30.52, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -3746,7 +3746,7 @@ # Define the identity of the package. PACKAGE='gas' - VERSION='2.30.51' + VERSION='2.30.52' cat >>confdefs.h <<_ACEOF @@ -15220,7 +15220,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by gas $as_me 2.30.51, which was +This file was extended by gas $as_me 2.30.52, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15284,7 +15284,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -gas config.status 2.30.51 +gas config.status 2.30.52 configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff -Nru binutils-2.30.51.20180512/gas/configure.tgt binutils-2.30.52.20180613/gas/configure.tgt --- binutils-2.30.51.20180512/gas/configure.tgt 2018-04-25 13:58:28.000000000 +0200 +++ binutils-2.30.52.20180613/gas/configure.tgt 2018-06-04 21:27:35.000000000 +0200 @@ -75,6 +75,7 @@ m680[012346]0) cpu_type=m68k ;; m6811|m6812|m68hc12) cpu_type=m68hc11 ;; m683??) cpu_type=m68k ;; + s12z) cpu_type=s12z ;; mep) cpu_type=mep endian=little ;; microblazeel*) cpu_type=microblaze endian=little;; microblaze*) cpu_type=microblaze endian=big;; @@ -285,6 +286,8 @@ m68k-*-gnu*) fmt=elf ;; m68k-*-netbsdelf*) fmt=elf em=nbsd ;; + s12z-*-*) fmt=elf ;; + mep-*-elf) fmt=elf ;; metag-*-elf) fmt=elf ;; diff -Nru binutils-2.30.51.20180512/gas/doc/all.texi binutils-2.30.52.20180613/gas/doc/all.texi --- binutils-2.30.51.20180512/gas/doc/all.texi 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/gas/doc/all.texi 2018-06-04 21:27:35.000000000 +0200 @@ -46,6 +46,7 @@ @set M32R @set xc16x @set M68HC11 +@set S12Z @set M680X0 @set MCORE @set METAG diff -Nru binutils-2.30.51.20180512/gas/doc/as.texinfo binutils-2.30.52.20180613/gas/doc/as.texinfo --- binutils-2.30.51.20180512/gas/doc/as.texinfo 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/gas/doc/as.texinfo 2018-06-04 21:27:35.000000000 +0200 @@ -7565,6 +7565,9 @@ @ifset M68HC11 * M68HC11-Dependent:: M68HC11 and 68HC12 Dependent Features @end ifset +@ifset S12Z +* S12Z-Dependent:: S12Z Dependent Features +@end ifset @ifset METAG * Meta-Dependent :: Meta Dependent Features @end ifset @@ -7776,6 +7779,10 @@ @include c-m68hc11.texi @end ifset +@ifset S12Z +@include c-s12z.texi +@end ifset + @ifset METAG @include c-metag.texi @end ifset diff -Nru binutils-2.30.51.20180512/gas/doc/c-aarch64.texi binutils-2.30.52.20180613/gas/doc/c-aarch64.texi --- binutils-2.30.51.20180512/gas/doc/c-aarch64.texi 2018-01-05 03:08:29.000000000 +0100 +++ binutils-2.30.52.20180613/gas/doc/c-aarch64.texi 2018-06-13 10:31:38.000000000 +0200 @@ -62,6 +62,7 @@ @code{cortex-a72}, @code{cortex-a73}, @code{cortex-a75}, +@code{cortex-a76}, @code{exynos-m1}, @code{falkor}, @code{qdf24xx}, diff -Nru binutils-2.30.51.20180512/gas/doc/c-arm.texi binutils-2.30.52.20180613/gas/doc/c-arm.texi --- binutils-2.30.51.20180512/gas/doc/c-arm.texi 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/gas/doc/c-arm.texi 2018-06-13 10:31:38.000000000 +0200 @@ -128,6 +128,7 @@ @code{cortex-a72}, @code{cortex-a73}, @code{cortex-a75}, +@code{cortex-a76}, @code{cortex-r4}, @code{cortex-r4f}, @code{cortex-r5}, diff -Nru binutils-2.30.51.20180512/gas/doc/c-i386.texi binutils-2.30.52.20180613/gas/doc/c-i386.texi --- binutils-2.30.51.20180512/gas/doc/c-i386.texi 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/gas/doc/c-i386.texi 2018-06-04 21:27:35.000000000 +0200 @@ -123,6 +123,7 @@ @code{bdver3}, @code{bdver4}, @code{znver1}, +@code{znver2}, @code{btver1}, @code{btver2}, @code{generic32} and @@ -1258,8 +1259,8 @@ @item @samp{corei7} @tab @samp{l1om} @tab @samp{k1om} @samp{iamcu} @item @samp{k6} @tab @samp{k6_2} @tab @samp{athlon} @tab @samp{k8} @item @samp{amdfam10} @tab @samp{bdver1} @tab @samp{bdver2} @tab @samp{bdver3} -@item @samp{bdver4} @tab @samp{znver1} @tab @samp{btver1} @tab @samp{btver2} -@item @samp{generic32} @tab @samp{generic64} +@item @samp{bdver4} @tab @samp{znver1} @tab @samp{znver2} @tab @samp{btver1} +@item @samp{btver2} @samp{generic32} @tab @samp{generic64} @item @samp{.mmx} @tab @samp{.sse} @tab @samp{.sse2} @tab @samp{.sse3} @item @samp{.ssse3} @tab @samp{.sse4.1} @tab @samp{.sse4.2} @tab @samp{.sse4} @item @samp{.avx} @tab @samp{.vmx} @tab @samp{.smx} @tab @samp{.ept} diff -Nru binutils-2.30.51.20180512/gas/doc/c-riscv.texi binutils-2.30.52.20180613/gas/doc/c-riscv.texi --- binutils-2.30.51.20180512/gas/doc/c-riscv.texi 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/gas/doc/c-riscv.texi 2018-06-04 21:27:35.000000000 +0200 @@ -46,7 +46,8 @@ Selects the ABI, which is either "ilp32" or "lp64", optionally followed by "f", "d", or "q" to indicate single-precision, double-precision, or quad-precision floating-point calling convention, or none to indicate -the soft-float calling convention. +the soft-float calling convention. Also, "ilp32" can optionally be followed +by "e" to indicate the RVE ABI, which is always soft-float. @cindex @samp{-mrelax} option, RISC-V @item -mrelax diff -Nru binutils-2.30.51.20180512/gas/doc/c-s12z.texi binutils-2.30.52.20180613/gas/doc/c-s12z.texi --- binutils-2.30.51.20180512/gas/doc/c-s12z.texi 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/doc/c-s12z.texi 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,212 @@ +@c Copyright (C) 2018 Free Software Foundation, Inc. +@c This is part of the GAS manual. +@c For copying conditions, see the file as.texinfo. +@ifset GENERIC +@page +@node S12Z-Dependent +@chapter S12Z Dependent Features +@end ifset +@ifclear GENERIC +@node Machine Dependencies +@chapter S12Z Dependent Features +@end ifclear + +The Freescale S12Z version of @code{@value{AS}} has a few machine +dependent features. + +@cindex S12Z support +@menu +* S12Z-Opts:: S12Z Options +* S12Z-Syntax:: Syntax +* S12Z-Directives:: Assembler Directives +* S12Z-opcodes:: Opcodes +@end menu + +@node S12Z-Opts +@section S12Z Options + +@cindex options, S12Z +@cindex S12Z options + +@node S12Z-Syntax +@section Syntax + +@cindex S12Z syntax +@cindex syntax, S12Z + +In the S12Z syntax, the instruction name comes first and it may +be followed by one or by several operands. +In most cases the maximum number of operands is three. +Some instructions accept and (in certain situations require) a suffix +indicating the size of the operand. +The suffix is separated from the instruction name by a period (@samp{.}) +and may be one of @samp{b}, @samp{w}, @samp{p} or @samp{l} indicating +`byte' (a single byte), `word' (2 bytes), `pointer' (3 bytes) or `long' (4 bytes) +respectively. +Operands are separated by a comma (@samp{,}). +A comma however does not act as a separator if it appears within parentheses +(@samp{()}) or within square brackets (@samp{[]}). +@code{@value{AS}} will complain if too many, too few or inappropriate operands +are specified for a given instruction. +The MRI mode is not supported for this architecture. +Example: + +@smallexample + bset.b 0xA98, #5 + mov.b #6, 0x2409 + ld d0, #4 + mov.l (d0, x), 0x2409 + inc d0 + cmp d0, #12 + blt *-4 + lea x, 0x2409 + st y, (1, x) +@end smallexample + +@cindex line comment character, S12Z +@cindex S12Z line comment character +The presence of a @samp{;} character anywhere +on a line indicates the start of a comment that extends to the end of +that line. + +A @samp{*} or a @samp{#} character at the start of a line also +introduces a line comment, but these characters do not work elsewhere +on the line. If the first character of the line is a @samp{#} then as +well as starting a comment, the line could also be logical line number +directive (@pxref{Comments}) or a preprocessor control command +(@pxref{Preprocessing}). + +@cindex line separator, S12Z +@cindex statement separator, S12Z +@cindex S12Z line separator +The S12Z assembler does not currently support a line separator +character. + +@cindex S12Z addressing modes +@cindex addressing modes, S12Z +The following addressing modes are understood for the S12Z. +@table @dfn +@item Immediate +@samp{#@var{number}} + +@item Immediate Bit Field +@samp{#@var{width}:@var{offset}} + +Bit field instructions in the immediate mode require the width and offset to +be specified. +The @var{width} pararmeter specifies the number of bits in the field. +It should be a number in the range [1,32]. +@var{Offset} determines the position within the field where the operation +should start. +It should be a number in the range [0,31]. + +@item Relative +@samp{*@var{symbol}}, or @samp{*[+-]@var{digits}} + +Program counter relative addresses have a width of 15 bits. +Thus, they must be within the range [-32768, 32767]. + +@item Register +@samp{@var{reg}} + +Some instructions accept a register as an operand. +In general, @var{reg} may be a data register (@samp{D0}, @samp{D1} @dots{} +@samp{D7}), the @var{X} register or the @var{Y} register. + +A few instructions accept as an argument the stack pointer +register (@samp{S}), and/or the program counter (@samp{P}). + +Some very special instructions accept arguments which refer to the +condition code register. For these arguments the syntax is +@samp{CCR}, @samp{CCH} or @samp{CCL} which refer to the complete condition code register, the condition code register high byte and the condition code register low byte respectively. + +@item Absolute Direct +@samp{@var{symbol}}, or @samp{@var{digits}} + +@item Absolute Indirect +@samp{[@var{symbol}}, or @samp{@var{digits}]} + + +@item Constant Offset Indexed +@samp{(@var{number},@var{reg})} + +@var{Reg} may be either @samp{X}, @samp{Y}, @samp{S} or +@samp{P} or one of the data registers @samp{D0}, @samp{D1} @dots{} +@samp{D7}. +If any of the registers @samp{D2} @dots{} @samp{D5} are specified, then the +register value is treated as a signed value. +Otherwise it is treated as unsigned. +@var{Number} may be any integer in the range [-8388608,8388607]. + +@item Offset Indexed Indirect +@samp{[@var{number},@var{reg}]} + +@var{Reg} may be either @samp{X}, @samp{Y}, @samp{S} or +@samp{P}. +@var{Number} may be any integer in the range [-8388608,8388607]. + +@item Auto Pre-Increment/Pre-Decrement/Post-Increment/Post-Decrement +@samp{-@var{reg}}, +@samp{+@var{reg}}, +@samp{@var{reg}-} or +@samp{@var{reg}+} + +This addressing mode is typically used to access a value at an address, +and simultaneously to increment/decrement the register pointing to that +address. +Thus @var{reg} may be any of the 24 bit registers @samp{X}, @samp{Y}, or +@samp{S}. +Pre-increment and post-decrement are not available for +register @samp{S} (only post-increment and pre-decrement are available). + +@item Register Offset Direct +@samp{(@var{data-reg},@var{reg})} + +@var{Reg} can be either @samp{X}, @samp{Y}, or @samp{S}. +@var{Data-reg} +must be one of the data registers @samp{D0}, @samp{D1} @dots{} @samp{D7}. +If any of the registers @samp{D2} @dots{} @samp{D5} are specified, then +the register value is treated as a signed value. +Otherwise it is treated as unsigned. + +@item Register Offset Indirect +@samp{[@var{data-reg},@var{reg}]} + +@var{Reg} can be either @samp{X} or @samp{Y}. +@var{Data-reg} +must be one of the data registers @samp{D0}, @samp{D1} @dots{} @samp{D7}. +If any of the registers @samp{D2} @dots{} @samp{D5} are specified, then +the register value is treated as a signed value. +Otherwise it is treated as unsigned. + + +@end table + +For example: + +@smallexample + trap #197 + bra *+49 + bra .L0 + jmp 0xFE0034 + jmp [0xFD0012] + inc.b (4,x) + dec.w [4,y] + clr.p (-s) + neg.l (d0, s) + com.b [d1, x] + jsr (45, d0) + psh cch +@end smallexample + +@node S12Z-Directives +@section Assembler Directives + +@cindex assembler directives, S12Z + +@node S12Z-opcodes +@section Opcodes + +@cindex S12Z opcodes +@cindex opcodes, S12Z +@cindex instruction set, S12Z diff -Nru binutils-2.30.51.20180512/gas/doc/Makefile.am binutils-2.30.52.20180613/gas/doc/Makefile.am --- binutils-2.30.51.20180512/gas/doc/Makefile.am 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/gas/doc/Makefile.am 2018-06-04 21:27:35.000000000 +0200 @@ -65,6 +65,7 @@ c-m32r.texi \ c-m68hc11.texi \ c-m68k.texi \ + c-s12z.texi \ c-metag.texi \ c-microblaze.texi \ c-mips.texi \ diff -Nru binutils-2.30.51.20180512/gas/doc/Makefile.in binutils-2.30.52.20180613/gas/doc/Makefile.in --- binutils-2.30.51.20180512/gas/doc/Makefile.in 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/gas/doc/Makefile.in 2018-06-04 21:27:35.000000000 +0200 @@ -340,6 +340,7 @@ c-m32r.texi \ c-m68hc11.texi \ c-m68k.texi \ + c-s12z.texi \ c-metag.texi \ c-microblaze.texi \ c-mips.texi \ diff -Nru binutils-2.30.51.20180512/gas/dwarf2dbg.c binutils-2.30.52.20180613/gas/dwarf2dbg.c --- binutils-2.30.51.20180512/gas/dwarf2dbg.c 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/gas/dwarf2dbg.c 2018-06-04 21:27:35.000000000 +0200 @@ -624,6 +624,7 @@ | DWARF2_FLAG_PROLOGUE_END | DWARF2_FLAG_EPILOGUE_BEGIN); current.discriminator = 0; + current.view = NULL; } /* Called for each (preferably code) label. If dwarf2_loc_mark_labels diff -Nru binutils-2.30.51.20180512/gas/Makefile.am binutils-2.30.52.20180613/gas/Makefile.am --- binutils-2.30.51.20180512/gas/Makefile.am 2018-04-25 13:58:28.000000000 +0200 +++ binutils-2.30.52.20180613/gas/Makefile.am 2018-06-04 21:27:35.000000000 +0200 @@ -156,6 +156,7 @@ config/tc-m32r.c \ config/tc-m68hc11.c \ config/tc-m68k.c \ + config/tc-s12z.c \ config/tc-mcore.c \ config/tc-mep.c \ config/tc-metag.c \ @@ -229,6 +230,7 @@ config/tc-m32r.h \ config/tc-m68hc11.h \ config/tc-m68k.h \ + config/tc-s12z.h \ config/tc-mcore.h \ config/tc-mep.h \ config/tc-metag.h \ diff -Nru binutils-2.30.51.20180512/gas/Makefile.in binutils-2.30.52.20180613/gas/Makefile.in --- binutils-2.30.51.20180512/gas/Makefile.in 2018-04-25 13:58:28.000000000 +0200 +++ binutils-2.30.52.20180613/gas/Makefile.in 2018-06-13 10:31:38.000000000 +0200 @@ -452,6 +452,7 @@ config/tc-m32r.c \ config/tc-m68hc11.c \ config/tc-m68k.c \ + config/tc-s12z.c \ config/tc-mcore.c \ config/tc-mep.c \ config/tc-metag.c \ @@ -525,6 +526,7 @@ config/tc-m32r.h \ config/tc-m68hc11.h \ config/tc-m68k.h \ + config/tc-s12z.h \ config/tc-mcore.h \ config/tc-mep.h \ config/tc-metag.h \ @@ -894,6 +896,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-riscv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-rl78.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-rx.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-s12z.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-s390.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-score.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-sh.Po@am__quote@ @@ -1318,6 +1321,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-m68k.obj `if test -f 'config/tc-m68k.c'; then $(CYGPATH_W) 'config/tc-m68k.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-m68k.c'; fi` +tc-s12z.o: config/tc-s12z.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-s12z.o -MD -MP -MF $(DEPDIR)/tc-s12z.Tpo -c -o tc-s12z.o `test -f 'config/tc-s12z.c' || echo '$(srcdir)/'`config/tc-s12z.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tc-s12z.Tpo $(DEPDIR)/tc-s12z.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config/tc-s12z.c' object='tc-s12z.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-s12z.o `test -f 'config/tc-s12z.c' || echo '$(srcdir)/'`config/tc-s12z.c + +tc-s12z.obj: config/tc-s12z.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-s12z.obj -MD -MP -MF $(DEPDIR)/tc-s12z.Tpo -c -o tc-s12z.obj `if test -f 'config/tc-s12z.c'; then $(CYGPATH_W) 'config/tc-s12z.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-s12z.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tc-s12z.Tpo $(DEPDIR)/tc-s12z.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config/tc-s12z.c' object='tc-s12z.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-s12z.obj `if test -f 'config/tc-s12z.c'; then $(CYGPATH_W) 'config/tc-s12z.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-s12z.c'; fi` + tc-mcore.o: config/tc-mcore.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-mcore.o -MD -MP -MF $(DEPDIR)/tc-mcore.Tpo -c -o tc-mcore.o `test -f 'config/tc-mcore.c' || echo '$(srcdir)/'`config/tc-mcore.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tc-mcore.Tpo $(DEPDIR)/tc-mcore.Po diff -Nru binutils-2.30.51.20180512/gas/NEWS binutils-2.30.52.20180613/gas/NEWS --- binutils-2.30.51.20180512/gas/NEWS 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/gas/NEWS 2018-06-04 21:27:35.000000000 +0200 @@ -1,5 +1,7 @@ -*- text -*- +* Add support for the Freescale S12Z architecture. + * Add --generate-missing-build-notes=[yes|no] option to create (or not) GNU Build Attribute notes if none are present in the input sources. Add a --enable-generate-build-notes=[yes|no] configure time option to set the diff -Nru binutils-2.30.51.20180512/gas/po/POTFILES.in binutils-2.30.52.20180613/gas/po/POTFILES.in --- binutils-2.30.51.20180512/gas/po/POTFILES.in 2018-04-25 13:58:28.000000000 +0200 +++ binutils-2.30.52.20180613/gas/po/POTFILES.in 2018-06-04 21:27:35.000000000 +0200 @@ -133,6 +133,8 @@ config/tc-rl78.h config/tc-rx.c config/tc-rx.h +config/tc-s12z.c +config/tc-s12z.h config/tc-s390.c config/tc-s390.h config/tc-score.c diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/illegal-3.d binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/illegal-3.d --- binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/illegal-3.d 2017-05-04 09:52:42.000000000 +0200 +++ binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/illegal-3.d 2018-06-13 10:31:38.000000000 +0200 @@ -12,3 +12,38 @@ 4: 4de2d4fc .inst 0x4de2d4fc ; undefined 8: 4dc2f4ec .inst 0x4dc2f4ec ; undefined c: 4de2f4fc .inst 0x4de2f4fc ; undefined + 10: 1ea04000 .inst 0x1ea04000 ; undefined + 14: 1ea01000 .inst 0x1ea01000 ; undefined + 18: 2f00f400 .inst 0x2f00f400 ; undefined + 1c: 1ea60000 .inst 0x1ea60000 ; undefined + 20: 1ea70000 .inst 0x1ea70000 ; undefined + 24: 9ea60000 .inst 0x9ea60000 ; undefined + 28: 9ea70000 .inst 0x9ea70000 ; undefined + 2c: 9e260000 .inst 0x9e260000 ; undefined + 30: 9e270000 .inst 0x9e270000 ; undefined + 34: 1e660000 .inst 0x1e660000 ; undefined + 38: 1e670000 .inst 0x1e670000 ; undefined + 3c: 1e2e0000 .inst 0x1e2e0000 ; undefined + 40: 1e2f0000 .inst 0x1e2f0000 ; undefined + 44: 1e6e0000 .inst 0x1e6e0000 ; undefined + 48: 1e6f0000 .inst 0x1e6f0000 ; undefined + 4c: 1eae0000 .inst 0x1eae0000 ; undefined + 50: 1eaf0000 .inst 0x1eaf0000 ; undefined + 54: 1eee0000 .inst 0x1eee0000 ; undefined + 58: 1eef0000 .inst 0x1eef0000 ; undefined + 5c: 1e2e0000 .inst 0x1e2e0000 ; undefined + 60: 1e2f0000 .inst 0x1e2f0000 ; undefined + 64: 1e6e0000 .inst 0x1e6e0000 ; undefined + 68: 1e6f0000 .inst 0x1e6f0000 ; undefined + 6c: 1eee0000 .inst 0x1eee0000 ; undefined + 70: 1eef0000 .inst 0x1eef0000 ; undefined + 74: 9e2e0000 .inst 0x9e2e0000 ; undefined + 78: 9e2f0000 .inst 0x9e2f0000 ; undefined + 7c: 9e6e0000 .inst 0x9e6e0000 ; undefined + 80: 9e6f0000 .inst 0x9e6f0000 ; undefined + 84: 9eee0000 .inst 0x9eee0000 ; undefined + 88: 9eef0000 .inst 0x9eef0000 ; undefined + 8c: 1ea60000 .inst 0x1ea60000 ; undefined + 90: 1ea70000 .inst 0x1ea70000 ; undefined + 94: 9ea60000 .inst 0x9ea60000 ; undefined + 98: 9ea70000 .inst 0x9ea70000 ; undefined diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/illegal-3.s binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/illegal-3.s --- binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/illegal-3.s 2017-05-04 09:52:42.000000000 +0200 +++ binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/illegal-3.s 2018-06-13 10:31:38.000000000 +0200 @@ -7,3 +7,50 @@ .inst 0x4dc2f4ec .inst 0x4de2f4fc +// PR 20319: + # Check FMOV for Unallocated Encodings + # FMOV (register): type == 0x10 + .inst 0x1ea04000 + # FMOV (scalar, immediate): type == 0x10 + .inst 0x1ea01000 + # FMOV (vector, immediate): Q == 0 && op == 1 + .inst 0x2f00f400 + # FMOV (general): + # type == 10 && rmode != 01 + .inst 0x1ea60000 + .inst 0x1ea70000 + .inst 0x9ea60000 + .inst 0x9ea70000 + # rmode == 00 && fltsize != 16 && fltsize != intsize + .inst 0x9e260000 + .inst 0x9e270000 + .inst 0x1e660000 + .inst 0x1e670000 + # rmode == 01 && intsize != 64 + .inst 0x1e2e0000 + .inst 0x1e2f0000 + .inst 0x1e6e0000 + .inst 0x1e6f0000 + .inst 0x1eae0000 + .inst 0x1eaf0000 + .inst 0x1eee0000 + .inst 0x1eef0000 + # rmode == 01 && fltsize != 128 + .inst 0x1e2e0000 + .inst 0x1e2f0000 + .inst 0x1e6e0000 + .inst 0x1e6f0000 + .inst 0x1eee0000 + .inst 0x1eef0000 + .inst 0x9e2e0000 + .inst 0x9e2f0000 + .inst 0x9e6e0000 + .inst 0x9e6f0000 + .inst 0x9eee0000 + .inst 0x9eef0000 + # type == 10 && rmode != 01 + .inst 0x1ea60000 + .inst 0x1ea70000 + .inst 0x9ea60000 + .inst 0x9ea70000 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/illegal.l binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/illegal.l --- binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/illegal.l 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/illegal.l 2018-06-13 10:31:38.000000000 +0200 @@ -573,4 +573,6 @@ [^:]*:577: Error: .*`fmov d0,#0x8000000000000000' [^:]*:582: Error: .*`fcmgt v0\.4s,v0\.4s,#-0\.0' [^:]*:585: Error: .*`fcmgt v0\.2d,v0\.2d,#-0\.0' -[^:]*:587: Error: .* +[^:]*:589: Error: .*`fmov s9,x0' +[^:]*:590: Error: .*`fmov d7,w1' +[^:]*:592: Error: .* diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/illegal.s binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/illegal.s --- binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/illegal.s 2018-01-05 03:08:29.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/illegal.s 2018-06-13 10:31:38.000000000 +0200 @@ -584,4 +584,9 @@ fcmgt v0.2d, v0.2d, #0 // OK fcmgt v0.2d, v0.2d, #-0.0 + # PR 20319: FMOV instructions changing the size from 32 bits + # to 64 bits and vice versa are illegal. + fmov s9, x0 + fmov d7, w1 + // End (for errors during literal pool generation) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/illegal-sysreg-2.l binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/illegal-sysreg-2.l --- binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/illegal-sysreg-2.l 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/illegal-sysreg-2.l 2018-05-16 15:49:14.000000000 +0200 @@ -27,8 +27,6 @@ [^:]*:[0-9]+: Error: selected processor does not support system register name 'pmbptr_el1' [^:]*:[0-9]+: Error: selected processor does not support system register name 'pmbsr_el1' [^:]*:[0-9]+: Error: selected processor does not support system register name 'pmbsr_el1' -[^:]*:[0-9]+: Error: selected processor does not support system register name 'pmbidr_el1' -[^:]*:[0-9]+: Error: selected processor does not support system register name 'pmbidr_el1' [^:]*:[0-9]+: Error: selected processor does not support system register name 'pmscr_el1' [^:]*:[0-9]+: Error: selected processor does not support system register name 'pmscr_el1' [^:]*:[0-9]+: Error: selected processor does not support system register name 'pmsicr_el1' diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/sysreg-2.d binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/sysreg-2.d --- binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/sysreg-2.d 2016-12-15 08:56:17.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/sysreg-2.d 2018-05-16 15:49:14.000000000 +0200 @@ -38,8 +38,6 @@ [0-9a-f]+: d5389a27 mrs x7, pmbptr_el1 [0-9a-f]+: d5189a67 msr pmbsr_el1, x7 [0-9a-f]+: d5389a67 mrs x7, pmbsr_el1 - [0-9a-f]+: d5189ae7 msr pmbidr_el1, x7 - [0-9a-f]+: d5389ae7 mrs x7, pmbidr_el1 [0-9a-f]+: d5189907 msr pmscr_el1, x7 [0-9a-f]+: d5389907 mrs x7, pmscr_el1 [0-9a-f]+: d5189947 msr pmsicr_el1, x7 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/sysreg-2.s binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/sysreg-2.s --- binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/sysreg-2.s 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/sysreg-2.s 2018-05-16 15:49:14.000000000 +0200 @@ -44,7 +44,7 @@ /* Statistical profiling. */ - .irp reg, pmblimitr_el1, pmbptr_el1, pmbsr_el1 pmbidr_el1 + .irp reg, pmblimitr_el1, pmbptr_el1, pmbsr_el1 rw_sys_reg sys_reg=\reg xreg=x7 r=1 w=1 .endr diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/sysreg-diagnostic.d binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/sysreg-diagnostic.d --- binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/sysreg-diagnostic.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/sysreg-diagnostic.d 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,14 @@ +#objdump: -dr -M notes +#as: -march=armv8-a +#error-output: sysreg-diagnostic.l + +.*: file format .* + +Disassembly of section \.text: + +.* <.*>: +.*: d5130503 msr dbgdtrtx_el0, x3 +.*: d5130503 msr dbgdtrtx_el0, x3 +.*: d5330503 mrs x3, dbgdtrrx_el0 +.*: d5330503 mrs x3, dbgdtrrx_el0 +.*: d5180003 msr midr_el1, x3 ; note: writing to a read-only register\. diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/sysreg-diagnostic.l binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/sysreg-diagnostic.l --- binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/sysreg-diagnostic.l 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/sysreg-diagnostic.l 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,4 @@ +.*: Assembler messages: +.*:3: Warning: specified register cannot be written to at operand 1 -- `msr dbgdtrrx_el0,x3' +.*:5: Warning: specified register cannot be read from at operand 2 -- `mrs x3,dbgdtrtx_el0' +.*:6: Warning: specified register cannot be written to at operand 1 -- `msr midr_el1,x3' diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/sysreg-diagnostic.s binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/sysreg-diagnostic.s --- binutils-2.30.51.20180512/gas/testsuite/gas/aarch64/sysreg-diagnostic.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/aarch64/sysreg-diagnostic.s 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,6 @@ +.text + msr dbgdtrtx_el0, x3 + msr dbgdtrrx_el0, x3 + mrs x3, dbgdtrrx_el0 + mrs x3, dbgdtrtx_el0 + msr midr_el1, x3 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/arch-13.d binutils-2.30.52.20180613/gas/testsuite/gas/i386/arch-13.d --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/arch-13.d 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/arch-13.d 2018-06-04 21:27:35.000000000 +0200 @@ -1,4 +1,4 @@ -#as: -march=i686+smap+adx+rdseed+clzero+xsavec+xsaves+clflushopt+mwaitx +#as: -march=i686+smap+adx+rdseed+clzero+xsavec+xsaves+clflushopt+mwaitx+rdpid+clwb+wbnoinvd #objdump: -dw #name: i386 arch 13 @@ -21,4 +21,8 @@ [ ]*[a-f0-9]+: 0f 01 fa monitorx %eax,%ecx,%edx [ ]*[a-f0-9]+: 0f 01 fb mwaitx %eax,%ecx,%ebx [ ]*[a-f0-9]+: 0f 01 fb mwaitx %eax,%ecx,%ebx +[ ]*[a-f0-9]+:[ ]*66 0f ae 31[ ]*clwb \(%ecx\) +[ ]*[a-f0-9]+:[ ]*66 0f ae b4 f4 c0 1d fe ff[ ]*clwb -0x1e240\(%esp,%esi,8\) +[ ]*[a-f0-9]+:[ ]*f3 0f c7 f8[ ]*rdpid %eax +[ ]*[a-f0-9]+:[ ]*f3 0f 09[ ]*wbnoinvd[ ]* #pass diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/arch-13.s binutils-2.30.52.20180613/gas/testsuite/gas/i386/arch-13.s --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/arch-13.s 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/arch-13.s 2018-06-04 21:27:35.000000000 +0200 @@ -1,23 +1,34 @@ # Test -march= .text + #SMAP feature -clac -stac + clac + stac #ADCX ADOX -adcx %edx, %ecx -adox %edx, %ecx + adcx %edx, %ecx + adox %edx, %ecx #RDSEED -rdseed %eax + rdseed %eax #CLZERO -clzero + clzero #XSAVEC -xsavec (%ecx) + xsavec (%ecx) #XSAVES -xsaves (%ecx) + xsaves (%ecx) #CLFLUSHOPT -clflushopt (%ecx) -monitorx %eax, %ecx, %edx -monitorx %ax, %ecx, %edx -monitorx -mwaitx %eax, %ecx, %ebx -mwaitx + clflushopt (%ecx) + monitorx %eax, %ecx, %edx + monitorx %ax, %ecx, %edx + monitorx + mwaitx %eax, %ecx, %ebx + mwaitx + +#CLWB instruction + clwb (%ecx) # CLWB + clwb -123456(%esp,%esi,8) # CLWB + +# rdpid instruction + rdpid %eax + +# wbnoinvd instruction + wbnoinvd diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/arch-13-znver1.d binutils-2.30.52.20180613/gas/testsuite/gas/i386/arch-13-znver1.d --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/arch-13-znver1.d 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/arch-13-znver1.d 2018-06-04 21:27:35.000000000 +0200 @@ -1,7 +1,7 @@ #source: arch-13.s -#as: -march=znver1 +#as: -march=znver1+rdpid+clwb+wbnoinvd #objdump: -dw -#name: i386 arch 13 (znver1) +#name: i386 arch 13 (znver1) .*: file format .* @@ -22,4 +22,8 @@ [ ]*[a-f0-9]+: 0f 01 fa monitorx %eax,%ecx,%edx [ ]*[a-f0-9]+: 0f 01 fb mwaitx %eax,%ecx,%ebx [ ]*[a-f0-9]+: 0f 01 fb mwaitx %eax,%ecx,%ebx +[ ]*[a-f0-9]+:[ ]*66 0f ae 31[ ]*clwb \(%ecx\) +[ ]*[a-f0-9]+:[ ]*66 0f ae b4 f4 c0 1d fe ff[ ]*clwb -0x1e240\(%esp,%esi,8\) +[ ]*[a-f0-9]+:[ ]*f3 0f c7 f8[ ]*rdpid %eax +[ ]*[a-f0-9]+:[ ]*f3 0f 09[ ]*wbnoinvd[ ]* #pass diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/arch-13-znver2.d binutils-2.30.52.20180613/gas/testsuite/gas/i386/arch-13-znver2.d --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/arch-13-znver2.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/arch-13-znver2.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,29 @@ +#source: arch-13.s +#as: -march=znver2 +#objdump: -dw +#name: i386 arch 13 (znver2) + +.*: file format .* + +Disassembly of section .text: + +0+ <.text>: +[ ]*[a-f0-9]+: 0f 01 ca clac[ ]* +[ ]*[a-f0-9]+: 0f 01 cb stac[ ]* +[ ]*[a-f0-9]+: 66 0f 38 f6 ca adcx %edx,%ecx +[ ]*[a-f0-9]+: f3 0f 38 f6 ca adox %edx,%ecx +[ ]*[a-f0-9]+: 0f c7 f8 rdseed %eax +[ ]*[a-f0-9]+: 0f 01 fc clzero[ ]* +[ ]*[a-f0-9]+: 0f c7 21 xsavec \(%ecx\) +[ ]*[a-f0-9]+: 0f c7 29 xsaves \(%ecx\) +[ ]*[a-f0-9]+: 66 0f ae 39 clflushopt \(%ecx\) +[ ]*[a-f0-9]+: 0f 01 fa monitorx %eax,%ecx,%edx +[ ]*[a-f0-9]+: 67 0f 01 fa monitorx %ax,%ecx,%edx +[ ]*[a-f0-9]+: 0f 01 fa monitorx %eax,%ecx,%edx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %eax,%ecx,%ebx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %eax,%ecx,%ebx +[ ]*[a-f0-9]+:[ ]*66 0f ae 31[ ]*clwb \(%ecx\) +[ ]*[a-f0-9]+:[ ]*66 0f ae b4 f4 c0 1d fe ff[ ]*clwb -0x1e240\(%esp,%esi,8\) +[ ]*[a-f0-9]+:[ ]*f3 0f c7 f8[ ]*rdpid %eax +[ ]*[a-f0-9]+:[ ]*f3 0f 09[ ]*wbnoinvd[ ]* +#pass diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/i386.exp binutils-2.30.52.20180613/gas/testsuite/gas/i386/i386.exp --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/i386.exp 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/i386.exp 2018-06-04 21:27:35.000000000 +0200 @@ -155,6 +155,7 @@ run_dump_test "arch-10-bdver3" run_dump_test "arch-10-bdver4" run_dump_test "arch-13-znver1" + run_dump_test "arch-13-znver2" run_dump_test "arch-10-btver1" run_dump_test "arch-10-btver2" run_list_test "arch-10-1" "-march=generic32 -I${srcdir}/$subdir -al" @@ -691,6 +692,7 @@ run_dump_test "x86-64-arch-2-bdver3" run_dump_test "x86-64-arch-2-bdver4" run_dump_test "x86-64-arch-3-znver1" + run_dump_test "x86-64-arch-3-znver2" run_dump_test "x86-64-arch-2-btver1" run_dump_test "x86-64-arch-2-btver2" run_list_test "x86-64-arch-2-1" "-march=generic64 -I${srcdir}/$subdir -al" diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/ilp32/rex.d binutils-2.30.52.20180613/gas/testsuite/gas/i386/ilp32/rex.d --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/ilp32/rex.d 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/ilp32/rex.d 2018-06-04 21:27:35.000000000 +0200 @@ -16,6 +16,14 @@ [ ]*[0-9a-f]+:[ ]+4a 0f ae 04 05 00 00 00 00[ ]+fxsave64[ ]+(0x0)?\(,%r8(,1)?\) [ ]*[0-9a-f]+:[ ]+43 0f ae 04 00[ ]+fxsave[ ]+\(%r8,%r8(,1)?\) [ ]*[0-9a-f]+:[ ]+4b 0f ae 04 00[ ]+fxsave64[ ]+\(%r8,%r8(,1)?\) +[ ]*[0-9a-f]+:[ ]+48 03 04 00[ ]+add[ ]+\(%rax,%rax(,1)?\),%rax +[ ]*[0-9a-f]+:[ ]+44 03 04 00[ ]+add[ ]+\(%rax,%rax(,1)?\),%r8d +[ ]*[0-9a-f]+:[ ]+41 03 04 00[ ]+add[ ]+\(%r8,%rax(,1)?\),%eax +[ ]*[0-9a-f]+:[ ]+42 03 04 00[ ]+add[ ]+\(%rax,%r8(,1)?\),%eax +[ ]*[0-9a-f]+:[ ]+49 03 04 00[ ]+add[ ]+\(%r8,%rax(,1)?\),%rax +[ ]*[0-9a-f]+:[ ]+46 03 04 00[ ]+add[ ]+\(%rax,%r8(,1)?\),%r8d +[ ]*[0-9a-f]+:[ ]+45 03 04 00[ ]+add[ ]+\(%r8,%rax(,1)?\),%r8d +[ ]*[0-9a-f]+:[ ]+4a 03 04 00[ ]+add[ ]+\(%rax,%r8(,1)?\),%rax [ ]*[0-9a-f]+:[ ]+41\s+rex\.B [ ]*[0-9a-f]+:[ ]+9b dd 30\s+fsave\s+\(%rax\) [ ]*[0-9a-f]+:[ ]+9b 41 dd 30\s+fsave\s+\(%r8\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/ilp32/x86-64-opcode.d binutils-2.30.52.20180613/gas/testsuite/gas/i386/ilp32/x86-64-opcode.d --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/ilp32/x86-64-opcode.d 2017-02-25 13:04:47.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/ilp32/x86-64-opcode.d 2018-06-04 21:27:35.000000000 +0200 @@ -269,7 +269,7 @@ [ ]*[a-f0-9]+: 41 0f 01 38 invlpg \(%r8\) [ ]*[a-f0-9]+: 0f 01 38 invlpg \(%rax\) [ ]*[a-f0-9]+: 0f 00 c0 sldt %eax -[ ]*[a-f0-9]+: 48 0f 00 c0 sldt %rax +[ ]*[a-f0-9]+: 0f 00 c0 sldt %eax [ ]*[a-f0-9]+: 66 0f 00 c0 sldt %ax [ ]*[a-f0-9]+: 0f 00 00 sldt \(%rax\) [ ]*[a-f0-9]+: e6 00 out %al,\$0x0 @@ -294,7 +294,7 @@ [ ]*[a-f0-9]+: 0f 01 e0 smsw %eax [ ]*[a-f0-9]+: 66 0f 01 e0 smsw %ax [ ]*[a-f0-9]+: 0f 01 20 smsw \(%rax\) -[ ]*[a-f0-9]+: 48 0f 00 c8 str %rax +[ ]*[a-f0-9]+: 0f 00 c8 str %eax [ ]*[a-f0-9]+: 0f 00 c8 str %eax [ ]*[a-f0-9]+: 66 0f 00 c8 str %ax [ ]*[a-f0-9]+: 0f 00 08 str \(%rax\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/invpcid.d binutils-2.30.52.20180613/gas/testsuite/gas/i386/invpcid.d --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/invpcid.d 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/invpcid.d 2018-06-04 21:27:35.000000000 +0200 @@ -10,4 +10,5 @@ 0+ : [ ]*[a-f0-9]+: 66 0f 38 82 10 invpcid \(%eax\),%edx [ ]*[a-f0-9]+: 66 0f 38 82 10 invpcid \(%eax\),%edx +[ ]*[a-f0-9]+: 66 0f 38 82 10 invpcid \(%eax\),%edx #pass diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/invpcid-intel.d binutils-2.30.52.20180613/gas/testsuite/gas/i386/invpcid-intel.d --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/invpcid-intel.d 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/invpcid-intel.d 2018-06-04 21:27:35.000000000 +0200 @@ -11,4 +11,5 @@ 0+ : [ ]*[a-f0-9]+: 66 0f 38 82 10 invpcid edx,\[eax\] [ ]*[a-f0-9]+: 66 0f 38 82 10 invpcid edx,\[eax\] +[ ]*[a-f0-9]+: 66 0f 38 82 10 invpcid edx,\[eax\] #pass diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/invpcid.s binutils-2.30.52.20180613/gas/testsuite/gas/i386/invpcid.s --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/invpcid.s 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/invpcid.s 2018-06-04 21:27:35.000000000 +0200 @@ -6,3 +6,4 @@ .intel_syntax noprefix invpcid edx,[eax] + invpcid edx,oword ptr [eax] diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/rex.d binutils-2.30.52.20180613/gas/testsuite/gas/i386/rex.d --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/rex.d 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/rex.d 2018-06-04 21:27:35.000000000 +0200 @@ -15,6 +15,14 @@ [ ]*[0-9a-f]+:[ ]+4a 0f ae 04 05 00 00 00 00[ ]+fxsave64[ ]+(0x0)?\(,%r8(,1)?\) [ ]*[0-9a-f]+:[ ]+43 0f ae 04 00[ ]+fxsave[ ]+\(%r8,%r8(,1)?\) [ ]*[0-9a-f]+:[ ]+4b 0f ae 04 00[ ]+fxsave64[ ]+\(%r8,%r8(,1)?\) +[ ]*[0-9a-f]+:[ ]+48 03 04 00[ ]+add[ ]+\(%rax,%rax(,1)?\),%rax +[ ]*[0-9a-f]+:[ ]+44 03 04 00[ ]+add[ ]+\(%rax,%rax(,1)?\),%r8d +[ ]*[0-9a-f]+:[ ]+41 03 04 00[ ]+add[ ]+\(%r8,%rax(,1)?\),%eax +[ ]*[0-9a-f]+:[ ]+42 03 04 00[ ]+add[ ]+\(%rax,%r8(,1)?\),%eax +[ ]*[0-9a-f]+:[ ]+49 03 04 00[ ]+add[ ]+\(%r8,%rax(,1)?\),%rax +[ ]*[0-9a-f]+:[ ]+46 03 04 00[ ]+add[ ]+\(%rax,%r8(,1)?\),%r8d +[ ]*[0-9a-f]+:[ ]+45 03 04 00[ ]+add[ ]+\(%r8,%rax(,1)?\),%r8d +[ ]*[0-9a-f]+:[ ]+4a 03 04 00[ ]+add[ ]+\(%rax,%r8(,1)?\),%rax [ ]*[0-9a-f]+:[ ]+41\s+rex\.B [ ]*[0-9a-f]+:[ ]+9b dd 30\s+fsave\s+\(%rax\) [ ]*[0-9a-f]+:[ ]+9b 41 dd 30\s+fsave\s+\(%r8\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/rex.s binutils-2.30.52.20180613/gas/testsuite/gas/i386/rex.s --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/rex.s 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/rex.s 2018-06-04 21:27:35.000000000 +0200 @@ -10,6 +10,16 @@ rex/fxsave (%r8,%r8) rex64/fxsave (%r8,%r8) + rex.w add (%rax,%rax), %eax + rex.r add (%rax,%rax), %eax + rex.b add (%rax,%rax), %eax + rex.x add (%rax,%rax), %eax + + rex.w add (%r8,%rax), %eax + rex.r add (%rax,%r8), %eax + rex.b add (%rax,%rax), %r8d + rex.x add (%rax,%rax), %rax + .byte 0x41,0x9b,0xdd,0x30 fsave (%r8) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-arch-3.d binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-arch-3.d --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-arch-3.d 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-arch-3.d 2018-06-04 21:27:35.000000000 +0200 @@ -1,4 +1,4 @@ -#as: -march=generic64+smap+adx+rdseed+clzero+sha+xsavec+xsaves+clflushopt+mwaitx +#as: -march=generic64+smap+adx+rdseed+clzero+sha+xsavec+xsaves+clflushopt+mwaitx+rdpid+clwb+wbnoinvd #objdump: -dw #name: x86-64 arch 3 @@ -22,4 +22,9 @@ [ ]*[a-f0-9]+: 0f 01 fa monitorx %rax,%rcx,%rdx [ ]*[a-f0-9]+: 0f 01 fb mwaitx %rax,%rcx,%rbx [ ]*[a-f0-9]+: 0f 01 fb mwaitx %rax,%rcx,%rbx +[ ]*[a-f0-9]+:[ ]*66 0f ae 31[ ]*clwb \(%rcx\) +[ ]*[a-f0-9]+:[ ]*66 42 0f ae b4 f0 23 01 00 00[ ]*clwb 0x123\(%rax,%r14,8\) +[ ]*[a-f0-9]+:[ ]*f3 0f c7 f8[ ]*rdpid %rax +[ ]*[a-f0-9]+:[ ]*f3 41 0f c7 fa[ ]*rdpid %r10 +[ ]*[a-f0-9]+:[ ]*f3 0f 09[ ]*wbnoinvd[ ]* #pass diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-arch-3.s binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-arch-3.s --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-arch-3.s 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-arch-3.s 2018-06-04 21:27:35.000000000 +0200 @@ -1,25 +1,35 @@ # Test -march= .text #SMAP -clac -stac + clac + stac #ADCX ADOX -adcx %edx, %ecx -adox %edx, %ecx + adcx %edx, %ecx + adox %edx, %ecx #RDSEED -rdseed %eax + rdseed %eax #CLZERO -clzero + clzero #SHA -sha1nexte (%rax), %xmm8 + sha1nexte (%rax), %xmm8 #XSAVEC -xsavec64 (%rcx) + xsavec64 (%rcx) #XSAVES -xsaves64 (%rcx) + xsaves64 (%rcx) #CLFLUSHOPT -clflushopt (%rcx) -monitorx %rax,%rcx,%rdx -monitorx %eax,%rcx,%rdx -monitorx -mwaitx %rax,%rcx,%rbx -mwaitx + clflushopt (%rcx) + monitorx %rax,%rcx,%rdx + monitorx %eax,%rcx,%rdx + monitorx + mwaitx %rax,%rcx,%rbx + mwaitx +# clwb instruction + clwb (%rcx) # CLWB + clwb 0x123(%rax,%r14,8) # CLWB + +# rdpid instruction + rdpid %rax + rdpid %r10 + +# wbnoinvd instruction + wbnoinvd diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-arch-3-znver1.d binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-arch-3-znver1.d --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-arch-3-znver1.d 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-arch-3-znver1.d 2018-06-04 21:27:35.000000000 +0200 @@ -1,5 +1,5 @@ #source: x86-64-arch-3.s -#as: -march=znver1 +#as: -march=znver1+rdpid+clwb+wbnoinvd #objdump: -dw #name: x86-64 arch 3 (znver1) @@ -23,4 +23,9 @@ [ ]*[a-f0-9]+: 0f 01 fa monitorx %rax,%rcx,%rdx [ ]*[a-f0-9]+: 0f 01 fb mwaitx %rax,%rcx,%rbx [ ]*[a-f0-9]+: 0f 01 fb mwaitx %rax,%rcx,%rbx +[ ]*[a-f0-9]+:[ ]*66 0f ae 31[ ]*clwb \(%rcx\) +[ ]*[a-f0-9]+:[ ]*66 42 0f ae b4 f0 23 01 00 00[ ]*clwb 0x123\(%rax,%r14,8\) +[ ]*[a-f0-9]+:[ ]*f3 0f c7 f8[ ]*rdpid %rax +[ ]*[a-f0-9]+:[ ]*f3 41 0f c7 fa[ ]*rdpid %r10 +[ ]*[a-f0-9]+:[ ]*f3 0f 09[ ]*wbnoinvd[ ]* #pass diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-arch-3-znver2.d binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-arch-3-znver2.d --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-arch-3-znver2.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-arch-3-znver2.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,31 @@ +#source: x86-64-arch-3.s +#as: -march=znver2 +#objdump: -dw +#name: x86-64 arch 3 (znver2) + +.*: file format .* + +Disassembly of section .text: + +0+ <.text>: +[ ]*[a-f0-9]+: 0f 01 ca clac[ ]* +[ ]*[a-f0-9]+: 0f 01 cb stac[ ]* +[ ]*[a-f0-9]+: 66 0f 38 f6 ca adcx %edx,%ecx +[ ]*[a-f0-9]+: f3 0f 38 f6 ca adox %edx,%ecx +[ ]*[a-f0-9]+: 0f c7 f8 rdseed %eax +[ ]*[a-f0-9]+: 0f 01 fc clzero[ ]* +[ ]*[a-f0-9]+: 44 0f 38 c8 00 sha1nexte \(%rax\),%xmm8 +[ ]*[a-f0-9]+: 48 0f c7 21 xsavec64 \(%rcx\) +[ ]*[a-f0-9]+: 48 0f c7 29 xsaves64 \(%rcx\) +[ ]*[a-f0-9]+: 66 0f ae 39 clflushopt \(%rcx\) +[ ]*[a-f0-9]+: 0f 01 fa monitorx %rax,%rcx,%rdx +[ ]*[a-f0-9]+: 67 0f 01 fa monitorx %eax,%rcx,%rdx +[ ]*[a-f0-9]+: 0f 01 fa monitorx %rax,%rcx,%rdx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %rax,%rcx,%rbx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %rax,%rcx,%rbx +[ ]*[a-f0-9]+:[ ]*66 0f ae 31[ ]*clwb \(%rcx\) +[ ]*[a-f0-9]+:[ ]*66 42 0f ae b4 f0 23 01 00 00[ ]*clwb 0x123\(%rax,%r14,8\) +[ ]*[a-f0-9]+:[ ]*f3 0f c7 f8[ ]*rdpid %rax +[ ]*[a-f0-9]+:[ ]*f3 41 0f c7 fa[ ]*rdpid %r10 +[ ]*[a-f0-9]+:[ ]*f3 0f 09[ ]*wbnoinvd[ ]* +#pass diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-invpcid.d binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-invpcid.d --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-invpcid.d 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-invpcid.d 2018-06-04 21:27:35.000000000 +0200 @@ -10,4 +10,5 @@ 0+ : [ ]*[a-f0-9]+: 66 0f 38 82 10 invpcid \(%rax\),%rdx [ ]*[a-f0-9]+: 66 0f 38 82 10 invpcid \(%rax\),%rdx +[ ]*[a-f0-9]+: 66 0f 38 82 10 invpcid \(%rax\),%rdx #pass diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-invpcid-intel.d binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-invpcid-intel.d --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-invpcid-intel.d 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-invpcid-intel.d 2018-06-04 21:27:35.000000000 +0200 @@ -11,4 +11,5 @@ 0+ : [ ]*[a-f0-9]+: 66 0f 38 82 10 invpcid rdx,\[rax\] [ ]*[a-f0-9]+: 66 0f 38 82 10 invpcid rdx,\[rax\] +[ ]*[a-f0-9]+: 66 0f 38 82 10 invpcid rdx,\[rax\] #pass diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-invpcid.s binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-invpcid.s --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-invpcid.s 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-invpcid.s 2018-06-04 21:27:35.000000000 +0200 @@ -6,3 +6,4 @@ .intel_syntax noprefix invpcid rdx,[rax] + invpcid rdx,oword ptr [rax] diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-opcode.d binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-opcode.d --- binutils-2.30.51.20180512/gas/testsuite/gas/i386/x86-64-opcode.d 2017-07-06 16:16:54.000000000 +0200 +++ binutils-2.30.52.20180613/gas/testsuite/gas/i386/x86-64-opcode.d 2018-06-04 21:27:35.000000000 +0200 @@ -268,7 +268,7 @@ [ ]*[a-f0-9]+: 41 0f 01 38 invlpg \(%r8\) [ ]*[a-f0-9]+: 0f 01 38 invlpg \(%rax\) [ ]*[a-f0-9]+: 0f 00 c0 sldt %eax -[ ]*[a-f0-9]+: 48 0f 00 c0 sldt %rax +[ ]*[a-f0-9]+: 0f 00 c0 sldt %eax [ ]*[a-f0-9]+: 66 0f 00 c0 sldt %ax [ ]*[a-f0-9]+: 0f 00 00 sldt \(%rax\) [ ]*[a-f0-9]+: e6 00 out %al,\$0x0 @@ -293,7 +293,7 @@ [ ]*[a-f0-9]+: 0f 01 e0 smsw %eax [ ]*[a-f0-9]+: 66 0f 01 e0 smsw %ax [ ]*[a-f0-9]+: 0f 01 20 smsw \(%rax\) -[ ]*[a-f0-9]+: 48 0f 00 c8 str %rax +[ ]*[a-f0-9]+: 0f 00 c8 str %eax [ ]*[a-f0-9]+: 0f 00 c8 str %eax [ ]*[a-f0-9]+: 66 0f 00 c8 str %ax [ ]*[a-f0-9]+: 0f 00 08 str \(%rax\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/ppc/common.d binutils-2.30.52.20180613/gas/testsuite/gas/ppc/common.d --- binutils-2.30.51.20180512/gas/testsuite/gas/ppc/common.d 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/ppc/common.d 2018-06-04 21:27:35.000000000 +0200 @@ -8,187 +8,194 @@ 0+00 : - 0: (7c 83 28 39|39 28 83 7c) and. r3,r4,r5 - 4: (7c 83 28 38|38 28 83 7c) and r3,r4,r5 - 8: (7d cd 78 78|78 78 cd 7d) andc r13,r14,r15 - c: (7e 30 90 79|79 90 30 7e) andc. r16,r17,r18 - 10: (48 00 00 02|02 00 00 48) ba 0 - 14: (40 01 00 00|00 00 01 40) bdnzf- 1,14 - 18: (40 85 00 02|02 00 85 40) blea- 1,0 - 1c: (40 43 00 01|01 00 43 40) bdzfl- 3,1c - 20: (41 47 00 03|03 00 47 41) bdztla- 7,0 - 24: (4e 80 04 20|20 04 80 4e) bctr - 28: (4e 80 04 21|21 04 80 4e) bctrl - 2c: (42 40 00 02|02 00 40 42) bdza- 0 - 30: (42 40 00 00|00 00 40 42) bdz- 30 - 34: (42 40 00 03|03 00 40 42) bdzla- 0 - 38: (42 40 00 01|01 00 40 42) bdzl- 38 - 3c: (41 82 00 00|00 00 82 41) beq- 3c - 40: (41 8a 00 02|02 00 8a 41) beqa- 2,0 - 44: (41 86 00 01|01 00 86 41) beql- 1,44 - 48: (41 8e 00 03|03 00 8e 41) beqla- 3,0 - 4c: (40 80 00 00|00 00 80 40) bge- 4c - 50: (40 90 00 02|02 00 90 40) bgea- 4,0 - 54: (40 88 00 01|01 00 88 40) bgel- 2,54 - 58: (40 98 00 03|03 00 98 40) bgela- 6,0 - 5c: (41 91 00 00|00 00 91 41) bgt- 4,5c - 60: (41 99 00 02|02 00 99 41) bgta- 6,0 - 64: (41 95 00 01|01 00 95 41) bgtl- 5,64 - 68: (41 9d 00 03|03 00 9d 41) bgtla- 7,0 - 6c: (48 00 00 00|00 00 00 48) b 6c - 70: (48 00 00 03|03 00 00 48) bla 0 - 74: (40 81 00 00|00 00 81 40) ble- 74 - 78: (40 91 00 02|02 00 91 40) blea- 4,0 - 7c: (40 89 00 01|01 00 89 40) blel- 2,7c - 80: (40 99 00 03|03 00 99 40) blela- 6,0 - 84: (48 00 00 01|01 00 00 48) bl 84 - 88: (41 80 00 00|00 00 80 41) blt- 88 - 8c: (41 88 00 02|02 00 88 41) blta- 2,0 - 90: (41 84 00 01|01 00 84 41) bltl- 1,90 - 94: (41 8c 00 03|03 00 8c 41) bltla- 3,0 - 98: (40 82 00 00|00 00 82 40) bne- 98 - 9c: (40 8a 00 02|02 00 8a 40) bnea- 2,0 - a0: (40 86 00 01|01 00 86 40) bnel- 1,a0 - a4: (40 8e 00 03|03 00 8e 40) bnela- 3,0 - a8: (40 85 00 00|00 00 85 40) ble- 1,a8 - ac: (40 95 00 02|02 00 95 40) blea- 5,0 - b0: (40 8d 00 01|01 00 8d 40) blel- 3,b0 - b4: (40 9d 00 03|03 00 9d 40) blela- 7,0 - b8: (40 84 00 00|00 00 84 40) bge- 1,b8 - bc: (40 94 00 02|02 00 94 40) bgea- 5,0 - c0: (40 8c 00 01|01 00 8c 40) bgel- 3,c0 - c4: (40 9c 00 03|03 00 9c 40) bgela- 7,0 - c8: (40 93 00 00|00 00 93 40) bns- 4,c8 - cc: (40 9b 00 02|02 00 9b 40) bnsa- 6,0 - d0: (40 97 00 01|01 00 97 40) bnsl- 5,d0 - d4: (40 9f 00 03|03 00 9f 40) bnsla- 7,0 - d8: (41 93 00 00|00 00 93 41) bso- 4,d8 - dc: (41 9b 00 02|02 00 9b 41) bsoa- 6,0 - e0: (41 97 00 01|01 00 97 41) bsol- 5,e0 - e4: (41 9f 00 03|03 00 9f 41) bsola- 7,0 - e8: (4c 85 32 02|02 32 85 4c) crand 4,5,6 - ec: (4c 64 29 02|02 29 64 4c) crandc 3,4,5 - f0: (4c e0 0a 42|42 0a e0 4c) creqv 7,0,1 - f4: (4c 22 19 c2|c2 19 22 4c) crnand 1,2,3 - f8: (4c 01 10 42|42 10 01 4c) crnor 0,1,2 - fc: (4c a6 3b 82|82 3b a6 4c) cror 5,6,7 - 100: (4c 43 23 42|42 23 43 4c) crorc 2,3,4 - 104: (4c c7 01 82|82 01 c7 4c) crxor 6,7,0 - 108: (7d 6a 62 39|39 62 6a 7d) eqv. r10,r11,r12 - 10c: (7d 6a 62 38|38 62 6a 7d) eqv r10,r11,r12 - 110: (fe a0 fa 11|11 fa a0 fe) fabs. f21,f31 - 114: (fe a0 fa 10|10 fa a0 fe) fabs f21,f31 - 118: (fd 8a 58 40|40 58 8a fd) fcmpo 3,f10,f11 - 11c: (fd 84 28 00|00 28 84 fd) fcmpu 3,f4,f5 - 120: (fc 60 20 91|91 20 60 fc) fmr. f3,f4 - 124: (fc 60 20 90|90 20 60 fc) fmr f3,f4 - 128: (fe 80 f1 11|11 f1 80 fe) fnabs. f20,f30 - 12c: (fe 80 f1 10|10 f1 80 fe) fnabs f20,f30 - 130: (fc 60 20 51|51 20 60 fc) fneg. f3,f4 - 134: (fc 60 20 50|50 20 60 fc) fneg f3,f4 - 138: (fc c0 38 18|18 38 c0 fc) frsp f6,f7 - 13c: (fd 00 48 19|19 48 00 fd) frsp. f8,f9 - 140: (89 21 00 00|00 00 21 89) lbz r9,0\(r1\) - 144: (8d 41 00 01|01 00 41 8d) lbzu r10,1\(r1\) - 148: (7e 95 b0 ee|ee b0 95 7e) lbzux r20,r21,r22 - 14c: (7c 64 28 ae|ae 28 64 7c) lbzx r3,r4,r5 - 150: (ca a1 00 08|08 00 a1 ca) lfd f21,8\(r1\) - 154: (ce c1 00 10|10 00 c1 ce) lfdu f22,16\(r1\) - 158: (7e 95 b4 ee|ee b4 95 7e) lfdux f20,r21,r22 - 15c: (7d ae 7c ae|ae 7c ae 7d) lfdx f13,r14,r15 - 160: (c2 61 00 00|00 00 61 c2) lfs f19,0\(r1\) - 164: (c6 81 00 04|04 00 81 c6) lfsu f20,4\(r1\) - 168: (7d 4b 64 6e|6e 64 4b 7d) lfsux f10,r11,r12 - 16c: (7d 4b 64 2e|2e 64 4b 7d) lfsx f10,r11,r12 - 170: (a9 e1 00 06|06 00 e1 a9) lha r15,6\(r1\) - 174: (ae 01 00 08|08 00 01 ae) lhau r16,8\(r1\) - 178: (7d 2a 5a ee|ee 5a 2a 7d) lhaux r9,r10,r11 - 17c: (7d 2a 5a ae|ae 5a 2a 7d) lhax r9,r10,r11 - 180: (7c 64 2e 2c|2c 2e 64 7c) lhbrx r3,r4,r5 - 184: (a1 a1 00 00|00 00 a1 a1) lhz r13,0\(r1\) - 188: (a5 c1 00 02|02 00 c1 a5) lhzu r14,2\(r1\) - 18c: (7e 96 c2 6e|6e c2 96 7e) lhzux r20,r22,r24 - 190: (7e f8 ca 2e|2e ca f8 7e) lhzx r23,r24,r25 - 194: (4c 04 00 00|00 00 04 4c) mcrf 0,1 - 198: (fd 90 00 80|80 00 90 fd) mcrfs 3,4 - 19c: (7d 80 04 00|00 04 80 7d) mcrxr 3 - 1a0: (7c 60 00 26|26 00 60 7c) mfcr r3 - 1a4: (7c 69 02 a6|a6 02 69 7c) mfctr r3 - 1a8: (7c b3 02 a6|a6 02 b3 7c) mfdar r5 - 1ac: (7c 92 02 a6|a6 02 92 7c) mfdsisr r4 - 1b0: (ff c0 04 8e|8e 04 c0 ff) mffs f30 - 1b4: (ff e0 04 8f|8f 04 e0 ff) mffs. f31 - 1b8: (7c 48 02 a6|a6 02 48 7c) mflr r2 - 1bc: (7e 60 00 a6|a6 00 60 7e) mfmsr r19 - 1c0: (7c 78 00 26|26 00 78 7c) mfocrf r3,128 - 1c4: (7c 25 02 a6|a6 02 25 7c) mfrtcl r1 - 1c8: (7c 04 02 a6|a6 02 04 7c) mfrtcu r0 - 1cc: (7c d9 02 a6|a6 02 d9 7c) mfsdr1 r6 - 1d0: (7c 60 22 a6|a6 22 60 7c) mfspr r3,128 - 1d4: (7c fa 02 a6|a6 02 fa 7c) mfsrr0 r7 - 1d8: (7d 1b 02 a6|a6 02 1b 7d) mfsrr1 r8 - 1dc: (7f c1 02 a6|a6 02 c1 7f) mfxer r30 - 1e0: (7f fe fb 79|79 fb fe 7f) mr. r30,r31 - 1e4: (7f fe fb 78|78 fb fe 7f) mr r30,r31 - 1e8: (7c 6f f1 20|20 f1 6f 7c) mtcr r3 - 1ec: (7c 68 01 20|20 01 68 7c) mtcrf 128,r3 - 1f0: (7e 69 03 a6|a6 03 69 7e) mtctr r19 - 1f4: (7e b3 03 a6|a6 03 b3 7e) mtdar r21 - 1f8: (7f 16 03 a6|a6 03 16 7f) mtdec r24 - 1fc: (7e 92 03 a6|a6 03 92 7e) mtdsisr r20 - 200: (fc 60 00 8d|8d 00 60 fc) mtfsb0. 3 - 204: (fc 60 00 8c|8c 00 60 fc) mtfsb0 3 - 208: (fc 60 00 4d|4d 00 60 fc) mtfsb1. 3 - 20c: (fc 60 00 4c|4c 00 60 fc) mtfsb1 3 - 210: (fc 0c 55 8e|8e 55 0c fc) mtfsf 6,f10 - 214: (fc 0c 5d 8f|8f 5d 0c fc) mtfsf. 6,f11 - 218: (ff 00 01 0c|0c 01 00 ff) mtfsfi 6,0 - 21c: (ff 00 f1 0d|0d f1 00 ff) mtfsfi. 6,15 - 220: (7e 48 03 a6|a6 03 48 7e) mtlr r18 - 224: (7d 40 01 24|24 01 40 7d) mtmsr r10 - 228: (7c 78 01 20|20 01 78 7c) mtocrf 128,r3 - 22c: (7e f5 03 a6|a6 03 f5 7e) mtrtcl r23 - 230: (7e d4 03 a6|a6 03 d4 7e) mtrtcu r22 - 234: (7f 39 03 a6|a6 03 39 7f) mtsdr1 r25 - 238: (7c 60 23 a6|a6 23 60 7c) mtspr 128,r3 - 23c: (7f 5a 03 a6|a6 03 5a 7f) mtsrr0 r26 - 240: (7f 7b 03 a6|a6 03 7b 7f) mtsrr1 r27 - 244: (7e 21 03 a6|a6 03 21 7e) mtxer r17 - 248: (7f bc f3 b9|b9 f3 bc 7f) nand. r28,r29,r30 - 24c: (7f bc f3 b8|b8 f3 bc 7f) nand r28,r29,r30 - 250: (7c 64 00 d1|d1 00 64 7c) neg. r3,r4 - 254: (7c 64 00 d0|d0 00 64 7c) neg r3,r4 - 258: (7e 11 04 d0|d0 04 11 7e) nego r16,r17 - 25c: (7e 53 04 d1|d1 04 53 7e) nego. r18,r19 - 260: (7e b4 b0 f9|f9 b0 b4 7e) nor. r20,r21,r22 - 264: (7e b4 b0 f8|f8 b0 b4 7e) nor r20,r21,r22 - 268: (7e b4 a8 f9|f9 a8 b4 7e) not. r20,r21 - 26c: (7e b4 a8 f8|f8 a8 b4 7e) not r20,r21 - 270: (7c 40 23 78|78 23 40 7c) or r0,r2,r4 - 274: (7d cc 83 79|79 83 cc 7d) or. r12,r14,r16 - 278: (7e 0f 8b 38|38 8b 0f 7e) orc r15,r16,r17 - 27c: (7e 72 a3 39|39 a3 72 7e) orc. r18,r19,r20 - 280: (4c 00 00 64|64 00 00 4c) rfi - 284: (99 61 00 02|02 00 61 99) stb r11,2\(r1\) - 288: (9d 81 00 03|03 00 81 9d) stbu r12,3\(r1\) - 28c: (7d ae 79 ee|ee 79 ae 7d) stbux r13,r14,r15 - 290: (7c 64 29 ae|ae 29 64 7c) stbx r3,r4,r5 - 294: (db 21 00 20|20 00 21 db) stfd f25,32\(r1\) - 298: (df 41 00 28|28 00 41 df) stfdu f26,40\(r1\) - 29c: (7c 01 15 ee|ee 15 01 7c) stfdux f0,r1,r2 - 2a0: (7f be fd ae|ae fd be 7f) stfdx f29,r30,r31 - 2a4: (d2 e1 00 14|14 00 e1 d2) stfs f23,20\(r1\) - 2a8: (d7 01 00 18|18 00 01 d7) stfsu f24,24\(r1\) - 2ac: (7f 5b e5 6e|6e e5 5b 7f) stfsux f26,r27,r28 - 2b0: (7e f8 cd 2e|2e cd f8 7e) stfsx f23,r24,r25 - 2b4: (b2 21 00 0a|0a 00 21 b2) sth r17,10\(r1\) - 2b8: (7c c7 47 2c|2c 47 c7 7c) sthbrx r6,r7,r8 - 2bc: (b6 41 00 0c|0c 00 41 b6) sthu r18,12\(r1\) - 2c0: (7e b6 bb 6e|6e bb b6 7e) sthux r21,r22,r23 - 2c4: (7d 8d 73 2e|2e 73 8d 7d) sthx r12,r13,r14 - 2c8: (7f dd fa 79|79 fa dd 7f) xor. r29,r30,r31 - 2cc: (7f dd fa 78|78 fa dd 7f) xor r29,r30,r31 - 2d0: (60 00 00 00|00 00 00 60) nop - 2d4: (60 00 00 00|00 00 00 60) nop - 2d8: (68 00 00 00|00 00 00 68) xnop - 2dc: (68 00 00 00|00 00 00 68) xnop +.*: (7c 83 28 39|39 28 83 7c) and. r3,r4,r5 +.*: (7c 83 28 38|38 28 83 7c) and r3,r4,r5 +.*: (7d cd 78 78|78 78 cd 7d) andc r13,r14,r15 +.*: (7e 30 90 79|79 90 30 7e) andc. r16,r17,r18 +.*: (48 00 00 02|02 00 00 48) ba 0 +.*: (40 01 00 00|00 00 01 40) bdnzf- 1,14 +.*: (40 85 00 02|02 00 85 40) blea- 1,0 +.*: (40 43 00 01|01 00 43 40) bdzfl- 3,1c +.*: (41 47 00 03|03 00 47 41) bdztla- 7,0 +.*: (4e 80 04 20|20 04 80 4e) bctr +.*: (4e 80 04 21|21 04 80 4e) bctrl +.*: (42 40 00 02|02 00 40 42) bdza- 0 +.*: (42 40 00 00|00 00 40 42) bdz- 30 +.*: (42 40 00 03|03 00 40 42) bdzla- 0 +.*: (42 40 00 01|01 00 40 42) bdzl- 38 +.*: (41 82 00 00|00 00 82 41) beq- 3c +.*: (41 8a 00 02|02 00 8a 41) beqa- 2,0 +.*: (41 86 00 01|01 00 86 41) beql- 1,44 +.*: (41 8e 00 03|03 00 8e 41) beqla- 3,0 +.*: (40 80 00 00|00 00 80 40) bge- 4c +.*: (40 90 00 02|02 00 90 40) bgea- 4,0 +.*: (40 88 00 01|01 00 88 40) bgel- 2,54 +.*: (40 98 00 03|03 00 98 40) bgela- 6,0 +.*: (41 91 00 00|00 00 91 41) bgt- 4,5c +.*: (41 99 00 02|02 00 99 41) bgta- 6,0 +.*: (41 95 00 01|01 00 95 41) bgtl- 5,64 +.*: (41 9d 00 03|03 00 9d 41) bgtla- 7,0 +.*: (48 00 00 00|00 00 00 48) b 6c +.*: (48 00 00 03|03 00 00 48) bla 0 +.*: (40 81 00 00|00 00 81 40) ble- 74 +.*: (40 91 00 02|02 00 91 40) blea- 4,0 +.*: (40 89 00 01|01 00 89 40) blel- 2,7c +.*: (40 99 00 03|03 00 99 40) blela- 6,0 +.*: (48 00 00 01|01 00 00 48) bl 84 +.*: (41 80 00 00|00 00 80 41) blt- 88 +.*: (41 88 00 02|02 00 88 41) blta- 2,0 +.*: (41 84 00 01|01 00 84 41) bltl- 1,90 +.*: (41 8c 00 03|03 00 8c 41) bltla- 3,0 +.*: (40 82 00 00|00 00 82 40) bne- 98 +.*: (40 8a 00 02|02 00 8a 40) bnea- 2,0 +.*: (40 86 00 01|01 00 86 40) bnel- 1,a0 +.*: (40 8e 00 03|03 00 8e 40) bnela- 3,0 +.*: (40 85 00 00|00 00 85 40) ble- 1,a8 +.*: (40 95 00 02|02 00 95 40) blea- 5,0 +.*: (40 8d 00 01|01 00 8d 40) blel- 3,b0 +.*: (40 9d 00 03|03 00 9d 40) blela- 7,0 +.*: (40 84 00 00|00 00 84 40) bge- 1,b8 +.*: (40 94 00 02|02 00 94 40) bgea- 5,0 +.*: (40 8c 00 01|01 00 8c 40) bgel- 3,c0 +.*: (40 9c 00 03|03 00 9c 40) bgela- 7,0 +.*: (40 93 00 00|00 00 93 40) bns- 4,c8 +.*: (40 9b 00 02|02 00 9b 40) bnsa- 6,0 +.*: (40 97 00 01|01 00 97 40) bnsl- 5,d0 +.*: (40 9f 00 03|03 00 9f 40) bnsla- 7,0 +.*: (41 93 00 00|00 00 93 41) bso- 4,d8 +.*: (41 9b 00 02|02 00 9b 41) bsoa- 6,0 +.*: (41 97 00 01|01 00 97 41) bsol- 5,e0 +.*: (41 9f 00 03|03 00 9f 41) bsola- 7,0 +.*: (4c 85 32 02|02 32 85 4c) crand 4,5,6 +.*: (4c 64 29 02|02 29 64 4c) crandc 3,4,5 +.*: (4c e0 0a 42|42 0a e0 4c) creqv 7,0,1 +.*: (4c 22 19 c2|c2 19 22 4c) crnand 1,2,3 +.*: (4c 01 10 42|42 10 01 4c) crnor 0,1,2 +.*: (4c a6 3b 82|82 3b a6 4c) cror 5,6,7 +.*: (4c a6 33 82|82 33 a6 4c) crmove 5,6 +.*: (4c a6 33 82|82 33 a6 4c) crmove 5,6 +.*: (4c 43 23 42|42 23 43 4c) crorc 2,3,4 +.*: (4c c7 01 82|82 01 c7 4c) crxor 6,7,0 +.*: (7d 6a 62 39|39 62 6a 7d) eqv. r10,r11,r12 +.*: (7d 6a 62 38|38 62 6a 7d) eqv r10,r11,r12 +.*: (fe a0 fa 11|11 fa a0 fe) fabs. f21,f31 +.*: (fe a0 fa 10|10 fa a0 fe) fabs f21,f31 +.*: (fd 8a 58 40|40 58 8a fd) fcmpo 3,f10,f11 +.*: (fd 84 28 00|00 28 84 fd) fcmpu 3,f4,f5 +.*: (fc 60 20 91|91 20 60 fc) fmr. f3,f4 +.*: (fc 60 20 90|90 20 60 fc) fmr f3,f4 +.*: (fe 80 f1 11|11 f1 80 fe) fnabs. f20,f30 +.*: (fe 80 f1 10|10 f1 80 fe) fnabs f20,f30 +.*: (fc 60 20 51|51 20 60 fc) fneg. f3,f4 +.*: (fc 60 20 50|50 20 60 fc) fneg f3,f4 +.*: (fc c0 38 18|18 38 c0 fc) frsp f6,f7 +.*: (fd 00 48 19|19 48 00 fd) frsp. f8,f9 +.*: (89 21 00 00|00 00 21 89) lbz r9,0\(r1\) +.*: (8d 41 00 01|01 00 41 8d) lbzu r10,1\(r1\) +.*: (7e 95 b0 ee|ee b0 95 7e) lbzux r20,r21,r22 +.*: (7c 64 28 ae|ae 28 64 7c) lbzx r3,r4,r5 +.*: (ca a1 00 08|08 00 a1 ca) lfd f21,8\(r1\) +.*: (ce c1 00 10|10 00 c1 ce) lfdu f22,16\(r1\) +.*: (7e 95 b4 ee|ee b4 95 7e) lfdux f20,r21,r22 +.*: (7d ae 7c ae|ae 7c ae 7d) lfdx f13,r14,r15 +.*: (c2 61 00 00|00 00 61 c2) lfs f19,0\(r1\) +.*: (c6 81 00 04|04 00 81 c6) lfsu f20,4\(r1\) +.*: (7d 4b 64 6e|6e 64 4b 7d) lfsux f10,r11,r12 +.*: (7d 4b 64 2e|2e 64 4b 7d) lfsx f10,r11,r12 +.*: (a9 e1 00 06|06 00 e1 a9) lha r15,6\(r1\) +.*: (ae 01 00 08|08 00 01 ae) lhau r16,8\(r1\) +.*: (7d 2a 5a ee|ee 5a 2a 7d) lhaux r9,r10,r11 +.*: (7d 2a 5a ae|ae 5a 2a 7d) lhax r9,r10,r11 +.*: (7c 64 2e 2c|2c 2e 64 7c) lhbrx r3,r4,r5 +.*: (a1 a1 00 00|00 00 a1 a1) lhz r13,0\(r1\) +.*: (a5 c1 00 02|02 00 c1 a5) lhzu r14,2\(r1\) +.*: (7e 96 c2 6e|6e c2 96 7e) lhzux r20,r22,r24 +.*: (7e f8 ca 2e|2e ca f8 7e) lhzx r23,r24,r25 +.*: (4c 04 00 00|00 00 04 4c) mcrf 0,1 +.*: (fd 90 00 80|80 00 90 fd) mcrfs 3,4 +.*: (7d 80 04 00|00 04 80 7d) mcrxr 3 +.*: (7c 60 00 26|26 00 60 7c) mfcr r3 +.*: (7c 69 02 a6|a6 02 69 7c) mfctr r3 +.*: (7c b3 02 a6|a6 02 b3 7c) mfdar r5 +.*: (7c 92 02 a6|a6 02 92 7c) mfdsisr r4 +.*: (ff c0 04 8e|8e 04 c0 ff) mffs f30 +.*: (ff e0 04 8f|8f 04 e0 ff) mffs. f31 +.*: (7c 48 02 a6|a6 02 48 7c) mflr r2 +.*: (7e 60 00 a6|a6 00 60 7e) mfmsr r19 +.*: (7c 78 00 26|26 00 78 7c) mfocrf r3,128 +.*: (7c 25 02 a6|a6 02 25 7c) mfrtcl r1 +.*: (7c 04 02 a6|a6 02 04 7c) mfrtcu r0 +.*: (7c d9 02 a6|a6 02 d9 7c) mfsdr1 r6 +.*: (7c 60 22 a6|a6 22 60 7c) mfspr r3,128 +.*: (7c fa 02 a6|a6 02 fa 7c) mfsrr0 r7 +.*: (7d 1b 02 a6|a6 02 1b 7d) mfsrr1 r8 +.*: (7f c1 02 a6|a6 02 c1 7f) mfxer r30 +.*: (7f fe fb 79|79 fb fe 7f) mr. r30,r31 +.*: (7f fe fb 79|79 fb fe 7f) mr. r30,r31 +.*: (7f fe fb 78|78 fb fe 7f) mr r30,r31 +.*: (7f fe fb 78|78 fb fe 7f) mr r30,r31 +.*: (7c 6f f1 20|20 f1 6f 7c) mtcr r3 +.*: (7c 68 01 20|20 01 68 7c) mtcrf 128,r3 +.*: (7e 69 03 a6|a6 03 69 7e) mtctr r19 +.*: (7e b3 03 a6|a6 03 b3 7e) mtdar r21 +.*: (7f 16 03 a6|a6 03 16 7f) mtdec r24 +.*: (7e 92 03 a6|a6 03 92 7e) mtdsisr r20 +.*: (fc 60 00 8d|8d 00 60 fc) mtfsb0. 3 +.*: (fc 60 00 8c|8c 00 60 fc) mtfsb0 3 +.*: (fc 60 00 4d|4d 00 60 fc) mtfsb1. 3 +.*: (fc 60 00 4c|4c 00 60 fc) mtfsb1 3 +.*: (fc 0c 55 8e|8e 55 0c fc) mtfsf 6,f10 +.*: (fc 0c 5d 8f|8f 5d 0c fc) mtfsf. 6,f11 +.*: (ff 00 01 0c|0c 01 00 ff) mtfsfi 6,0 +.*: (ff 00 f1 0d|0d f1 00 ff) mtfsfi. 6,15 +.*: (7e 48 03 a6|a6 03 48 7e) mtlr r18 +.*: (7d 40 01 24|24 01 40 7d) mtmsr r10 +.*: (7c 78 01 20|20 01 78 7c) mtocrf 128,r3 +.*: (7e f5 03 a6|a6 03 f5 7e) mtrtcl r23 +.*: (7e d4 03 a6|a6 03 d4 7e) mtrtcu r22 +.*: (7f 39 03 a6|a6 03 39 7f) mtsdr1 r25 +.*: (7c 60 23 a6|a6 23 60 7c) mtspr 128,r3 +.*: (7f 5a 03 a6|a6 03 5a 7f) mtsrr0 r26 +.*: (7f 7b 03 a6|a6 03 7b 7f) mtsrr1 r27 +.*: (7e 21 03 a6|a6 03 21 7e) mtxer r17 +.*: (7f bc f3 b9|b9 f3 bc 7f) nand. r28,r29,r30 +.*: (7f bc f3 b8|b8 f3 bc 7f) nand r28,r29,r30 +.*: (7c 64 00 d1|d1 00 64 7c) neg. r3,r4 +.*: (7c 64 00 d0|d0 00 64 7c) neg r3,r4 +.*: (7e 11 04 d0|d0 04 11 7e) nego r16,r17 +.*: (7e 53 04 d1|d1 04 53 7e) nego. r18,r19 +.*: (7e b4 b0 f9|f9 b0 b4 7e) nor. r20,r21,r22 +.*: (7e b4 b0 f8|f8 b0 b4 7e) nor r20,r21,r22 +.*: (7e b4 a8 f9|f9 a8 b4 7e) not. r20,r21 +.*: (7e b4 a8 f9|f9 a8 b4 7e) not. r20,r21 +.*: (7e b4 a8 f8|f8 a8 b4 7e) not r20,r21 +.*: (7e b4 a8 f8|f8 a8 b4 7e) not r20,r21 +.*: (7c 40 23 78|78 23 40 7c) or r0,r2,r4 +.*: (7d cc 83 79|79 83 cc 7d) or. r12,r14,r16 +.*: (7e 0f 8b 38|38 8b 0f 7e) orc r15,r16,r17 +.*: (7e 72 a3 39|39 a3 72 7e) orc. r18,r19,r20 +.*: (4c 00 00 64|64 00 00 4c) rfi +.*: (99 61 00 02|02 00 61 99) stb r11,2\(r1\) +.*: (9d 81 00 03|03 00 81 9d) stbu r12,3\(r1\) +.*: (7d ae 79 ee|ee 79 ae 7d) stbux r13,r14,r15 +.*: (7c 64 29 ae|ae 29 64 7c) stbx r3,r4,r5 +.*: (db 21 00 20|20 00 21 db) stfd f25,32\(r1\) +.*: (df 41 00 28|28 00 41 df) stfdu f26,40\(r1\) +.*: (7c 01 15 ee|ee 15 01 7c) stfdux f0,r1,r2 +.*: (7f be fd ae|ae fd be 7f) stfdx f29,r30,r31 +.*: (d2 e1 00 14|14 00 e1 d2) stfs f23,20\(r1\) +.*: (d7 01 00 18|18 00 01 d7) stfsu f24,24\(r1\) +.*: (7f 5b e5 6e|6e e5 5b 7f) stfsux f26,r27,r28 +.*: (7e f8 cd 2e|2e cd f8 7e) stfsx f23,r24,r25 +.*: (b2 21 00 0a|0a 00 21 b2) sth r17,10\(r1\) +.*: (7c c7 47 2c|2c 47 c7 7c) sthbrx r6,r7,r8 +.*: (b6 41 00 0c|0c 00 41 b6) sthu r18,12\(r1\) +.*: (7e b6 bb 6e|6e bb b6 7e) sthux r21,r22,r23 +.*: (7d 8d 73 2e|2e 73 8d 7d) sthx r12,r13,r14 +.*: (7f dd fa 79|79 fa dd 7f) xor. r29,r30,r31 +.*: (7f dd fa 78|78 fa dd 7f) xor r29,r30,r31 +.*: (60 00 00 00|00 00 00 60) nop +.*: (60 00 00 00|00 00 00 60) nop +.*: (68 00 00 00|00 00 00 68) xnop +.*: (68 00 00 00|00 00 00 68) xnop +#pass diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/ppc/common.s binutils-2.30.52.20180613/gas/testsuite/gas/ppc/common.s --- binutils-2.30.51.20180512/gas/testsuite/gas/ppc/common.s 2016-02-26 16:58:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/ppc/common.s 2018-06-04 21:27:35.000000000 +0200 @@ -64,6 +64,8 @@ crnand 1,2,3 crnor 0,1,2 cror 5,6,7 + crmove 5,6 + cror 5,6,6 crorc 2,3,4 crxor 6,7,0 eqv. 10,11,12 @@ -121,7 +123,9 @@ mfsrr1 8 mfxer 30 mr. 30,31 + or. 30,31,31 mr 30,31 + or 30,31,31 mtcr 3 mtcrf 0x80,3 mtctr 19 @@ -155,7 +159,9 @@ nor. 20,21,22 nor 20,21,22 not. 20,21 + nor. 20,21,21 not 20,21 + nor 20,21,21 or 0,2,4 or. 12,14,16 orc 15,16,17 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/ppc/spe.d binutils-2.30.52.20180613/gas/testsuite/gas/ppc/spe.d --- binutils-2.30.51.20180512/gas/testsuite/gas/ppc/spe.d 2017-12-07 08:50:07.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/ppc/spe.d 2018-06-04 21:27:35.000000000 +0200 @@ -8,260 +8,263 @@ Disassembly of section .text: 00000000 <.text>: - 0: 10 01 12 00 evaddw r0,r1,r2 - 4: 10 1f 12 02 evaddiw r0,r2,31 - 8: 10 01 12 04 evsubfw r0,r1,r2 - c: 10 01 12 04 evsubfw r0,r1,r2 - 10: 10 1f 12 06 evsubifw r0,31,r2 - 14: 10 1f 12 06 evsubifw r0,31,r2 - 18: 10 01 02 08 evabs r0,r1 - 1c: 10 01 02 09 evneg r0,r1 - 20: 10 01 02 0a evextsb r0,r1 - 24: 10 01 02 0b evextsh r0,r1 - 28: 10 01 02 0c evrndw r0,r1 - 2c: 10 01 02 0d evcntlzw r0,r1 - 30: 10 01 02 0e evcntlsw r0,r1 - 34: 10 01 12 0f brinc r0,r1,r2 - 38: 10 01 12 11 evand r0,r1,r2 - 3c: 10 01 12 12 evandc r0,r1,r2 - 40: 10 01 12 16 evxor r0,r1,r2 - 44: 10 01 0a 17 evmr r0,r1 - 48: 10 01 12 17 evor r0,r1,r2 - 4c: 10 01 12 18 evnor r0,r1,r2 - 50: 10 01 0a 18 evnor r0,r1,r1 - 54: 10 01 12 19 eveqv r0,r1,r2 - 58: 10 01 12 1b evorc r0,r1,r2 - 5c: 10 01 12 1e evnand r0,r1,r2 - 60: 10 01 12 20 evsrwu r0,r1,r2 - 64: 10 01 12 21 evsrws r0,r1,r2 - 68: 10 01 fa 22 evsrwiu r0,r1,31 - 6c: 10 01 fa 23 evsrwis r0,r1,31 - 70: 10 01 12 24 evslw r0,r1,r2 - 74: 10 01 fa 26 evslwi r0,r1,31 - 78: 10 01 12 28 evrlw r0,r1,r2 - 7c: 10 10 02 29 evsplati r0,-16 - 80: 10 01 fa 2a evrlwi r0,r1,31 - 84: 10 10 02 2b evsplatfi r0,-16 - 88: 10 01 12 2c evmergehi r0,r1,r2 - 8c: 10 01 12 2d evmergelo r0,r1,r2 - 90: 10 01 12 2e evmergehilo r0,r1,r2 - 94: 10 01 12 2f evmergelohi r0,r1,r2 - 98: 10 01 12 30 evcmpgtu cr0,r1,r2 - 9c: 10 01 12 31 evcmpgts cr0,r1,r2 - a0: 10 01 12 32 evcmpltu cr0,r1,r2 - a4: 10 01 12 33 evcmplts cr0,r1,r2 - a8: 10 01 12 34 evcmpeq cr0,r1,r2 - ac: 10 01 12 78 evsel r0,r1,r2,cr0 - b0: 10 01 12 80 evfsadd r0,r1,r2 - b4: 10 01 12 81 evfssub r0,r1,r2 - b8: 10 01 12 82 evfsmadd r0,r1,r2 - bc: 10 01 12 83 evfsmsub r0,r1,r2 - c0: 10 01 02 84 evfsabs r0,r1 - c4: 10 01 02 85 evfsnabs r0,r1 - c8: 10 01 02 86 evfsneg r0,r1 - cc: 10 01 12 88 evfsmul r0,r1,r2 - d0: 10 01 12 89 evfsdiv r0,r1,r2 - d4: 10 01 12 8a evfsnmadd r0,r1,r2 - d8: 10 01 12 8b evfsnmsub r0,r1,r2 - dc: 10 01 12 8c evfscmpgt cr0,r1,r2 - e0: 10 01 12 8d evfscmplt cr0,r1,r2 - e4: 10 01 12 8e evfscmpeq cr0,r1,r2 - e8: 10 00 12 90 evfscfui r0,r2 - ec: 10 00 12 91 evfscfsi r0,r2 - f0: 10 00 12 92 evfscfuf r0,r2 - f4: 10 00 12 93 evfscfsf r0,r2 - f8: 10 00 12 94 evfsctui r0,r2 - fc: 10 00 12 95 evfsctsi r0,r2 - 100: 10 00 12 96 evfsctuf r0,r2 - 104: 10 00 12 97 evfsctsf r0,r2 - 108: 10 00 12 98 evfsctuiz r0,r2 - 10c: 10 00 12 9a evfsctsiz r0,r2 - 110: 10 01 12 9c evfststgt cr0,r1,r2 - 114: 10 01 12 9d evfststlt cr0,r1,r2 - 118: 10 01 12 9e evfststeq cr0,r1,r2 - 11c: 10 01 13 00 evlddx r0,r1,r2 - 120: 10 01 0b 01 evldd r0,8\(r1\) - 124: 10 01 13 02 evldwx r0,r1,r2 - 128: 10 01 0b 03 evldw r0,8\(r1\) - 12c: 10 01 13 04 evldhx r0,r1,r2 - 130: 10 01 0b 05 evldh r0,8\(r1\) - 134: 10 01 13 08 evlhhesplatx r0,r1,r2 - 138: 10 01 0b 09 evlhhesplat r0,2\(r1\) - 13c: 10 01 13 0c evlhhousplatx r0,r1,r2 - 140: 10 01 0b 0d evlhhousplat r0,2\(r1\) - 144: 10 01 13 0e evlhhossplatx r0,r1,r2 - 148: 10 01 0b 0f evlhhossplat r0,2\(r1\) - 14c: 10 01 13 10 evlwhex r0,r1,r2 - 150: 10 01 0b 11 evlwhe r0,4\(r1\) - 154: 10 01 13 14 evlwhoux r0,r1,r2 - 158: 10 01 0b 15 evlwhou r0,4\(r1\) - 15c: 10 01 13 16 evlwhosx r0,r1,r2 - 160: 10 01 0b 17 evlwhos r0,4\(r1\) - 164: 10 01 13 18 evlwwsplatx r0,r1,r2 - 168: 10 01 0b 19 evlwwsplat r0,4\(r1\) - 16c: 10 01 13 1c evlwhsplatx r0,r1,r2 - 170: 10 01 0b 1d evlwhsplat r0,4\(r1\) - 174: 10 01 13 20 evstddx r0,r1,r2 - 178: 10 01 0b 21 evstdd r0,8\(r1\) - 17c: 10 01 13 22 evstdwx r0,r1,r2 - 180: 10 01 0b 23 evstdw r0,8\(r1\) - 184: 10 01 13 24 evstdhx r0,r1,r2 - 188: 10 01 0b 25 evstdh r0,8\(r1\) - 18c: 10 01 13 30 evstwhex r0,r1,r2 - 190: 10 01 0b 31 evstwhe r0,4\(r1\) - 194: 10 01 13 34 evstwhox r0,r1,r2 - 198: 10 01 0b 35 evstwho r0,4\(r1\) - 19c: 10 01 13 38 evstwwex r0,r1,r2 - 1a0: 10 01 0b 39 evstwwe r0,4\(r1\) - 1a4: 10 01 13 3c evstwwox r0,r1,r2 - 1a8: 10 01 0b 3d evstwwo r0,4\(r1\) - 1ac: 10 01 14 03 evmhessf r0,r1,r2 - 1b0: 10 01 14 07 evmhossf r0,r1,r2 - 1b4: 10 01 14 08 evmheumi r0,r1,r2 - 1b8: 10 01 14 09 evmhesmi r0,r1,r2 - 1bc: 10 01 14 0b evmhesmf r0,r1,r2 - 1c0: 10 01 14 0c evmhoumi r0,r1,r2 - 1c4: 10 01 14 0d evmhosmi r0,r1,r2 - 1c8: 10 01 14 0f evmhosmf r0,r1,r2 - 1cc: 10 01 14 23 evmhessfa r0,r1,r2 - 1d0: 10 01 14 27 evmhossfa r0,r1,r2 - 1d4: 10 01 14 28 evmheumia r0,r1,r2 - 1d8: 10 01 14 29 evmhesmia r0,r1,r2 - 1dc: 10 01 14 2b evmhesmfa r0,r1,r2 - 1e0: 10 01 14 2c evmhoumia r0,r1,r2 - 1e4: 10 01 14 2d evmhosmia r0,r1,r2 - 1e8: 10 01 14 2f evmhosmfa r0,r1,r2 - 1ec: 10 01 14 43 evmwlssf r0,r1,r2 - 1f0: 10 01 14 47 evmwhssf r0,r1,r2 - 1f4: 10 01 14 48 evmwlumi r0,r1,r2 - 1f8: 10 01 14 4b evmwlsmf r0,r1,r2 - 1fc: 10 01 14 4c evmwhumi r0,r1,r2 - 200: 10 01 14 4d evmwhsmi r0,r1,r2 - 204: 10 01 14 4f evmwhsmf r0,r1,r2 - 208: 10 01 14 53 evmwssf r0,r1,r2 - 20c: 10 01 14 58 evmwumi r0,r1,r2 - 210: 10 01 14 59 evmwsmi r0,r1,r2 - 214: 10 01 14 5b evmwsmf r0,r1,r2 - 218: 10 01 14 63 evmwlssfa r0,r1,r2 - 21c: 10 01 14 67 evmwhssfa r0,r1,r2 - 220: 10 01 14 68 evmwlumia r0,r1,r2 - 224: 10 01 14 6b evmwlsmfa r0,r1,r2 - 228: 10 01 14 6c evmwhumia r0,r1,r2 - 22c: 10 01 14 6d evmwhsmia r0,r1,r2 - 230: 10 01 14 6f evmwhsmfa r0,r1,r2 - 234: 10 01 14 73 evmwssfa r0,r1,r2 - 238: 10 01 14 78 evmwumia r0,r1,r2 - 23c: 10 01 14 79 evmwsmia r0,r1,r2 - 240: 10 01 14 7b evmwsmfa r0,r1,r2 - 244: 10 01 04 c0 evaddusiaaw r0,r1 - 248: 10 01 04 c1 evaddssiaaw r0,r1 - 24c: 10 01 04 c2 evsubfusiaaw r0,r1 - 250: 10 01 04 c3 evsubfssiaaw r0,r1 - 254: 10 01 04 c4 evmra r0,r1 - 258: 10 01 14 c6 evdivws r0,r1,r2 - 25c: 10 01 14 c7 evdivwu r0,r1,r2 - 260: 10 01 04 c8 evaddumiaaw r0,r1 - 264: 10 01 04 c9 evaddsmiaaw r0,r1 - 268: 10 01 04 ca evsubfumiaaw r0,r1 - 26c: 10 01 04 cb evsubfsmiaaw r0,r1 - 270: 10 01 15 00 evmheusiaaw r0,r1,r2 - 274: 10 01 15 01 evmhessiaaw r0,r1,r2 - 278: 10 01 15 03 evmhessfaaw r0,r1,r2 - 27c: 10 01 15 04 evmhousiaaw r0,r1,r2 - 280: 10 01 15 05 evmhossiaaw r0,r1,r2 - 284: 10 01 15 07 evmhossfaaw r0,r1,r2 - 288: 10 01 15 08 evmheumiaaw r0,r1,r2 - 28c: 10 01 15 09 evmhesmiaaw r0,r1,r2 - 290: 10 01 15 0b evmhesmfaaw r0,r1,r2 - 294: 10 01 15 0c evmhoumiaaw r0,r1,r2 - 298: 10 01 15 0d evmhosmiaaw r0,r1,r2 - 29c: 10 01 15 0f evmhosmfaaw r0,r1,r2 - 2a0: 10 01 15 28 evmhegumiaa r0,r1,r2 - 2a4: 10 01 15 29 evmhegsmiaa r0,r1,r2 - 2a8: 10 01 15 2b evmhegsmfaa r0,r1,r2 - 2ac: 10 01 15 2c evmhogumiaa r0,r1,r2 - 2b0: 10 01 15 2d evmhogsmiaa r0,r1,r2 - 2b4: 10 01 15 2f evmhogsmfaa r0,r1,r2 - 2b8: 10 01 15 40 evmwlusiaaw r0,r1,r2 - 2bc: 10 01 15 41 evmwlssiaaw r0,r1,r2 - 2c0: 10 01 15 43 evmwlssfaaw r0,r1,r2 - 2c4: 10 01 15 44 evmwhusiaa r0,r1,r2 - 2c8: 10 01 15 45 evmwhssmaa r0,r1,r2 - 2cc: 10 01 15 47 evmwhssfaa r0,r1,r2 - 2d0: 10 01 15 48 evmwlumiaaw r0,r1,r2 - 2d4: 10 01 15 49 evmwlsmiaaw r0,r1,r2 - 2d8: 10 01 15 4b evmwlsmfaaw r0,r1,r2 - 2dc: 10 01 15 4c evmwhumiaa r0,r1,r2 - 2e0: 10 01 15 4d evmwhsmiaa r0,r1,r2 - 2e4: 10 01 15 4f evmwhsmfaa r0,r1,r2 - 2e8: 10 01 15 53 evmwssfaa r0,r1,r2 - 2ec: 10 01 15 58 evmwumiaa r0,r1,r2 - 2f0: 10 01 15 59 evmwsmiaa r0,r1,r2 - 2f4: 10 01 15 5b evmwsmfaa r0,r1,r2 - 2f8: 10 01 15 64 evmwhgumiaa r0,r1,r2 - 2fc: 10 01 15 65 evmwhgsmiaa r0,r1,r2 - 300: 10 01 15 67 evmwhgssfaa r0,r1,r2 - 304: 10 01 15 6f evmwhgsmfaa r0,r1,r2 - 308: 10 01 15 80 evmheusianw r0,r1,r2 - 30c: 10 01 15 81 evmhessianw r0,r1,r2 - 310: 10 01 15 83 evmhessfanw r0,r1,r2 - 314: 10 01 15 84 evmhousianw r0,r1,r2 - 318: 10 01 15 85 evmhossianw r0,r1,r2 - 31c: 10 01 15 87 evmhossfanw r0,r1,r2 - 320: 10 01 15 88 evmheumianw r0,r1,r2 - 324: 10 01 15 89 evmhesmianw r0,r1,r2 - 328: 10 01 15 8b evmhesmfanw r0,r1,r2 - 32c: 10 01 15 8c evmhoumianw r0,r1,r2 - 330: 10 01 15 8d evmhosmianw r0,r1,r2 - 334: 10 01 15 8f evmhosmfanw r0,r1,r2 - 338: 10 01 15 a8 evmhegumian r0,r1,r2 - 33c: 10 01 15 a9 evmhegsmian r0,r1,r2 - 340: 10 01 15 ab evmhegsmfan r0,r1,r2 - 344: 10 01 15 ac evmhogumian r0,r1,r2 - 348: 10 01 15 ad evmhogsmian r0,r1,r2 - 34c: 10 01 15 af evmhogsmfan r0,r1,r2 - 350: 10 01 15 c0 evmwlusianw r0,r1,r2 - 354: 10 01 15 c1 evmwlssianw r0,r1,r2 - 358: 10 01 15 c3 evmwlssfanw r0,r1,r2 - 35c: 10 01 15 c4 evmwhusian r0,r1,r2 - 360: 10 01 15 c5 evmwhssian r0,r1,r2 - 364: 10 01 15 c7 evmwhssfan r0,r1,r2 - 368: 10 01 15 c8 evmwlumianw r0,r1,r2 - 36c: 10 01 15 c9 evmwlsmianw r0,r1,r2 - 370: 10 01 15 cb evmwlsmfanw r0,r1,r2 - 374: 10 01 15 cc evmwhumian r0,r1,r2 - 378: 10 01 15 cd evmwhsmian r0,r1,r2 - 37c: 10 01 15 cf evmwhsmfan r0,r1,r2 - 380: 10 01 15 d3 evmwssfan r0,r1,r2 - 384: 10 01 15 d8 evmwumian r0,r1,r2 - 388: 10 01 15 d9 evmwsmian r0,r1,r2 - 38c: 10 01 15 db evmwsmfan r0,r1,r2 - 390: 10 01 15 e4 evmwhgumian r0,r1,r2 - 394: 10 01 15 e5 evmwhgsmian r0,r1,r2 - 398: 10 01 15 e7 evmwhgssfan r0,r1,r2 - 39c: 10 01 15 ef evmwhgsmfan r0,r1,r2 - 3a0: 7c 01 16 3e evlddepx r0,r1,r2 - 3a4: 7c 01 17 3e evstddepx r0,r1,r2 - 3a8: 10 01 12 c0 efsadd r0,r1,r2 - 3ac: 10 01 12 c1 efssub r0,r1,r2 - 3b0: 10 01 02 c4 efsabs r0,r1 - 3b4: 10 01 02 c5 efsnabs r0,r1 - 3b8: 10 01 02 c6 efsneg r0,r1 - 3bc: 10 01 12 c8 efsmul r0,r1,r2 - 3c0: 10 01 12 c9 efsdiv r0,r1,r2 - 3c4: 10 01 12 cc efscmpgt cr0,r1,r2 - 3c8: 10 01 12 cd efscmplt cr0,r1,r2 - 3cc: 10 01 12 ce efscmpeq cr0,r1,r2 - 3d0: 10 00 12 d0 efscfui r0,r2 - 3d4: 10 00 12 d1 efscfsi r0,r2 - 3d8: 10 00 12 d2 efscfuf r0,r2 - 3dc: 10 00 12 d3 efscfsf r0,r2 - 3e0: 10 00 12 d4 efsctui r0,r2 - 3e4: 10 00 12 d5 efsctsi r0,r2 - 3e8: 10 00 12 d6 efsctuf r0,r2 - 3ec: 10 00 12 d7 efsctsf r0,r2 - 3f0: 10 00 12 d8 efsctuiz r0,r2 - 3f4: 10 00 12 da efsctsiz r0,r2 - 3f8: 10 01 12 dc efststgt cr0,r1,r2 - 3fc: 10 01 12 dd efststlt cr0,r1,r2 - 400: 10 01 12 de efststeq cr0,r1,r2 +.*: 10 01 12 00 evaddw r0,r1,r2 +.*: 10 1f 12 02 evaddiw r0,r2,31 +.*: 10 01 12 04 evsubfw r0,r1,r2 +.*: 10 01 12 04 evsubfw r0,r1,r2 +.*: 10 1f 12 06 evsubifw r0,31,r2 +.*: 10 1f 12 06 evsubifw r0,31,r2 +.*: 10 01 02 08 evabs r0,r1 +.*: 10 01 02 09 evneg r0,r1 +.*: 10 01 02 0a evextsb r0,r1 +.*: 10 01 02 0b evextsh r0,r1 +.*: 10 01 02 0c evrndw r0,r1 +.*: 10 01 02 0d evcntlzw r0,r1 +.*: 10 01 02 0e evcntlsw r0,r1 +.*: 10 01 12 0f brinc r0,r1,r2 +.*: 10 01 12 11 evand r0,r1,r2 +.*: 10 01 12 12 evandc r0,r1,r2 +.*: 10 01 12 16 evxor r0,r1,r2 +.*: 10 01 0a 17 evmr r0,r1 +.*: 10 01 0a 17 evmr r0,r1 +.*: 10 01 12 17 evor r0,r1,r2 +.*: 10 01 12 18 evnor r0,r1,r2 +.*: 10 01 0a 18 evnot r0,r1 +.*: 10 01 0a 18 evnot r0,r1 +.*: 10 01 12 19 eveqv r0,r1,r2 +.*: 10 01 12 1b evorc r0,r1,r2 +.*: 10 01 12 1e evnand r0,r1,r2 +.*: 10 01 12 20 evsrwu r0,r1,r2 +.*: 10 01 12 21 evsrws r0,r1,r2 +.*: 10 01 fa 22 evsrwiu r0,r1,31 +.*: 10 01 fa 23 evsrwis r0,r1,31 +.*: 10 01 12 24 evslw r0,r1,r2 +.*: 10 01 fa 26 evslwi r0,r1,31 +.*: 10 01 12 28 evrlw r0,r1,r2 +.*: 10 10 02 29 evsplati r0,-16 +.*: 10 01 fa 2a evrlwi r0,r1,31 +.*: 10 10 02 2b evsplatfi r0,-16 +.*: 10 01 12 2c evmergehi r0,r1,r2 +.*: 10 01 12 2d evmergelo r0,r1,r2 +.*: 10 01 12 2e evmergehilo r0,r1,r2 +.*: 10 01 12 2f evmergelohi r0,r1,r2 +.*: 10 01 12 30 evcmpgtu cr0,r1,r2 +.*: 10 01 12 31 evcmpgts cr0,r1,r2 +.*: 10 01 12 32 evcmpltu cr0,r1,r2 +.*: 10 01 12 33 evcmplts cr0,r1,r2 +.*: 10 01 12 34 evcmpeq cr0,r1,r2 +.*: 10 01 12 78 evsel r0,r1,r2,cr0 +.*: 10 01 12 80 evfsadd r0,r1,r2 +.*: 10 01 12 81 evfssub r0,r1,r2 +.*: 10 01 12 82 evfsmadd r0,r1,r2 +.*: 10 01 12 83 evfsmsub r0,r1,r2 +.*: 10 01 02 84 evfsabs r0,r1 +.*: 10 01 02 85 evfsnabs r0,r1 +.*: 10 01 02 86 evfsneg r0,r1 +.*: 10 01 12 88 evfsmul r0,r1,r2 +.*: 10 01 12 89 evfsdiv r0,r1,r2 +.*: 10 01 12 8a evfsnmadd r0,r1,r2 +.*: 10 01 12 8b evfsnmsub r0,r1,r2 +.*: 10 01 12 8c evfscmpgt cr0,r1,r2 +.*: 10 01 12 8d evfscmplt cr0,r1,r2 +.*: 10 01 12 8e evfscmpeq cr0,r1,r2 +.*: 10 00 12 90 evfscfui r0,r2 +.*: 10 00 12 91 evfscfsi r0,r2 +.*: 10 00 12 92 evfscfuf r0,r2 +.*: 10 00 12 93 evfscfsf r0,r2 +.*: 10 00 12 94 evfsctui r0,r2 +.*: 10 00 12 95 evfsctsi r0,r2 +.*: 10 00 12 96 evfsctuf r0,r2 +.*: 10 00 12 97 evfsctsf r0,r2 +.*: 10 00 12 98 evfsctuiz r0,r2 +.*: 10 00 12 9a evfsctsiz r0,r2 +.*: 10 01 12 9c evfststgt cr0,r1,r2 +.*: 10 01 12 9d evfststlt cr0,r1,r2 +.*: 10 01 12 9e evfststeq cr0,r1,r2 +.*: 10 01 13 00 evlddx r0,r1,r2 +.*: 10 01 0b 01 evldd r0,8\(r1\) +.*: 10 01 13 02 evldwx r0,r1,r2 +.*: 10 01 0b 03 evldw r0,8\(r1\) +.*: 10 01 13 04 evldhx r0,r1,r2 +.*: 10 01 0b 05 evldh r0,8\(r1\) +.*: 10 01 13 08 evlhhesplatx r0,r1,r2 +.*: 10 01 0b 09 evlhhesplat r0,2\(r1\) +.*: 10 01 13 0c evlhhousplatx r0,r1,r2 +.*: 10 01 0b 0d evlhhousplat r0,2\(r1\) +.*: 10 01 13 0e evlhhossplatx r0,r1,r2 +.*: 10 01 0b 0f evlhhossplat r0,2\(r1\) +.*: 10 01 13 10 evlwhex r0,r1,r2 +.*: 10 01 0b 11 evlwhe r0,4\(r1\) +.*: 10 01 13 14 evlwhoux r0,r1,r2 +.*: 10 01 0b 15 evlwhou r0,4\(r1\) +.*: 10 01 13 16 evlwhosx r0,r1,r2 +.*: 10 01 0b 17 evlwhos r0,4\(r1\) +.*: 10 01 13 18 evlwwsplatx r0,r1,r2 +.*: 10 01 0b 19 evlwwsplat r0,4\(r1\) +.*: 10 01 13 1c evlwhsplatx r0,r1,r2 +.*: 10 01 0b 1d evlwhsplat r0,4\(r1\) +.*: 10 01 13 20 evstddx r0,r1,r2 +.*: 10 01 0b 21 evstdd r0,8\(r1\) +.*: 10 01 13 22 evstdwx r0,r1,r2 +.*: 10 01 0b 23 evstdw r0,8\(r1\) +.*: 10 01 13 24 evstdhx r0,r1,r2 +.*: 10 01 0b 25 evstdh r0,8\(r1\) +.*: 10 01 13 30 evstwhex r0,r1,r2 +.*: 10 01 0b 31 evstwhe r0,4\(r1\) +.*: 10 01 13 34 evstwhox r0,r1,r2 +.*: 10 01 0b 35 evstwho r0,4\(r1\) +.*: 10 01 13 38 evstwwex r0,r1,r2 +.*: 10 01 0b 39 evstwwe r0,4\(r1\) +.*: 10 01 13 3c evstwwox r0,r1,r2 +.*: 10 01 0b 3d evstwwo r0,4\(r1\) +.*: 10 01 14 03 evmhessf r0,r1,r2 +.*: 10 01 14 07 evmhossf r0,r1,r2 +.*: 10 01 14 08 evmheumi r0,r1,r2 +.*: 10 01 14 09 evmhesmi r0,r1,r2 +.*: 10 01 14 0b evmhesmf r0,r1,r2 +.*: 10 01 14 0c evmhoumi r0,r1,r2 +.*: 10 01 14 0d evmhosmi r0,r1,r2 +.*: 10 01 14 0f evmhosmf r0,r1,r2 +.*: 10 01 14 23 evmhessfa r0,r1,r2 +.*: 10 01 14 27 evmhossfa r0,r1,r2 +.*: 10 01 14 28 evmheumia r0,r1,r2 +.*: 10 01 14 29 evmhesmia r0,r1,r2 +.*: 10 01 14 2b evmhesmfa r0,r1,r2 +.*: 10 01 14 2c evmhoumia r0,r1,r2 +.*: 10 01 14 2d evmhosmia r0,r1,r2 +.*: 10 01 14 2f evmhosmfa r0,r1,r2 +.*: 10 01 14 43 evmwlssf r0,r1,r2 +.*: 10 01 14 47 evmwhssf r0,r1,r2 +.*: 10 01 14 48 evmwlumi r0,r1,r2 +.*: 10 01 14 4b evmwlsmf r0,r1,r2 +.*: 10 01 14 4c evmwhumi r0,r1,r2 +.*: 10 01 14 4d evmwhsmi r0,r1,r2 +.*: 10 01 14 4f evmwhsmf r0,r1,r2 +.*: 10 01 14 53 evmwssf r0,r1,r2 +.*: 10 01 14 58 evmwumi r0,r1,r2 +.*: 10 01 14 59 evmwsmi r0,r1,r2 +.*: 10 01 14 5b evmwsmf r0,r1,r2 +.*: 10 01 14 63 evmwlssfa r0,r1,r2 +.*: 10 01 14 67 evmwhssfa r0,r1,r2 +.*: 10 01 14 68 evmwlumia r0,r1,r2 +.*: 10 01 14 6b evmwlsmfa r0,r1,r2 +.*: 10 01 14 6c evmwhumia r0,r1,r2 +.*: 10 01 14 6d evmwhsmia r0,r1,r2 +.*: 10 01 14 6f evmwhsmfa r0,r1,r2 +.*: 10 01 14 73 evmwssfa r0,r1,r2 +.*: 10 01 14 78 evmwumia r0,r1,r2 +.*: 10 01 14 79 evmwsmia r0,r1,r2 +.*: 10 01 14 7b evmwsmfa r0,r1,r2 +.*: 10 01 04 c0 evaddusiaaw r0,r1 +.*: 10 01 04 c1 evaddssiaaw r0,r1 +.*: 10 01 04 c2 evsubfusiaaw r0,r1 +.*: 10 01 04 c3 evsubfssiaaw r0,r1 +.*: 10 01 04 c4 evmra r0,r1 +.*: 10 01 14 c6 evdivws r0,r1,r2 +.*: 10 01 14 c7 evdivwu r0,r1,r2 +.*: 10 01 04 c8 evaddumiaaw r0,r1 +.*: 10 01 04 c9 evaddsmiaaw r0,r1 +.*: 10 01 04 ca evsubfumiaaw r0,r1 +.*: 10 01 04 cb evsubfsmiaaw r0,r1 +.*: 10 01 15 00 evmheusiaaw r0,r1,r2 +.*: 10 01 15 01 evmhessiaaw r0,r1,r2 +.*: 10 01 15 03 evmhessfaaw r0,r1,r2 +.*: 10 01 15 04 evmhousiaaw r0,r1,r2 +.*: 10 01 15 05 evmhossiaaw r0,r1,r2 +.*: 10 01 15 07 evmhossfaaw r0,r1,r2 +.*: 10 01 15 08 evmheumiaaw r0,r1,r2 +.*: 10 01 15 09 evmhesmiaaw r0,r1,r2 +.*: 10 01 15 0b evmhesmfaaw r0,r1,r2 +.*: 10 01 15 0c evmhoumiaaw r0,r1,r2 +.*: 10 01 15 0d evmhosmiaaw r0,r1,r2 +.*: 10 01 15 0f evmhosmfaaw r0,r1,r2 +.*: 10 01 15 28 evmhegumiaa r0,r1,r2 +.*: 10 01 15 29 evmhegsmiaa r0,r1,r2 +.*: 10 01 15 2b evmhegsmfaa r0,r1,r2 +.*: 10 01 15 2c evmhogumiaa r0,r1,r2 +.*: 10 01 15 2d evmhogsmiaa r0,r1,r2 +.*: 10 01 15 2f evmhogsmfaa r0,r1,r2 +.*: 10 01 15 40 evmwlusiaaw r0,r1,r2 +.*: 10 01 15 41 evmwlssiaaw r0,r1,r2 +.*: 10 01 15 43 evmwlssfaaw r0,r1,r2 +.*: 10 01 15 44 evmwhusiaa r0,r1,r2 +.*: 10 01 15 45 evmwhssmaa r0,r1,r2 +.*: 10 01 15 47 evmwhssfaa r0,r1,r2 +.*: 10 01 15 48 evmwlumiaaw r0,r1,r2 +.*: 10 01 15 49 evmwlsmiaaw r0,r1,r2 +.*: 10 01 15 4b evmwlsmfaaw r0,r1,r2 +.*: 10 01 15 4c evmwhumiaa r0,r1,r2 +.*: 10 01 15 4d evmwhsmiaa r0,r1,r2 +.*: 10 01 15 4f evmwhsmfaa r0,r1,r2 +.*: 10 01 15 53 evmwssfaa r0,r1,r2 +.*: 10 01 15 58 evmwumiaa r0,r1,r2 +.*: 10 01 15 59 evmwsmiaa r0,r1,r2 +.*: 10 01 15 5b evmwsmfaa r0,r1,r2 +.*: 10 01 15 64 evmwhgumiaa r0,r1,r2 +.*: 10 01 15 65 evmwhgsmiaa r0,r1,r2 +.*: 10 01 15 67 evmwhgssfaa r0,r1,r2 +.*: 10 01 15 6f evmwhgsmfaa r0,r1,r2 +.*: 10 01 15 80 evmheusianw r0,r1,r2 +.*: 10 01 15 81 evmhessianw r0,r1,r2 +.*: 10 01 15 83 evmhessfanw r0,r1,r2 +.*: 10 01 15 84 evmhousianw r0,r1,r2 +.*: 10 01 15 85 evmhossianw r0,r1,r2 +.*: 10 01 15 87 evmhossfanw r0,r1,r2 +.*: 10 01 15 88 evmheumianw r0,r1,r2 +.*: 10 01 15 89 evmhesmianw r0,r1,r2 +.*: 10 01 15 8b evmhesmfanw r0,r1,r2 +.*: 10 01 15 8c evmhoumianw r0,r1,r2 +.*: 10 01 15 8d evmhosmianw r0,r1,r2 +.*: 10 01 15 8f evmhosmfanw r0,r1,r2 +.*: 10 01 15 a8 evmhegumian r0,r1,r2 +.*: 10 01 15 a9 evmhegsmian r0,r1,r2 +.*: 10 01 15 ab evmhegsmfan r0,r1,r2 +.*: 10 01 15 ac evmhogumian r0,r1,r2 +.*: 10 01 15 ad evmhogsmian r0,r1,r2 +.*: 10 01 15 af evmhogsmfan r0,r1,r2 +.*: 10 01 15 c0 evmwlusianw r0,r1,r2 +.*: 10 01 15 c1 evmwlssianw r0,r1,r2 +.*: 10 01 15 c3 evmwlssfanw r0,r1,r2 +.*: 10 01 15 c4 evmwhusian r0,r1,r2 +.*: 10 01 15 c5 evmwhssian r0,r1,r2 +.*: 10 01 15 c7 evmwhssfan r0,r1,r2 +.*: 10 01 15 c8 evmwlumianw r0,r1,r2 +.*: 10 01 15 c9 evmwlsmianw r0,r1,r2 +.*: 10 01 15 cb evmwlsmfanw r0,r1,r2 +.*: 10 01 15 cc evmwhumian r0,r1,r2 +.*: 10 01 15 cd evmwhsmian r0,r1,r2 +.*: 10 01 15 cf evmwhsmfan r0,r1,r2 +.*: 10 01 15 d3 evmwssfan r0,r1,r2 +.*: 10 01 15 d8 evmwumian r0,r1,r2 +.*: 10 01 15 d9 evmwsmian r0,r1,r2 +.*: 10 01 15 db evmwsmfan r0,r1,r2 +.*: 10 01 15 e4 evmwhgumian r0,r1,r2 +.*: 10 01 15 e5 evmwhgsmian r0,r1,r2 +.*: 10 01 15 e7 evmwhgssfan r0,r1,r2 +.*: 10 01 15 ef evmwhgsmfan r0,r1,r2 +.*: 7c 01 16 3e evlddepx r0,r1,r2 +.*: 7c 01 17 3e evstddepx r0,r1,r2 +.*: 10 01 12 c0 efsadd r0,r1,r2 +.*: 10 01 12 c1 efssub r0,r1,r2 +.*: 10 01 02 c4 efsabs r0,r1 +.*: 10 01 02 c5 efsnabs r0,r1 +.*: 10 01 02 c6 efsneg r0,r1 +.*: 10 01 12 c8 efsmul r0,r1,r2 +.*: 10 01 12 c9 efsdiv r0,r1,r2 +.*: 10 01 12 cc efscmpgt cr0,r1,r2 +.*: 10 01 12 cd efscmplt cr0,r1,r2 +.*: 10 01 12 ce efscmpeq cr0,r1,r2 +.*: 10 00 12 d0 efscfui r0,r2 +.*: 10 00 12 d1 efscfsi r0,r2 +.*: 10 00 12 d2 efscfuf r0,r2 +.*: 10 00 12 d3 efscfsf r0,r2 +.*: 10 00 12 d4 efsctui r0,r2 +.*: 10 00 12 d5 efsctsi r0,r2 +.*: 10 00 12 d6 efsctuf r0,r2 +.*: 10 00 12 d7 efsctsf r0,r2 +.*: 10 00 12 d8 efsctuiz r0,r2 +.*: 10 00 12 da efsctsiz r0,r2 +.*: 10 01 12 dc efststgt cr0,r1,r2 +.*: 10 01 12 dd efststlt cr0,r1,r2 +.*: 10 01 12 de efststeq cr0,r1,r2 +#pass diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/ppc/spe.s binutils-2.30.52.20180613/gas/testsuite/gas/ppc/spe.s --- binutils-2.30.51.20180512/gas/testsuite/gas/ppc/spe.s 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/gas/testsuite/gas/ppc/spe.s 2018-06-04 21:27:35.000000000 +0200 @@ -31,9 +31,11 @@ evandc rS, rA, rB evxor rS, rA, rB evmr rS, rA + evor rS, rA, rA evor rS, rA, rB evnor rS, rA, rB evnot rS, rA + evnor rS, rA, rA eveqv rS, rA, rB evorc rS, rA, rB evnand rS, rA, rB diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/riscv/no-relax-align-2.d binutils-2.30.52.20180613/gas/testsuite/gas/riscv/no-relax-align-2.d --- binutils-2.30.51.20180512/gas/testsuite/gas/riscv/no-relax-align-2.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/riscv/no-relax-align-2.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ +#as: +#objdump: -dr + +.*:[ ]+file format .* + + +Disassembly of section .text: + +0+000 <.text>: +[ ]+0:[ ]+0000[ ]+unimp +[ ]+2:[ ]+0001[ ]+nop +[ ]+4:[ ]+00000013[ ]+nop +[ ]+8:[ ]+00000013[ ]+nop +[ ]+c:[ ]+00000013[ ]+nop +[ ]+10:[ ]+0001[ ]+nop +[ ]+12:[ ]+0001[ ]+nop +[ ]+14:[ ]+00000013[ ]+nop +[ ]+18:[ ]+00000013[ ]+nop +[ ]+1c:[ ]+00000013[ ]+nop diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/riscv/no-relax-align-2.s binutils-2.30.52.20180613/gas/testsuite/gas/riscv/no-relax-align-2.s --- binutils-2.30.51.20180512/gas/testsuite/gas/riscv/no-relax-align-2.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/riscv/no-relax-align-2.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,5 @@ + .option norelax + .option rvc + .byte 0 + .align 4 + nop diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/riscv/no-relax-align.d binutils-2.30.52.20180613/gas/testsuite/gas/riscv/no-relax-align.d --- binutils-2.30.51.20180512/gas/testsuite/gas/riscv/no-relax-align.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/riscv/no-relax-align.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,13 @@ +#as: +#objdump: -dr + +.*:[ ]+file format .* + + +Disassembly of section .text: + +0+000 <.text>: +[ ]+0:[ ]+00000013[ ]+nop +[ ]+4:[ ]+00000013[ ]+nop +[ ]+8:[ ]+00000013[ ]+nop +[ ]+c:[ ]+00000013[ ]+nop diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/riscv/no-relax-align.s binutils-2.30.52.20180613/gas/testsuite/gas/riscv/no-relax-align.s --- binutils-2.30.51.20180512/gas/testsuite/gas/riscv/no-relax-align.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/riscv/no-relax-align.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,4 @@ + .option norelax + .align 4 + nop + nop diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/abs.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/abs.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/abs.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/abs.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ +#objdump: -d +#name: +#source: abs.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 40 abs d2 + 2: 1b 41 abs d3 + 4: 1b 42 abs d4 + 6: 1b 43 abs d5 + 8: 1b 44 abs d0 + a: 1b 45 abs d1 + c: 1b 46 abs d6 + e: 1b 47 abs d7 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/abs.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/abs.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/abs.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/abs.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ + abs d2 + abs d3 + abs d4 + abs d5 + abs d0 + abs d1 + abs d6 + abs d7 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/adc-imm.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/adc-imm.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/adc-imm.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/adc-imm.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: +#source: adc-imm.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 50 12 34 adc d2, #4660 + 4: 1b 51 12 34 adc d3, #4660 + 8: 1b 52 12 34 adc d4, #4660 + c: 1b 53 12 34 adc d5, #4660 + 10: 1b 54 12 adc d0, #18 + 13: 1b 55 34 adc d1, #52 + 16: 1b 56 00 56 adc d6, #5666970 + 1a: 78 9a + 1c: 1b 57 00 98 adc d7, #9991764 + 20: 76 54 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/adc-imm.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/adc-imm.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/adc-imm.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/adc-imm.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ + adc d2, #0x1234 + adc d3, #0x1234 + adc d4, #0x1234 + adc d5, #0x1234 + adc d0, #0x12 + adc d1, #0x34 + adc d6, #0x56789A + adc d7, #0x987654 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/adc-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/adc-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/adc-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/adc-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: +#source: adc-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 64 c5 21 adc d0, \[-223,x\] + 4: 1b 65 e2 ff adc d1, \(-2000,s\) + 8: f8 30 + a: 1b 60 c7 adc d2, \(x-\) + d: 1b 61 f3 adc d3, \(\+y\) + 10: 1b 62 bb adc d4, d5 + 13: 1b 63 3e ce adc d5, 16078 + 17: 1b 66 fe 01 adc d6, \[73056\] + 1b: 1d 60 + 1d: 1b 67 8a adc d7, \(d4,x\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/adc-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/adc-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/adc-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/adc-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,9 @@ + adc d0, [-223,x] + adc d1, (-2000, s) + adc d2, (x-) + adc d3, (+y) + adc d4, d5 + adc d5, 16078 + adc d6, [73056] + adc d7, (d4,x) + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/add-imm.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/add-imm.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/add-imm.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/add-imm.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: +#source: add-imm.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: 50 12 34 add d2, #4660 + 3: 51 12 34 add d3, #4660 + 6: 52 12 34 add d4, #4660 + 9: 53 12 34 add d5, #4660 + c: 54 12 add d0, #18 + e: 55 34 add d1, #52 + 10: 56 00 56 78 add d6, #5666970 + 14: 9a + 15: 57 00 98 76 add d7, #9991764 + 19: 54 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/add-imm.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/add-imm.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/add-imm.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/add-imm.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ +start: add d2, #0x1234 + add d3, #0x1234 + add d4, #0x1234 + add d5, #0x1234 + add d0, #0x12 + add d1, #0x34 + add d6, #0x56789A + add d7, #0x987654 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/add-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/add-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/add-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/add-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: +#source: add-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 64 c5 21 add d0, \[-223,x\] + 3: 65 e2 00 75 add d1, \(30000,s\) + 7: 30 + 8: 60 c7 add d2, \(x-\) + a: 61 f3 add d3, \(\+y\) + c: 62 bf add d4, d7 + e: 63 17 be add d5, 6078 + 11: 66 fe 01 1d add d6, \[73056\] + 15: 60 + 16: 67 8a add d7, \(d4,x\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/add-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/add-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/add-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/add-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,9 @@ + add d0, [-223,x] + add d1, (30000, s) + add d2, (x-) + add d3, (+y) + add d4, d7 + add d5, 6078 + add d6, [73056] + add d7, (d4,x) + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/and-imm.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/and-imm.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/and-imm.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/and-imm.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: +#source: and-imm.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: 58 12 34 and d2, #4660 + 3: 59 12 34 and d3, #4660 + 6: 5a 12 34 and d4, #4660 + 9: 5b 12 34 and d5, #4660 + c: 5c 12 and d0, #18 + e: 5d 34 and d1, #52 + 10: 5e 56 78 9a and d6, #1450744508 + 14: bc + 15: 5f 98 76 54 and d7, #-1737075662 + 19: 32 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/and-imm.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/and-imm.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/and-imm.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/and-imm.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ +start: and d2, #0x1234 + and d3, #0x1234 + and d4, #0x1234 + and d5, #0x1234 + and d0, #0x12 + and d1, #0x34 + and d6, #0x56789ABC + and d7, #-1737075662 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/and-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/and-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/and-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/and-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,22 @@ +#objdump: -d +#name: +#source: and-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 6c c4 17 and d0, \[23,x\] + 3: 6d d2 ff 8a and d1, \(-30000,y\) + 7: d0 + 8: 68 c7 and d2, \(x-\) + a: 69 f3 and d3, \(\+y\) + c: 6a bb and d4, d5 + e: 6b fa 23 ca and d5, 2345678 + 12: ce + 13: 6e fe 01 e2 and d6, \[123456\] + 17: 40 + 18: 6f ac and d7, \(d0,s\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/and-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/and-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/and-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/and-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,9 @@ + and d0, [23,x] + and d1, (-30000, y) + and d2, (x-) + and d3, (+y) + and d4, d5 + and d5, 2345678 + and d6, [123456] + and d7, (d0,s) + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/and-or-cc.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/and-or-cc.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/and-or-cc.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/and-or-cc.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,13 @@ +#objdump: -d +#name: +#source: and-or-cc.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: ce 7b andcc #123 + 2: de 20 orcc #32 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/and-or-cc.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/and-or-cc.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/and-or-cc.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/and-or-cc.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,2 @@ +xx: andcc #123 + orcc #32 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bfext.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bfext.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bfext.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bfext.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,47 @@ +#objdump: -d +#name: +#source: bfext.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 0c 14 bfext d0, d1, d2 + 3: 1b 0d 21 17 bfext d1, d2, #8:23 + 7: 1b 08 41 e3 bfext.b d2, \(\+x\), d3 + b: 1b 09 46 c4 bfext.w d3, \[123,x\], d4 + f: 7b + 10: 1b 0a 4b ac bfext.p d4, \(d0,s\), d5 + 14: 1b 0b 4c 84 bfext.l d5, \(45,d0\), d2 + 18: 00 2d + 1a: 1b 0e 51 84 bfext.b \(45,d0\), d6, d3 + 1e: 00 2d + 20: 1b 0f 54 c4 bfext.w \[45,x\], d7, d2 + 24: 2d + 25: 1b 0c 61 a2 bfext.b d0, \(45,d1\), #13:2 + 29: 85 00 2d + 2c: 1b 0f 75 a3 bfext.w \(45,d1\), d7, #13:3 + 30: 85 00 2d + 33: 1b 0f 58 c6 bfext.p \[451,x\], d7, d2 + 37: 00 01 c3 + 3a: 1b 0c 94 bfins d0, d1, d2 + 3d: 1b 0d a1 17 bfins d1, d2, #8:23 + 41: 1b 08 c1 e3 bfins.b d2, \(\+x\), d3 + 45: 1b 09 c6 c4 bfins.w d3, \[123,x\], d4 + 49: 7b + 4a: 1b 0a cb ac bfins.p d4, \(d0,s\), d5 + 4e: 1b 0b cc 84 bfins.l d5, \(45,d0\), d2 + 52: 00 2d + 54: 1b 0e d1 84 bfins.b \(45,d0\), d6, d3 + 58: 00 2d + 5a: 1b 0f d4 c4 bfins.w \[45,x\], d7, d2 + 5e: 2d + 5f: 1b 0c e1 a2 bfins.b d0, \(45,d1\), #13:2 + 63: 85 00 2d + 66: 1b 0f f5 a3 bfins.w \(45,d1\), d7, #13:3 + 6a: 85 00 2d + 6d: 1b 0f d8 c6 bfins.p \[451,x\], d7, d2 + 71: 00 01 c3 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bfext.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bfext.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bfext.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bfext.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,23 @@ + bfext d0, d1, d2 + bfext d1, d2, #8:23 + bfext.b d2, (+x), d3 + bfext.w d3, [123,x], d4 + bfext.p d4, (d0, s), d5 + bfext.l d5, (45,d0), d2 + bfext.b (45,d0), d6, d3 + bfext.w [45,x], d7, d2 + bfext.b d0, (45,d1), #13:2 + bfext.w (45,d1), d7, #13:3 + bfext.p [451,x], d7, d2 + + bfins d0, d1, d2 + bfins d1, d2, #8:23 + bfins.b d2, (+x), d3 + bfins.w d3, [123,x], d4 + bfins.p d4, (d0, s), d5 + bfins.l d5, (45,d0), d2 + bfins.b (45,d0), d6, d3 + bfins.w [45,x], d7, d2 + bfins.b d0, (45,d1), #13:2 + bfins.w (45,d1), d7, #13:3 + bfins.p [451,x], d7, d2 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bfext-special.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bfext-special.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bfext-special.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bfext-special.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,13 @@ +#objdump: -d +#name: +#source: bfext-special.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 0f 75 a3 bfext.w \(45,d1\), d7, #13:3 + 4: 85 00 2d diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bfext-special.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bfext-special.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bfext-special.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bfext-special.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,2 @@ + bfext.w (45,d1), d7, #13:3 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bit.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bit.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bit.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bit.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,33 @@ +#objdump: -d +#name: +#source: bit.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 58 fc 84 bit d2, #-892 + 4: 1b 59 ef 32 bit d3, #-4302 + 8: 1b 5f 00 01 bit d7, #123456 + c: e2 40 + e: 1b 5b 04 d2 bit d5, #1234 + 12: 1b 5c 7b bit d0, #123 + 15: 1b 5d 22 bit d1, #34 + 18: 1b 5e ff ff bit d6, #-56789 + 1c: 22 2b + 1e: 1b 5a 22 3d bit d4, #8765 + 22: 1b 6c d5 21 bit d0, \[-223,y\] + 26: 1b 6d f2 00 bit d1, \(34000,p\) + 2a: 84 d0 + 2c: 1b 68 fb bit d2, \(-s\) + 2f: 1b 59 00 04 bit d3, #4 + 33: 1b 6a bc bit d4, d0 + 36: 1b 6b f9 4c bit d5, 85178 + 3a: ba + 3b: 1b 6e fe 00 bit d6, \[15256\] + 3f: 3b 98 + 41: 1b 6f 8b bit d7, \(d5,x\) + 44: 1b 69 f3 bit d3, \(\+y\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bit-manip.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bit-manip.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bit-manip.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bit-manip.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,26 @@ +#objdump: -d +#name: +#source: bit-manip.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: ec 1c bclr d0, #3 + 2: ed 25 bset d1, #4 + 4: ee 28 btgl d2, #5 + 6: ec b1 b9 bclr d3, d5 + 9: ed e1 ba bset d4, d6 + c: ee f1 bb btgl d5, d7 + f: ec a0 c0 22 bclr.b \(34,x\), #2 + 13: ec c3 ff bclr.w \(s\+\), #12 + 16: ec fd e0 38 bclr.l \(56,s\), d7 + 1a: ed d0 c4 22 bset.b \[34,x\], #5 + 1e: ed db fb bset.l \(-s\), #29 + 21: ed f5 c0 9c bset.w \(156,x\), d7 + 25: ee d0 c4 22 btgl.b \[34,x\], #5 + 29: ee f3 fb btgl.w \(-s\), #15 + 2c: ee fd f0 0f btgl.l \(15,p\), d7 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bit-manip.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bit-manip.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bit-manip.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bit-manip.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,16 @@ + bclr d0, #3 + bset d1, #4 + btgl d2, #5 + bclr d3, d5 + bset d4, d6 + btgl d5, d7 + bclr.b (34,x), #2 + bclr.w (s+), #12 + bclr.l (56,s), d7 + bset.b [34,x], #5 + bset.l (-s), #29 + bset.w (156,x), d7 + btgl.b [34,x], #5 + btgl.w (-s), #15 + btgl.l (15,p), d7 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bit.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bit.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bit.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bit.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,17 @@ + bit d2, #-892 + bit d3, #-4302 + bit d7, #123456 + bit d5, #1234 + bit d0, #123 + bit d1, #34 + bit d6, #-56789 + bit d4, #8765 + bit d0, [-223,y] + bit d1, (34000, p) + bit d2, (-s) + bit d3, #4 + bit d4, d0 + bit d5, 85178 + bit d6, [15256] + bit d7, (d5, x) + bit d3, (+y) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bra.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bra.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bra.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bra.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,34 @@ +#objdump: -d +#name: +#source: bra.s + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: 20 80 0f bra L4 + +00000003 : + 3: 21 ff fd bsr L1 + 6: 22 ff fa bhi L1 + +00000009 : + 9: 23 80 00 bls L3 + c: 24 ff f4 bcc L1 + +0000000f : + f: 25 ff f4 bcs L2 + 12: 26 ff f7 bne L3 + 15: 27 ff fa beq L4 + 18: 28 ff f7 bvc L4 + 1b: 29 ff e8 bvs L2 + 1e: 2a ff e2 bpl L1 + 21: 2b ff e2 bmi L2 + 24: 2c ff dc bge L1 + 27: 2d ff e8 blt L4 + 2a: 2e ff df bgt L3 + 2d: 2f ff d3 ble L1 + 30: 20 02 bra \*\+2 + 32: 20 7c bra \*-4 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bra-expression-defined.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bra-expression-defined.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bra-expression-defined.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bra-expression-defined.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,23 @@ +#objdump: -d +#name: pc_relative expressions defined at assembly time +#source: bra-expression-defined.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: 01 nop + 1: 01 nop + 2: 20 80 19 bra \*\+25 + 5: 01 nop + 6: 02 c0 bc 80 brclr.b d0, #4, \*\+31 + a: 1f + b: 01 nop + c: 0b 06 80 23 tbne d6, \*\+35 + 10: 01 nop + +00000011 : + 11: 01 nop diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bra-expression-defined.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bra-expression-defined.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bra-expression-defined.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bra-expression-defined.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,11 @@ + + nop + nop + bra loop+10 + nop + brclr.b d0, #4, loop+20 + nop + tbne d6, loop+30 + nop +loop: + nop diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bra-expression-undef.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bra-expression-undef.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bra-expression-undef.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bra-expression-undef.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,24 @@ +#objdump: -dr +#name: pc_relative expressions without a definition +#source: bra-expression-undef.s + + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 01 nop + 1: 01 nop + 2: 20 80 0b bra \*\+11 + 3: R_S12Z_PCREL_7_15 loop\+0x8000 + 5: 01 nop + 6: 02 c0 bc 80 brclr.b d0, #4, \*\+23 + a: 17 + 9: R_S12Z_PCREL_7_15 loop\+0x18000 + b: 01 nop + c: 0b 06 80 20 tbne d6, \*\+32 + e: R_S12Z_PCREL_7_15 loop\+0x10000 + 10: 01 nop diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bra-expression-undef.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bra-expression-undef.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bra-expression-undef.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bra-expression-undef.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,9 @@ + + nop + nop + bra loop+10 + nop + brclr.b d0, #4, loop+20 + nop + tbne d6, loop+30 + nop diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bra.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bra.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/bra.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/bra.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,20 @@ +L1: bra L4 +L2: bsr L1 + bhi L1 +L3: bls L3 + bcc L1 +L4: bcs L2 + bne L3 + beq L4 + bvc L4 + bvs L2 + bpl L1 + bmi L2 + bge L1 + blt L4 + bgt L3 + ble L1 + + bra *+2 + bra *-4 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brclr-symbols.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brclr-symbols.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brclr-symbols.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brclr-symbols.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,32 @@ +#objdump: -dt +#name: +#source: brclr-symbols.s + + +dump.o: file format elf32-s12z + +SYMBOL TABLE: +00000000 l d .text 00000000 .text +00000000 l d .data 00000000 .data +00000000 l d .bss 00000000 .bss +00000001 l .text 00000000 foo + + + +Disassembly of section .text: + +00000000 : + 0: 01 nop + +00000001 : + 1: 01 nop + 2: 01 nop + 3: 02 0c ff fe brclr d0, #1, foo + 7: 03 81 bd ff brset d1, d2, foo + b: fa + c: 02 a0 e7 ff brclr.b \(x\+\), #2, foo + 10: f5 + 11: 03 c1 84 00 brset.b \(23,d0\), d0, foo + 15: 17 ff f0 + 18: 02 a0 03 86 brclr.b 902, #2, foo + 1c: ff e9 \ No newline at end of file diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brclr-symbols.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brclr-symbols.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brclr-symbols.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brclr-symbols.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,9 @@ + nop +foo: + nop + nop + brclr d0, #1, foo + brset d1, d2, foo + brclr.b (x+), #2, foo + brset.b (23,d0), d0, foo + brclr.b 902, #2, foo diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-opr-imm-rel.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-opr-imm-rel.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-opr-imm-rel.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-opr-imm-rel.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,23 @@ +#objdump: -d +#name: +#source: brset-clr-opr-imm-rel.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 03 c0 e4 2d brset.b \[45,s\], #4, \*\+3 + 4: 03 + 5: 03 e3 e6 00 brset.w \[345,s\], #14, \*\+32 + 9: 01 59 20 + c: 03 99 e2 00 brset.l \(345,s\), #9, \*\+309 + 10: 01 59 81 35 + 14: 02 c0 e6 00 brclr.b \[345,s\], #4, \*\+3 + 18: 01 59 03 + 1b: 02 f3 e6 00 brclr.w \[345,s\], #15, \*\+3087 + 1f: 01 59 8c 0f + 23: 02 fb e6 00 brclr.l \[345,s\], #31, \*\+3 + 27: 01 59 03 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-opr-imm-rel.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-opr-imm-rel.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-opr-imm-rel.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-opr-imm-rel.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,7 @@ + brset.b [45,s], #4, *+3 + brset.w [345,s], #14, *+32 + brset.l (345,s), #9, *+309 + brclr.b [345,s], #4, *+3 + brclr.w [345,s], #15, *+3087 + brclr.l [345,s], #31, *+3 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-opr-reg-rel.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-opr-reg-rel.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-opr-reg-rel.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-opr-reg-rel.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: +#source: brset-clr-opr-reg-rel.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: 02 85 d0 22 brclr.w \(34,y\), d2, \*\+3034 + 4: 8b da + +00000006 : + 6: 03 c1 d3 81 brset.b \(-y\), d0, \*\+434 + a: b2 + b: 03 9d e3 88 brset.l \(\+x\), d3, \*\+2134 + f: 56 + 10: 02 ad c4 22 brclr.l \[34,x\], d4, L1 + 14: ff f6 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-opr-reg-rel.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-opr-reg-rel.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-opr-reg-rel.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-opr-reg-rel.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,5 @@ + brclr.w (34,y), d2, *+3034 +L1: brset.b (-y), d0, *+434 + brset.l (+x), d3, *+2134 + brclr.l [34,x], d4, L1 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-reg-imm-rel.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-reg-imm-rel.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-reg-imm-rel.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-reg-imm-rel.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,24 @@ +#objdump: -d +#name: +#source: brset-clr-reg-imm-rel.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: 03 10 05 brset d2, #2, \*\+5 + 3: 03 19 17 brset d3, #3, \*\+23 + 6: 03 11 71 brset d3, #2, \*-15 + 9: 03 40 43 brset d2, #8, \*-61 + c: 03 40 fd 01 brset d2, #8, \*-767 + 10: 03 6e fd 01 brset d6, #13, \*-767 + +00000014 : + 14: 02 10 05 brclr d2, #2, \*\+5 + 17: 02 19 17 brclr d3, #3, \*\+23 + 1a: 02 11 fc c0 brclr d3, #2, \*-832 + 1e: 02 40 43 brclr d2, #8, \*-61 + 21: 02 40 fd 01 brclr d2, #8, \*-767 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-reg-imm-rel.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-reg-imm-rel.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-reg-imm-rel.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-reg-imm-rel.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,12 @@ +L1: brset d2, #2, *+5 + brset d3, #3, *+23 + brset d3, #2, *-15 + brset d2, #8, *-61 + brset d2, #8, *-767 + brset d6, #13, *-767 +L2: brclr d2, #2, *+5 + brclr d3, #3, *+23 + brclr d3, #2, *-832 + brclr d2, #8, *-61 + brclr d2, #8, *-767 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-reg-reg-rel.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-reg-reg-rel.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-reg-reg-rel.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-reg-reg-rel.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ +#objdump: -d +#name: +#source: brset-clr-reg-reg-rel.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 03 e1 bb 2d brset d5, d6, \*\+45 + 4: 02 d1 b8 6f brclr d2, d1, \*-17 + 8: 03 91 be ff brset d6, d3, \*-90 + c: a6 + d: 02 f1 bc ff brclr d0, d7, \*-90 + 11: a6 + 12: 02 81 bd ff brclr d1, d2, \*-190 + 16: 42 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-reg-reg-rel.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-reg-reg-rel.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/brset-clr-reg-reg-rel.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/brset-clr-reg-reg-rel.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,6 @@ + brset d5, d6, *+45 + brclr d2, d1, *-17 + brset d6, d3, *-90 + brclr d0, d7, *-90 + brclr d1, d2, *-190 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/clb.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/clb.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/clb.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/clb.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ +#objdump: -d +#name: +#source: clb.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 91 47 clb d0, d7 + 3: 1b 91 56 clb d1, d6 + 6: 1b 91 03 clb d2, d5 + 9: 1b 91 12 clb d3, d4 + c: 1b 91 21 clb d4, d3 + f: 1b 91 30 clb d5, d2 + 12: 1b 91 65 clb d6, d1 + 15: 1b 91 74 clb d7, d0 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/clb.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/clb.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/clb.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/clb.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ + clb d0, d7 + clb d1, d6 + clb d2, d5 + clb d3, d4 + clb d4, d3 + clb d5, d2 + clb d6, d1 + clb d7, d0 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/clr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/clr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/clr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/clr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: +#source: clr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: 38 clr d2 + 1: 39 clr d3 + 2: 3a clr d4 + 3: 3b clr d5 + 4: 3c clr d0 + 5: 3d clr d1 + 6: 3e clr d6 + 7: 3f clr d7 + 8: 9a clr x + 9: 9b clr y diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/clr-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/clr-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/clr-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/clr-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,15 @@ +#objdump: -d +#name: +#source: clr-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: bc ff clr.b \(s\+\) + 2: bd c0 2d clr.w \(45,x\) + 5: be f9 e2 32 clr.p 123442 + 9: bf d4 03 clr.l \[3,y\] diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/clr-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/clr-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/clr-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/clr-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,5 @@ + clr.b (s+) + clr.w (45,x) + clr.p 123442 + clr.l [3,y] + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/clr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/clr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/clr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/clr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,10 @@ +L1: clr d2 + clr d3 + clr d4 + clr d5 + clr d0 + clr d1 + clr d6 + clr d7 + clr x + clr y diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-imm.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-imm.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-imm.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-imm.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,23 @@ +#objdump: -d +#name: +#source: cmp-imm.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: e4 12 cmp d0, #18 + 2: e5 34 cmp d1, #52 + 4: e0 34 56 cmp d2, #13398 + 7: e1 34 56 cmp d3, #13398 + a: e2 34 56 cmp d4, #13398 + d: e3 34 56 cmp d5, #13398 + 10: e6 00 34 56 cmp d6, #3430008 + 14: 78 + 15: e7 00 34 56 cmp d7, #3430008 + 19: 78 + 1a: e8 aa bb cc cmp x, #-5588020 + 1e: e9 dd ee ff cmp y, #-2232577 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-imm.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-imm.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-imm.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-imm.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,12 @@ +here: cmp d0, #0x12 + cmp d1, #0x34 + cmp d2, #0x3456 + cmp d3, #0x3456 + cmp d4, #0x3456 + cmp d5, #0x3456 + cmp d6, #0x345678 + cmp d7, #0x345678 + + cmp x, #-5588020 + cmp y, #-2232577 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-inc.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-inc.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-inc.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-inc.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: +#source: cmp-opr-inc.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: f0 e3 cmp d2, \(\+x\) + 2: f1 f3 cmp d3, \(\+y\) + 4: f2 c3 cmp d4, \(-x\) + 6: f3 d3 cmp d5, \(-y\) + 8: f4 fb cmp d0, \(-s\) + a: f6 ff cmp d6, \(s\+\) + c: f8 d7 cmp x, \(y-\) + e: f8 c7 cmp x, \(x-\) + 10: f9 f7 cmp y, \(y\+\) + 12: f9 e7 cmp y, \(x\+\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-inc.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-inc.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-inc.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-inc.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,11 @@ +;; Pre/Post increment/decrement xys + cmp d2, (+x) + cmp d3, (+y) + cmp d4, (-x) + cmp d5, (-y) + cmp d0, (-s) + cmp d6, (s+) + cmp x, (y-) + cmp x, (x-) + cmp y, (y+) + cmp y, (x+) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-rdirect.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-rdirect.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-rdirect.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-rdirect.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ +#objdump: -d +#name: +#source: cmp-opr-rdirect.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: f0 ad cmp d2, \(d1,s\) + 2: f1 88 cmp d3, \(d2,x\) + 4: f2 89 cmp d4, \(d3,x\) + 6: f3 99 cmp d5, \(d3,y\) + 8: f4 8a cmp d0, \(d4,x\) + a: f5 8b cmp d1, \(d5,x\) + c: f6 8e cmp d6, \(d6,x\) + e: f7 8f cmp d7, \(d7,x\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-rdirect.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-rdirect.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-rdirect.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-rdirect.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,9 @@ +;;; Direct register offset + cmp d2, (d1,s) + cmp d3, (d2,x) + cmp d4, (d3,x) + cmp d5, (d3,y) + cmp d0, (d4,x) + cmp d1, (d5,x) + cmp d6, (d6,x) + cmp d7, (d7,x) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-reg.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-reg.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-reg.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-reg.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ +#objdump: -d +#name: +#source: cmp-opr-reg.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: f0 b8 cmp d2, d2 + 2: f1 b9 cmp d3, d3 + 4: f2 ba cmp d4, d4 + 6: f3 bb cmp d5, d5 + 8: f4 bc cmp d0, d0 + a: f5 bd cmp d1, d1 + c: f6 be cmp d6, d6 + e: f7 bf cmp d7, d7 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-reg.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-reg.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-reg.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-reg.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,9 @@ +;; Register as operand + cmp d2, d2 + cmp d3, d3 + cmp d4, d4 + cmp d5, d5 + cmp d0, d0 + cmp d1, d1 + cmp d6, d6 + cmp d7, d7 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-rindirect.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-rindirect.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-rindirect.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-rindirect.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ +#objdump: -d +#name: +#source: cmp-opr-rindirect.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: f0 dd cmp d2, \[d1,y\] + 2: f1 dd cmp d3, \[d1,y\] + 4: f2 dc cmp d4, \[d0,y\] + 6: f3 dc cmp d5, \[d0,y\] + 8: f4 ce cmp d0, \[d6,x\] + a: f5 ce cmp d1, \[d6,x\] + c: f6 ce cmp d6, \[d6,x\] + e: f7 cf cmp d7, \[d7,x\] diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-rindirect.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-rindirect.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-rindirect.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-rindirect.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,9 @@ +;;; Indirect register offset + cmp d2, [d1,y] + cmp d3, [d1,y] + cmp d4, [d0,y] + cmp d5, [d0,y] + cmp d0, [d6,x] + cmp d1, [d6,x] + cmp d6, [d6,x] + cmp d7, [d7,x] diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-sxe4.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-sxe4.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-sxe4.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-sxe4.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: +#source: cmp-opr-sxe4.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: e0 ff ff cmp d2, #-1 + 3: e1 00 01 cmp d3, #1 + 6: e2 00 02 cmp d4, #2 + 9: e3 00 03 cmp d5, #3 + c: e4 0e cmp d0, #14 + e: e5 0f cmp d1, #15 + 10: e6 00 00 00 cmp d6, #4 + 14: 04 + 15: e7 00 00 00 cmp d7, #10 + 19: 0a diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-sxe4.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-sxe4.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-sxe4.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-sxe4.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,10 @@ +;; Short immediate forms + cmp d2, #-1 + cmp d3, #1 + cmp d4, #2 + cmp d5, #3 + cmp d0, #14 + cmp d1, #15 + cmp d6, #4 + cmp d7, #10 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-xys.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-xys.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-xys.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-xys.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ +#objdump: -d +#name: +#source: cmp-opr-xys.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: f0 61 cmp d2, \(1,s\) + 2: f1 42 cmp d3, \(2,x\) + 4: f2 43 cmp d4, \(3,x\) + 6: f3 53 cmp d5, \(3,y\) + 8: f4 44 cmp d0, \(4,x\) + a: f5 45 cmp d1, \(5,x\) + c: f6 46 cmp d6, \(6,x\) + e: f7 47 cmp d7, \(7,x\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-xys.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-xys.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-opr-xys.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-opr-xys.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,9 @@ +;; Constant offset from xys + cmp d2, (1,s) + cmp d3, (2,x) + cmp d4, (3,x) + cmp d5, (3,y) + cmp d0, (4,x) + cmp d1, (5,x) + cmp d6, (6,x) + cmp d7, (7,x) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-s-imm.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-s-imm.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-s-imm.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-s-imm.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,27 @@ +#objdump: -d +#name: +#source: cmp-s-imm.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 04 00 00 cmp s, #0 + 4: 00 + 5: 1b 02 71 cmp s, #1 + 8: 1b 02 70 cmp s, #-1 + b: 1b 04 00 00 cmp s, #255 + f: ff + 10: 1b 04 ff ff cmp s, #-256 + 14: 00 + 15: 1b 04 00 7f cmp s, #32767 + 19: ff + 1a: 1b 04 ff 80 cmp s, #-32768 + 1e: 00 + 1f: 1b 04 07 ff cmp s, #524287 + 23: ff + 24: 1b 04 f8 00 cmp s, #-524288 + 28: 00 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-s-imm.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-s-imm.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-s-imm.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-s-imm.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,10 @@ + cmp s, #0 + cmp s, #1 + cmp s, #-1 + cmp s, #255 + cmp s, #-256 + cmp s, #32767 + cmp s, #-32768 + cmp s, #524287 + cmp s, #-524288 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-s-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-s-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-s-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-s-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,25 @@ +#objdump: -d +#name: +#source: cmp-s-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 02 e0 43 cmp s, \(67,s\) + 4: 1b 02 e3 cmp s, \(\+x\) + 7: 1b 02 8c cmp s, \(d0,x\) + a: 1b 02 dd cmp s, \[d1,y\] + d: 1b 02 f2 00 cmp s, \(2134,p\) + 11: 08 56 + 13: 1b 02 f6 00 cmp s, \[2134,p\] + 17: 08 56 + 19: 1b 02 fa 0f cmp s, 987654 + 1d: 12 06 + 1f: 1b 02 e6 08 cmp s, \[565543,s\] + 23: a1 27 + 25: 1b 02 80 04 cmp s, \(1233,d2\) + 29: d1 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-s-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-s-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-s-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-s-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,10 @@ + cmp s, (67,s) + cmp s, (+x) + cmp s, (d0,x) + cmp s, [d1,y] + cmp s, (2134,p) + cmp s, [2134,p] + cmp s, 987654 + cmp s, [565543,s] + cmp s, (1233, d2) + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-xy.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-xy.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-xy.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-xy.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,12 @@ +#objdump: -d +#name: +#source: cmp-xy.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: fc cmp x, y diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-xy.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-xy.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/cmp-xy.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/cmp-xy.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1 @@ + cmp x, y diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/com-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/com-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/com-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/com-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,15 @@ +#objdump: -d +#name: +#source: com-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: cc df com.b \[d7,y\] + 2: cd fe 00 1f com.w \[8134\] + 6: c6 + 7: cf ae com.l \(d6,s\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/com-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/com-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/com-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/com-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,3 @@ + com.b [d7, y] + com.w [8134] + com.l (d6, s) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/complex-shifts.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/complex-shifts.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/complex-shifts.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/complex-shifts.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,18 @@ +#objdump: -d +#name: +#source: complex-shifts.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 14 73 e3 e6 lsl.l d0, \(\+x\), \[345,s\] + 4: 00 01 59 + 7: 13 32 8e fb lsr.p d5, \(d6,x\), \(-s\) + b: 17 f1 f4 2d asl.w d7, \[45,p\], \(278,y\) + f: d2 00 01 16 + 13: 12 b0 84 00 asr.b d4, \(145,d0\), \(d0,s\) + 17: 91 ac diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/complex-shifts.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/complex-shifts.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/complex-shifts.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/complex-shifts.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,4 @@ + lsl.l d0, (+x), [345, s] + lsr.p d5, (d6,x), (-s) + asl.w d7, [45,p], (278, y) + asr.b d4, (145,d0), (d0,s) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/dbCC.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/dbCC.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/dbCC.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/dbCC.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,27 @@ +#objdump: -dt +#name: +#source: dbCC.s + + +dump.o: file format elf32-s12z + +SYMBOL TABLE: +00000000 l d .text 00000000 .text +00000000 l d .data 00000000 .data +00000000 l d .bss 00000000 .bss +00000001 l .text 00000000 foo + + + +Disassembly of section .text: + +00000000 : + 0: 01 nop + +00000001 : + 1: 01 nop + 2: 0b 84 ff ff dbne d0, foo + 6: 0b 88 ff fb dbne x, foo + a: 0b 89 ff f7 dbne y, foo + e: 0b 8c f3 ff dbne.b \(\+y\), foo + 12: f3 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/dbCC.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/dbCC.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/dbCC.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/dbCC.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,7 @@ + nop +foo: + nop + dbne d0, foo + dbne x, foo + dbne y, foo + dbne.b (+y), foo diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/db-tb-cc-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/db-tb-cc-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/db-tb-cc-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/db-tb-cc-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,30 @@ +#objdump: -d +#name: +#source: db-tb-cc-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 0b dc 82 00 dble.b \(3,d4\), \*\+1 + 4: 03 01 + 6: 0b cd 83 00 dbgt.w \(23,d5\), \*\+18 + a: 17 12 + c: 0b de 84 00 dble.p \(2,d0\), \*-19 + 10: 02 6d + 12: 0b bf fb ff dbmi.l \(-s\), \*-137 + 16: 77 + 17: 0b 3c e4 22 tbmi.b \[34,s\], \*\+43 + 1b: 2b + 1c: 0b 4d ff 5f tbgt.w \(s\+\), \*-33 + 20: 0b 1e c4 ea tbeq.p \[234,x\], \*-134 + 24: ff 7a + 26: 0b 5f f0 22 tble.l \(34,p\), \*\+331 + 2a: 81 4b + 2c: 0b 0c 5e 81 tbne.b \(14,y\), \*\+431 + 30: af + 31: 0b 2e 4e 80 tbpl.p \(14,x\), \*\+231 + 35: e7 \ No newline at end of file diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/db-tb-cc-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/db-tb-cc-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/db-tb-cc-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/db-tb-cc-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,11 @@ + dble.b (3,d4), *+1 + dbgt.w (23,d5), *+18 + dble.p (2,d0), *-19 + dbmi.l (-s), *-137 + tbmi.b [34,s], *+43 + tbgt.w (s+), *-33 + tbeq.p [234,x], *-134 + tble.l (34, p), *+331 + tbne.b (14, y), *+431 + tbpl.p (14, x), *+231 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/db-tb-cc-reg.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/db-tb-cc-reg.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/db-tb-cc-reg.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/db-tb-cc-reg.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,31 @@ +#objdump: -d +#name: +#source: db-tb-cc-reg.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 0b 84 0c dbne d0, \*\+12 + 3: 0b 95 0d dbeq d1, \*\+13 + 6: 0b a8 72 dbpl x, \*-14 + 9: 0b b9 0f dbmi y, \*\+15 + c: 0b c1 80 7b dbgt d3, \*\+123 + 10: 0b d7 fb 1f dble d7, \*-1249 + 14: 0b 04 16 tbne d0, \*\+22 + 17: 0b 15 17 tbeq d1, \*\+23 + 1a: 0b 28 18 tbpl x, \*\+24 + 1d: 0b 39 19 tbmi y, \*\+25 + 20: 0b 41 80 df tbgt d3, \*\+223 + 24: 0b 57 88 c9 tble d7, \*\+2249 + 28: 0b 39 28 tbmi y, \*\+40 + 2b: 0b 84 ff 75 dbne d0, \*-139 + 2f: 0b a5 04 dbpl d1, \*\+4 + 32: 0b c2 ff 76 dbgt d4, \*-138 + 36: 0b 90 29 dbeq d2, \*\+41 + 39: 0b 06 04 tbne d6, \*\+4 + 3c: 0b 27 ff 78 tbpl d7, \*-136 + 40: 0b 18 28 tbeq x, \*\+40 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/db-tb-cc-reg.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/db-tb-cc-reg.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/db-tb-cc-reg.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/db-tb-cc-reg.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ + dbne d0, *+12 + dbeq d1, *+13 + dbpl x, *-14 + dbmi y, *+15 + dbgt d3, *+123 + dble d7, *-1249 + tbne d0, *+22 + tbeq d1, *+23 + tbpl x, *+24 + tbmi y, *+25 + tbgt d3, *+223 + tble d7, *+2249 + tbmi y, *+40 + dbne d0, *-139 + dbpl d1, *+4 + dbgt d4, *-138 + dbeq d2, *+41 + tbne d6, *+4 + tbpl d7, *-136 + tbeq x, *+40 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/dec.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/dec.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/dec.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/dec.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ +#objdump: -d +#name: +#source: dec.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: 40 dec d2 + 1: 41 dec d3 + 2: 42 dec d4 + 3: 43 dec d5 + 4: 44 dec d0 + 5: 45 dec d1 + 6: 46 dec d6 + 7: 47 dec d7 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/dec-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/dec-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/dec-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/dec-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,15 @@ +#objdump: -d +#name: +#source: dec-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: ac ca dec.b \[d4,x\] + 2: ad fe 00 00 dec.w \[134\] + 6: 86 + 7: af ad dec.l \(d1,s\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/dec-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/dec-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/dec-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/dec-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,3 @@ + dec.b [d4, x] + dec.w [134] + dec.l (d1, s) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/dec.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/dec.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/dec.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/dec.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ +L1: dec d2 + dec d3 + dec d4 + dec d5 + dec d0 + dec d1 + dec d6 + dec d7 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/div.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/div.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/div.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/div.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,23 @@ +#objdump: -d +#name: +#source: div.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 34 ec 62 divs.b d0, d1, #98 + 4: 1b 35 c0 b9 divs.b d1, d2, d3 + 8: 1b 30 c9 ba divs.w d2, d3, d4 + c: 1b 31 ff 00 divs.l d3, d7, #9842 + 10: 00 26 72 + 13: 1b 32 68 e0 divu.b d4, d1, \(32,s\) + 17: 20 + 18: 1b 33 49 c4 divu.w d5, d3, \[34,x\] + 1c: 22 + 1d: 1b 36 7b ff divu.l d6, d7, \(s\+\) + 21: 1b 37 7a d4 divu.lp d7, \[12,y\], \(7,d1\) + 25: 0c 85 00 07 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/div.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/div.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/div.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/div.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ + divs.b d0, d1, #98 + divs.b d1, d2, d3 + divs.w d2, d3, d4 + divs.l d3, d7, #9842 + divu.b d4, d1, (32,s) + divu.w d5, d3, [34,x] + divu.l d6, d7, (s+) + divu.lp d7, [12,y], (7,d1) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/eor.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/eor.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/eor.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/eor.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,33 @@ +#objdump: -d +#name: +#source: eor.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 78 fc 84 eor d2, #-892 + 4: 1b 79 ef 32 eor d3, #-4302 + 8: 1b 7f 00 01 eor d7, #123456 + c: e2 40 + e: 1b 7b 04 d2 eor d5, #1234 + 12: 1b 7c 7b eor d0, #123 + 15: 1b 7d 22 eor d1, #34 + 18: 1b 7e ff ff eor d6, #-56789 + 1c: 22 2b + 1e: 1b 7a 22 3d eor d4, #8765 + 22: 1b 8c d5 21 eor d0, \[-223,y\] + 26: 1b 8d f2 00 eor d1, \(34000,p\) + 2a: 84 d0 + 2c: 1b 88 fb eor d2, \(-s\) + 2f: 1b 79 00 04 eor d3, #4 + 33: 1b 8a bc eor d4, d0 + 36: 1b 8b f9 4c eor d5, 85178 + 3a: ba + 3b: 1b 8e fe 00 eor d6, \[15256\] + 3f: 3b 98 + 41: 1b 8f 8b eor d7, \(d5,x\) + 44: 1b 89 f7 eor d3, \(y\+\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/eor.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/eor.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/eor.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/eor.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,17 @@ + eor d2, #-892 + eor d3, #-4302 + eor d7, #123456 + eor d5, #1234 + eor d0, #123 + eor d1, #34 + eor d6, #-56789 + eor d4, #8765 + eor d0, [-223,y] + eor d1, (34000, p) + eor d2, (-s) + eor d3, #4 + eor d4, d0 + eor d5, 85178 + eor d6, [15256] + eor d7, (d5, x) + eor d3, (y+) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/exg.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/exg.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/exg.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/exg.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,29 @@ +#objdump: -d +#name: +#source: exg.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: ae 45 exg d0, d1 + 2: ae 55 exg d1, d1 + 4: ae 05 exg d2, d1 + 6: ae 15 exg d3, d1 + 8: ae 25 exg d4, d1 + a: ae 35 exg d5, d1 + c: ae 65 exg d6, d1 + e: ae 75 exg d7, d1 + 10: ae 85 exg x, d1 + 12: ae 95 exg y, d1 + 14: ae c5 exg cch, d1 + 16: ae d5 exg ccl, d1 + 18: ae e5 exg ccw, d1 + 1a: ae 68 exg d6, x + 1c: ae 79 exg d7, y + 1e: ae 8e exg x, ccw + 20: ae 97 sex y, d7 + 22: ae cd exg cch, ccl diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/exg.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/exg.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/exg.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/exg.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,18 @@ + exg d0, d1 + exg d1, d1 + exg d2, d1 + exg d3, d1 + exg d4, d1 + exg d5, d1 + exg d6, d1 + exg d7, d1 + exg x, d1 + exg y, d1 + exg cch, d1 + exg ccl, d1 + exg ccw, d1 + exg d6, x + exg d7, y + exg x, ccw + sex y, d7 + exg cch, ccl diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ext24-ld-xy.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ext24-ld-xy.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ext24-ld-xy.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ext24-ld-xy.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,12 @@ +#objdump: -d +#name: +#source: ext24-ld-xy.s + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: b8 74 cb b1 ld x, 7654321 + 4: b9 63 d7 6a ld y, 6543210 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ext24-ld-xy.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ext24-ld-xy.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ext24-ld-xy.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ext24-ld-xy.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,2 @@ + .long 0xB874CBB1 ;; LD X,7654321 + .long 0xB963D76A ;; LD Y,6543210 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/inc.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/inc.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/inc.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/inc.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ +#objdump: -d +#name: +#source: inc.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: 30 inc d2 + 1: 31 inc d3 + 2: 32 inc d4 + 3: 33 inc d5 + 4: 34 inc d0 + 5: 35 inc d1 + 6: 36 inc d6 + 7: 37 inc d7 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/inc-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/inc-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/inc-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/inc-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,15 @@ +#objdump: -d +#name: +#source: inc-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 9c 88 inc.b \(d2,x\) + 2: 9d fe 00 04 inc.w \[1234\] + 6: d2 + 7: 9f 88 inc.l \(d2,x\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/inc-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/inc-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/inc-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/inc-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,3 @@ + inc.b (d2, x) + inc.w [1234] + inc.l (d2, x) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/inc.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/inc.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/inc.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/inc.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ +L1: inc d2 + inc d3 + inc d4 + inc d5 + inc d0 + inc d1 + inc d6 + inc d7 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/inh.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/inh.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/inh.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/inh.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,15 @@ +#objdump: -d +#name: +#source: inh.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: ff swi + 1: 05 rts + 2: 00 bgnd + 3: 01 nop diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/inh.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/inh.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/inh.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/inh.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,5 @@ + swi + rts + bgnd + nop + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/jmp.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/jmp.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/jmp.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/jmp.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,33 @@ +#objdump: -d +#name: JMP instruction +#source: jmp.s + + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: aa bb jmp d5 + 2: aa 4c jmp \(12,x\) + 4: aa f3 jmp \(\+y\) + 6: aa d3 jmp \(-y\) + 8: aa f7 jmp \(y\+\) + a: aa d7 jmp \(y-\) + c: aa e3 jmp \(\+x\) + e: aa c3 jmp \(-x\) + 10: aa e7 jmp \(x\+\) + 12: aa c7 jmp \(x-\) + 14: aa fb jmp \(-s\) + 16: aa ff jmp \(s\+\) + 18: aa ab jmp \(d5,s\) + 1a: aa 87 00 5a jmp \(90,d7\) + 1e: aa f0 5a jmp \(90,p\) + 21: aa d4 2d jmp \[45,y\] + 24: aa 00 10 jmp 16 + 27: aa 37 f1 jmp 14321 + 2a: aa f9 be 91 jmp 114321 + 2e: aa fe 06 98 jmp \[432134\] + 32: 06 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/jmp.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/jmp.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/jmp.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/jmp.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,20 @@ + jmp d5 + jmp (12, x) + jmp (+y) + jmp (-y) + jmp (y+) + jmp (y-) + jmp (+x) + jmp (-x) + jmp (x+) + jmp (x-) + jmp (-s) + jmp (s+) + jmp (d5,s) + jmp (90,d7) + jmp (90,p) + jmp [45,y] + jmp 16 + jmp 14321 + jmp 114321 + jmp [432134] diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/jsr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/jsr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/jsr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/jsr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,33 @@ +#objdump: -d +#name: JSR instruction +#source: jsr.s + + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: ab b8 jsr d2 + 2: ab 52 jsr \(2,y\) + 4: ab f3 jsr \(\+y\) + 6: ab d3 jsr \(-y\) + 8: ab f7 jsr \(y\+\) + a: ab d7 jsr \(y-\) + c: ab e3 jsr \(\+x\) + e: ab c3 jsr \(-x\) + 10: ab e7 jsr \(x\+\) + 12: ab c7 jsr \(x-\) + 14: ab fb jsr \(-s\) + 16: ab ff jsr \(s\+\) + 18: ab 89 jsr \(d3,x\) + 1a: ab 86 00 1e jsr \(30,d6\) + 1e: ab f0 5d jsr \(93,p\) + 21: ab d4 2d jsr \[45,y\] + 24: ab 00 0c jsr 12 + 27: ab 0f b5 jsr 4021 + 2a: ab f9 be 91 jsr 114321 + 2e: ab fe 07 82 jsr \[492134\] + 32: 66 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/jsr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/jsr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/jsr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/jsr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,20 @@ + jsr d2 + jsr (2, y) + jsr (+y) + jsr (-y) + jsr (y+) + jsr (y-) + jsr (+x) + jsr (-x) + jsr (x+) + jsr (x-) + jsr (-s) + jsr (s+) + jsr (d3,x) + jsr (30,d6) + jsr (93,p) + jsr [45,y] + jsr 12 + jsr 4021 + jsr 114321 + jsr [492134] diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-imm.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-imm.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-imm.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-imm.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,25 @@ +#objdump: -d +#name: +#source: ld-imm.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: 90 01 23 ld d2, #291 + 3: 91 01 23 ld d3, #291 + 6: 92 01 23 ld d4, #291 + 9: 93 01 23 ld d5, #291 + c: 94 56 ld d0, #86 + e: 95 78 ld d1, #120 + 10: 96 12 34 56 ld d6, #305419896 + 14: 78 + 15: 97 12 34 56 ld d7, #305419896 + 19: 78 + 1a: 98 ab cd ef ld x, #-5517841 + 1e: 99 fe dc ba ld y, #-74566 + 22: 98 00 cd ef ld x, #52719 + 26: 99 00 dc ba ld y, #56506 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-imm-page2.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-imm-page2.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-imm-page2.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-imm-page2.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,15 @@ +#objdump: -d +#name: +#source: ld-imm-page2.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 03 aa bb ld s, #-5588020 + 4: cc + 5: 1b 03 00 30 ld s, #12309 + 9: 15 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-imm-page2.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-imm-page2.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-imm-page2.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-imm-page2.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,2 @@ + ld s, #-5588020 + ld s, #12309 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-imm.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-imm.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-imm.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-imm.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,16 @@ +here: ld d2, #0x0123 + ld d3, #0x0123 + ld d4, #0x0123 + ld d5, #0x0123 + ld d0, #0x56 + ld d1, #0x78 + ld d6, #0x12345678 + ld d7, #0x12345678 + + ld x, #-5517841 + ld y, #-74566 + + + ;; The following two can be encoded using {CDEF}{AB} + ld x, #0xcdef + ld y, #0xdcba diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-immu18.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-immu18.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-immu18.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-immu18.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,28 @@ +#objdump: -d +#name: +#source: ld-immu18.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 00 bgnd + 1: ca ff ee ld x, #65518 + 4: 00 bgnd + 5: cb df e4 ld y, #57316 + 8: 00 bgnd + 9: da f0 ea ld x, #127210 + c: 00 bgnd + d: db 7f 6e ld y, #98158 + 10: 00 bgnd + 11: ea 6f ea ld x, #159722 + 14: 00 bgnd + 15: eb 7f 9e ld y, #163742 + 18: 00 bgnd + 19: fa 1f ca ld x, #204746 + 1c: 00 bgnd + 1d: fb 7f 0e ld y, #229134 + 20: 01 nop diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-immu18.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-immu18.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-immu18.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-immu18.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,10 @@ + .long 0xCAFFEE + .long 0xCBDFE4 + .long 0xDAF0EA + .long 0xDB7F6E + .long 0xEA6FEA + .long 0xEB7F9E + .long 0xFA1FCA + .long 0xFB7F0E + nop + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-large-direct.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-large-direct.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-large-direct.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-large-direct.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: LD reg - conldant optimised to EXT24 +#source: ld-large-direct.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: b0 12 34 56 ld d2, 1193046 + 4: b1 c0 ff ee ld d3, 12648430 + 8: b2 80 00 02 ld d4, 8388610 + c: b4 80 00 03 ld d0, 8388611 + 10: b5 80 00 03 ld d1, 8388611 + 14: b3 80 00 04 ld d5, 8388612 + 18: b6 80 00 06 ld d6, 8388614 + 1c: b7 80 00 07 ld d7, 8388615 + 20: b8 80 00 08 ld x, 8388616 + 24: b9 80 00 09 ld y, 8388617 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-large-direct.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-large-direct.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-large-direct.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-large-direct.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,11 @@ + ld d2, 0x123456 + ld d3, 0xc0ffee + ld d4, 0x800002 + ld d0, 0x800003 + ld d1, 0x800003 + ld d5, 0x800004 + ld d6, 0x800006 + ld d7, 0x800007 + ld x, 0x800008 + ld y, 0x800009 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,22 @@ +#objdump: -d +#name: +#source: ld-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: a4 dc ld d0, \[d0,y\] + 2: a5 cd ld d1, \[d1,x\] + 4: a0 cd ld d2, \[d1,x\] + 6: a1 80 04 d2 ld d3, \(1234,d2\) + a: a2 e2 ff fb ld d4, \(-1234,s\) + e: 2e + f: a3 bf ld d5, d7 + 11: a6 88 ld d6, \(d2,x\) + 13: a7 d9 ld d7, \[d3,y\] + 15: a8 ac ld x, \(d0,s\) + 17: a9 cd ld y, \[d1,x\] diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,10 @@ + ld d0, [d0,y] + ld d1, [d1,x] + ld d2, [d1, x] + ld d3, (1234,d2) + ld d4, (-1234,s) + ld d5, d7 + ld d6, (d2, x) + ld d7, [d3, y] + ld x, (d0, s) + ld y, [d1, x] diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-small-direct.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-small-direct.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-small-direct.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-small-direct.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,31 @@ +#objdump: -d +#name: LD reg - small constants left in OPR mode +#source: ld-small-direct.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: a0 fa 00 00 ld d2, L1 + 4: 00 + 5: a1 fa 00 00 ld d3, 25 + 9: 19 + a: a2 fa 00 00 ld d4, L1 + e: 00 + +0000000f : + f: a4 fa 00 00 ld d0, 25 + 13: 19 + 14: a5 fa 00 00 ld d1, L3 + 18: 0f + 19: a3 fa 00 00 ld d5, L1 + 1d: 00 + 1e: a6 fa 00 00 ld d6, L3 + 22: 0f + 23: a7 fa 00 00 ld d7, 25 + 27: 19 + 28: a8 30 39 ld x, 12345 + 2b: a9 26 94 ld y, 9876 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-small-direct.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-small-direct.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-small-direct.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-small-direct.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,11 @@ +L1: ld d2, L1 + ld d3, .L2 + ld d4, L1 +L3: ld d0, .L2 + ld d1, L3 +.L2: ld d5, L1 + ld d6, L3 + ld d7, .L2 + ld x, 12345 + ld y, 9876 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-s-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-s-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-s-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-s-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,16 @@ +#objdump: -d +#name: +#source: ld-s-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 00 df ld s, \[d7,y\] + 3: 1b 00 fe 00 ld s, \[8134\] + 7: 1f c6 + 9: 1b 00 ae ld s, \(d6,s\) + c: 1b 00 fb ld s, \(-s\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-s-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-s-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/ld-s-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/ld-s-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,4 @@ + ld s, [d7, y] + ld s, [8134] + ld s, (d6, s) + ld s, (-s) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/lea.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/lea.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/lea.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/lea.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,18 @@ +#objdump: -d +#name: +#source: lea.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 0a 44 lea s, \(4,x\) + 2: 06 c0 7b lea d6, \(123,x\) + 5: 07 d1 16 lea d7, \(-234,y\) + 8: 08 c1 ea lea x, \(-22,x\) + b: 09 d0 16 lea y, \(22,y\) + e: 0a e0 16 lea s, \(22,s\) + 11: 09 c1 d3 lea y, \(-45,x\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/lea-immu18.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/lea-immu18.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/lea-immu18.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/lea-immu18.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,14 @@ +#objdump: -d +#name: +#source: lea-immu18.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 18 55 lea x, \(85,x\) + 2: 19 aa lea y, \(-86,y\) + 4: 1a 12 lea s, \(18,s\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/lea-immu18.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/lea-immu18.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/lea-immu18.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/lea-immu18.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,3 @@ + .short 0x1855 + .short 0x19AA + .short 0x1A12 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/lea.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/lea.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/lea.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/lea.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ + lea s, (4,x) + lea d6, (123,x) + lea d7, (-234,y) + lea x, (-22,x) + lea y, (22,y) + lea s, (22,s) + lea y, (-45,x) + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mac.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mac.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mac.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mac.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,23 @@ +#objdump: -d +#name: +#source: mac.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 4c ec 62 macs.b d0, d1, #98 + 4: 1b 4d c0 b9 macs.b d1, d2, d3 + 8: 1b 48 c9 ba macs.w d2, d3, d4 + c: 1b 49 ff 00 macs.l d3, d7, #9842 + 10: 00 26 72 + 13: 1b 4a 68 e0 macu.b d4, d1, \(32,s\) + 17: 20 + 18: 1b 4b 49 c4 macu.w d5, d3, \[34,x\] + 1c: 22 + 1d: 1b 4e 7b ff macu.l d6, d7, \(s\+\) + 21: 1b 4f 7a d4 macu.lp d7, \[12,y\], \(7,d1\) + 25: 0c 85 00 07 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mac.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mac.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mac.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mac.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ + macs.b d0, d1, #98 + macs.b d1, d2, d3 + macs.w d2, d3, d4 + macs.l d3, d7, #9842 + macu.b d4, d1, (32,s) + macu.w d5, d3, [34,x] + macu.l d6, d7, (s+) + macu.lp d7, [12,y], (7,d1) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/min-max.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/min-max.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/min-max.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/min-max.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,48 @@ +#objdump: -d +#name: +#source: min-max.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 2c fe 01 maxs d0, \[123456\] + 4: e2 40 + 6: 1b 2d c4 04 maxs d1, \[4,x\] + a: 1b 28 b8 maxs d2, d2 + d: 1b 29 dc maxs d3, \[d0,y\] + 10: 1b 2a e4 0c maxs d4, \[12,s\] + 14: 1b 2b 63 maxs d5, \(3,s\) + 17: 1b 2e e1 85 maxs d6, \(-123,s\) + 1b: 1b 2f f2 01 maxs d7, \(123987,p\) + 1f: e4 53 + 21: 1b 24 c7 mins d0, \(x-\) + 24: 1b 25 d7 mins d1, \(y-\) + 27: 1b 20 e7 mins d2, \(x\+\) + 2a: 1b 21 f7 mins d3, \(y\+\) + 2d: 1b 22 ff mins d4, \(s\+\) + 30: 1b 23 e3 mins d5, \(\+x\) + 33: 1b 26 f3 mins d6, \(\+y\) + 36: 1b 27 c3 mins d7, \(-x\) + 39: 1b 1c d3 maxu d0, \(-y\) + 3c: 1b 1d fb maxu d1, \(-s\) + 3f: 1b 18 8b maxu d2, \(d5,x\) + 42: 1b 19 9e maxu d3, \(d6,y\) + 45: 1b 1a af maxu d4, \(d7,s\) + 48: 1b 1b e2 ff maxu d5, \(-1023,s\) + 4c: fc 01 + 4e: 1b 1e f6 00 maxu d6, \[1087,p\] + 52: 04 3f + 54: 1b 1f d3 maxu d7, \(-y\) + 57: 1b 14 c3 minu d0, \(-x\) + 5a: 1b 15 ff minu d1, \(s\+\) + 5d: 1b 10 8d minu d2, \(d1,x\) + 60: 1b 11 98 minu d3, \(d2,y\) + 63: 1b 12 a9 minu d4, \(d3,s\) + 66: 1b 13 e1 85 minu d5, \(-123,s\) + 6a: 1b 16 f6 01 minu d6, \[123987,p\] + 6e: e4 53 + 70: 1b 17 d7 minu d7, \(y-\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/min-max.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/min-max.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/min-max.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/min-max.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,32 @@ + maxs d0, [123456] + maxs d1, [4,x] + maxs d2, d2 + maxs d3, [d0, y] + maxs d4, [12,s] + maxs d5, (3,s) + maxs d6, (-123,s) + maxs d7, (123987, p) + mins d0, (x-) + mins d1, (y-) + mins d2, (x+) + mins d3, (y+) + mins d4, (s+) + mins d5, (+x) + mins d6, (+y) + mins d7, (-x) + maxu d0, (-y) + maxu d1, (-s) + maxu d2, (d5, x) + maxu d3, (d6, y) + maxu d4, (d7, s) + maxu d5, (-1023,s) + maxu d6, [1087, p] + maxu d7, (-y) + minu d0, (-x) + minu d1, (s+) + minu d2, (d1, x) + minu d3, (d2, y) + minu d4, (d3, s) + minu d5, (-123,s) + minu d6, [123987, p] + minu d7, (y-) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mod.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mod.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mod.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mod.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,23 @@ +#objdump: -d +#name: +#source: mod.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 3c ec 62 mods.b d0, d1, #98 + 4: 1b 3d c0 b9 mods.b d1, d2, d3 + 8: 1b 38 c9 ba mods.w d2, d3, d4 + c: 1b 39 ff 00 mods.l d3, d7, #9842 + 10: 00 26 72 + 13: 1b 3a 68 e0 modu.b d4, d1, \(32,s\) + 17: 20 + 18: 1b 3b 49 c4 modu.w d5, d3, \[34,x\] + 1c: 22 + 1d: 1b 3e 7b ff modu.l d6, d7, \(s\+\) + 21: 1b 3f 7a d4 modu.lp d7, \[12,y\], \(7,d1\) + 25: 0c 85 00 07 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mod.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mod.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mod.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mod.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ + mods.b d0, d1, #98 + mods.b d1, d2, d3 + mods.w d2, d3, d4 + mods.l d3, d7, #9842 + modu.b d4, d1, (32,s) + modu.w d5, d3, [34,x] + modu.l d6, d7, (s+) + modu.lp d7, [12,y], (7,d1) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mov.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mov.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mov.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mov.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,26 @@ +#objdump: -d +#name: +#source: mov.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 0c 7b e3 mov.b #123, \(\+x\) + 3: 0d 11 70 80 mov.w #4464, \(45,d2\) + 7: 00 2d + 9: 0e 12 34 56 mov.p #1193046, \[34,s\] + d: e4 22 + f: 0f 12 34 56 mov.l #305419896, \(2234,d7\) + 13: 78 87 08 ba + 17: 1c 84 00 01 mov.b \(1,d0\), \(2,d1\) + 1b: 85 00 02 + 1e: 1d 82 00 01 mov.w \(1,d4\), \(-s\) + 22: fb + 23: 1e 83 00 03 mov.p \(3,d5\), \(-x\) + 27: c3 + 28: 1f 87 00 26 mov.l \(38,d7\), \(\+x\) + 2c: e3 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mov.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mov.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mov.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mov.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ + mov.b #123, (+x) + mov.w #4464, (45,d2) + mov.p #0x123456, [34,s] + mov.l #0x12345678, (2234, d7) + mov.b (1,d0), (2,d1) + mov.w (1,d4), (-s) + mov.p (3,d5), (-x) + mov.l (38,d7), (+x) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ +#objdump: -d +#name: +#source: mul.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 4c ec 62 muls.b d0, d1, #98 + 3: 49 ff 00 00 muls.l d3, d7, #9842 + 7: 26 72 + 9: 4a 68 e0 20 mulu.b d4, d1, \(32,s\) + d: 4b 49 c4 22 mulu.w d5, d3, \[34,x\] + 11: 4e 7b ff mulu.l d6, d7, \(s\+\) + 14: 4f 7a d4 0c mulu.lp d7, \[12,y\], \(7,d1\) + 18: 85 00 07 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-imm.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-imm.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-imm.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-imm.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ +#objdump: -d +#name: +#source: mul-imm.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 4c ec 85 muls.b d0, d1, #-123 + 3: 4d ed cf c7 muls.w d1, d1, #-12345 + 7: 48 ef ff ed muls.l d2, d1, #-1234567 + b: 29 79 + d: 4c 6c 7b mulu.b d0, d1, #123 + 10: 4d 6d 30 39 mulu.w d1, d1, #12345 + 14: 48 6f 00 12 mulu.l d2, d1, #1234567 + 18: d6 87 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-imm.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-imm.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-imm.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-imm.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,6 @@ + muls.b d0, d1, #-123 + muls.w d1, d1, #-12345 + muls.l d2, d1, #-1234567 + mulu.b d0, d1, #123 + mulu.w d1, d1, #12345 + mulu.l d2, d1, #1234567 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,17 @@ +#objdump: -d +#name: +#source: mul-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 4c e8 70 muls.b d0, d1, #-1 + 3: 49 f9 fb muls.w d3, d7, \(-s\) + 6: 49 fb e3 muls.l d3, d7, \(\+x\) + 9: 4a 68 e0 20 mulu.b d4, d1, \(32,s\) + d: 4b 49 c4 22 mulu.w d5, d3, \[34,x\] + 11: 4e 7b ff mulu.l d6, d7, \(s\+\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-opr-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-opr-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-opr-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-opr-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ +#objdump: -d +#name: +#source: mul-opr-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 4c c2 ff fb muls.bb d0, \(s\+\), \(-s\) + 4: 4d 46 e0 2d mulu.bw d1, \(45,s\), \(d0,s\) + 8: ac + 9: 48 ca e5 d3 muls.bp d2, \[-45,s\], \[1239\] + d: fe 00 04 d7 + 11: 49 4e c5 6f mulu.bl d3, \[-145,x\], \(\+x\) + 15: e3 + 16: 4c d2 e7 d3 muls.wb d0, \(x\+\), \(-y\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-opr-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-opr-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-opr-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-opr-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,6 @@ + muls.bb d0, (s+), (-s) + mulu.bw d1, (45, s), (d0, s) + muls.bp d2, [-45, s], [1239] + mulu.bl d3, [-145, x], (+x) + muls.wb d0, (x+), (-y) + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,6 @@ + muls.b d0, d1, #-1 + muls.w d3, d7, (-s) + muls.l d3, d7, (+x) + mulu.b d4, d1, (32,s) + mulu.w d5, d3, [34,x] + mulu.l d6, d7, (s+) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-reg.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-reg.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-reg.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-reg.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,27 @@ +#objdump: -d +#name: +#source: mul-reg.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 4c a8 muls d0, d1, d2 + 2: 4d 81 muls d1, d2, d3 + 4: 48 8a muls d2, d3, d4 + 6: 49 93 muls d3, d4, d5 + 8: 4a 9e muls d4, d5, d6 + a: 4b b7 muls d5, d6, d7 + c: 4e bc muls d6, d7, d0 + e: 4f a5 muls d7, d0, d1 + 10: 4c 28 mulu d0, d1, d2 + 12: 4d 01 mulu d1, d2, d3 + 14: 48 0a mulu d2, d3, d4 + 16: 49 13 mulu d3, d4, d5 + 18: 4a 1e mulu d4, d5, d6 + 1a: 4b 37 mulu d5, d6, d7 + 1c: 4e 3c mulu d6, d7, d0 + 1e: 4f 25 mulu d7, d0, d1 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-reg.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-reg.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul-reg.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul-reg.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,16 @@ + muls d0, d1, d2 + muls d1, d2, d3 + muls d2, d3, d4 + muls d3, d4, d5 + muls d4, d5, d6 + muls d5, d6, d7 + muls d6, d7, d0 + muls d7, d0, d1 + mulu d0, d1, d2 + mulu d1, d2, d3 + mulu d2, d3, d4 + mulu d3, d4, d5 + mulu d4, d5, d6 + mulu d5, d6, d7 + mulu d6, d7, d0 + mulu d7, d0, d1 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/mul.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/mul.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,6 @@ + muls.b d0, d1, #98 + muls.l d3, d7, #9842 + mulu.b d4, d1, (32,s) + mulu.w d5, d3, [34,x] + mulu.l d6, d7, (s+) + mulu.lp d7, [12,y], (7,d1) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/neg-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/neg-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/neg-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/neg-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,34 @@ +#objdump: -d +#name: +#source: neg-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: df fe 12 34 neg.l \[1193046\] + 4: 56 + 5: dc c4 04 neg.b \[4,x\] + 8: dd b8 neg.w d2 + a: dc dc neg.b \[d0,y\] + c: dc e4 0c neg.b \[12,s\] + f: dc 63 neg.b \(3,s\) + 11: dc e1 85 neg.b \(-123,s\) + 14: df f2 12 3a neg.l \(1194684,p\) + 18: bc + 19: dd c7 neg.w \(x-\) + 1b: dd d7 neg.w \(y-\) + 1d: dc e7 neg.b \(x\+\) + 1f: dc f7 neg.b \(y\+\) + 21: dc ff neg.b \(s\+\) + 23: df e3 neg.l \(\+x\) + 25: dd f3 neg.w \(\+y\) + 27: df c3 neg.l \(-x\) + 29: dd d3 neg.w \(-y\) + 2b: dc fb neg.b \(-s\) + 2d: df 8d neg.l \(d1,x\) + 2f: df 98 neg.l \(d2,y\) + 31: df a9 neg.l \(d3,s\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/neg-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/neg-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/neg-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/neg-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ + neg.l [0x123456] + neg.b [4,x] + neg.w d2 + neg.b [d0, y] + neg.b [12,s] + neg.b (3,s) + neg.b (-123,s) + neg.l (0x123abc,p) + neg.w (x-) + neg.w (y-) + neg.b (x+) + neg.b (y+) + neg.b (s+) + neg.l (+x) + neg.w (+y) + neg.l (-x) + neg.w (-y) + neg.b (-s) + neg.l (d1, x) + neg.l (d2, y) + neg.l (d3, s) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/not-so-simple-shifts.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/not-so-simple-shifts.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/not-so-simple-shifts.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/not-so-simple-shifts.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,17 @@ +#objdump: -d +#name: +#source: not-so-simple-shifts.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 14 7b e3 71 lsl.l d0, \(\+x\), #3 + 4: 13 2a 8e lsr.p d5, \(d6,x\), #2 + 7: 17 f9 f4 2d asl.w d7, \[45,p\], #13 + b: 76 + c: 12 b8 84 00 asr.b d4, \(145,d0\), #3 + 10: 91 71 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/not-so-simple-shifts.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/not-so-simple-shifts.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/not-so-simple-shifts.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/not-so-simple-shifts.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,4 @@ + lsl.l d0, (+x), #3 + lsr.p d5, (d6,x), #2 + asl.w d7, [45,p], #13 + asr.b d4, (145,d0), #3 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-18u.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-18u.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-18u.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-18u.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,26 @@ +#objdump: -d +#name: +#source: opr-18u.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 87 84 00 2d sub d7, \(45,d0\) + 4: 87 85 00 2d sub d7, \(45,d1\) + 8: 87 80 00 2d sub d7, \(45,d2\) + c: 87 81 00 2d sub d7, \(45,d3\) + 10: 87 82 00 2d sub d7, \(45,d4\) + 14: 87 83 00 2d sub d7, \(45,d5\) + 18: 87 83 00 2d sub d7, \(45,d5\) + 1c: 87 86 00 2d sub d7, \(45,d6\) + 20: 87 87 00 2d sub d7, \(45,d7\) + 24: 87 ef 03 ff sub d7, \(262143,d7\) + 28: ff + 29: 87 ef 04 00 sub d7, \(262144,d7\) + 2d: 00 + 2e: 87 ef 04 00 sub d7, \(262145,d7\) + 32: 01 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-18u.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-18u.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-18u.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-18u.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,15 @@ + sub d7, (45,D0) + sub d7, (45,D1) + sub d7, (45,D2) + sub d7, (45,D3) + sub d7, (45,D4) + sub d7, (45,D5) + sub d7, (45,D5) + sub d7, (45,D6) + sub d7, (45,D7) + + sub d7, (262143,D7) + sub d7, (262144,D7) + sub d7, (262145,D7) + + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-expr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-expr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-expr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-expr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,13 @@ +#objdump: -d +#name: Expressions in OPR direct submode +#source: opr-expr.s + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 01 nop + 1: 01 nop + 2: bc 12 39 clr.b 4665 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-expr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-expr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-expr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-expr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,5 @@ + equiv FOO, 0x1230 + + nop + nop + clr.b FOO+9 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-ext-18.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-ext-18.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-ext-18.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-ext-18.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,13 @@ +#objdump: -d +#name: +#source: opr-ext-18.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 85 fc ab cd sub d1, 175053 + 4: 84 f9 fe ed sub d0, 130797 \ No newline at end of file diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-ext-18.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-ext-18.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-ext-18.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-ext-18.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,5 @@ +;;; Test the 18 bit OPR mode +;;; This should encode to four bytes only + sub d1, 0x2abcd + sub d0, 0x1feed + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-idx-24-reg.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-idx-24-reg.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-idx-24-reg.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-idx-24-reg.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,13 @@ +#objdump: -d +#name: +#source: opr-idx-24-reg.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: bc e8 02 ab clr.b \(175053,d2\) + 4: cd diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-idx-24-reg.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-idx-24-reg.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-idx-24-reg.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-idx-24-reg.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,2 @@ + clr.b (175053, d2) + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-idx3-reg.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-idx3-reg.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-idx3-reg.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-idx3-reg.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,17 @@ +#objdump: -d +#name: +#source: opr-idx3-reg.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: a9 c6 11 22 ld y, \[1122867,x\] + 4: 33 + 5: df fe 11 77 neg.l \[1144678\] + 9: 66 + a: 0c 9a fa 11 mov.b #-102, 1162188 + e: bb cc diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-idx3-reg.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-idx3-reg.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-idx3-reg.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-idx3-reg.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,3 @@ +L1: ld y, [0x112233, x] + neg.l [0x117766] + mov.b #-102, 0x11bbcc diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-idx3-xysp-24.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-idx3-xysp-24.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-idx3-xysp-24.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-idx3-xysp-24.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,15 @@ +#objdump: -d +#name: +#source: opr-idx3-xysp-24.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: a6 c2 99 aa ld d6, \(-6706501,x\) + 4: bb + 5: a7 d2 0a d3 ld d7, \(709501,y\) + 9: 7d diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-idx3-xysp-24.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-idx3-xysp-24.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-idx3-xysp-24.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-idx3-xysp-24.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,3 @@ + ld d6, (-6706501,x) + ld d7, (709501,y) + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-indirect-expr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-indirect-expr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-indirect-expr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-indirect-expr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,14 @@ +#objdump: -dr +#name: Expressions in OPR indirect mode +#source: opr-indirect-expr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: a7 fe 00 00 ld d7, \[1\] + 4: 01 + 2: R_S12Z_EXT24 FOO diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-indirect-expr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-indirect-expr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-indirect-expr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-indirect-expr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1 @@ + ld d7, [FOO+1] diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-symbol.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-symbol.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-symbol.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-symbol.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,170 @@ +#objdump: -dt +#name: OPR addressing mode: symbols in its direct submode +#source: opr-symbol.s + +dump.o: file format elf32-s12z + +SYMBOL TABLE: +00000000 l d .text 00000000 .text +00000000 l d .data 00000000 .data +00000000 l d .bss 00000000 .bss +00123456 l \*ABS\* 00000000 sym1 +00abcdef l \*ABS\* 00000000 sym2 + + + +Disassembly of section .text: + +00000000 <.text>: + 0: 0c 17 fa 12 mov.b #23, sym1 + 4: 34 56 + 6: 0d 00 17 fa mov.w #23, sym1 + a: 12 34 56 + d: 0e 00 00 17 mov.p #23, sym1 + 11: fa 12 34 56 + 15: 0f 00 00 00 mov.l #23, sym1 + 19: 17 fa 12 34 + 1d: 56 + 1e: 1c fa 12 34 mov.b sym1, sym2 + 22: 56 fa ab cd + 26: ef + 27: 1d fa 12 34 mov.w sym1, sym2 + 2b: 56 fa ab cd + 2f: ef + 30: 1e fa 12 34 mov.p sym1, sym2 + 34: 56 fa ab cd + 38: ef + 39: 1f fa 12 34 mov.l sym1, sym2 + 3d: 56 fa ab cd + 41: ef + 42: 65 fa 12 34 add d1, sym1 + 46: 56 + 47: 68 fa 12 34 and d2, sym1 + 4b: 56 + 4c: 81 fa 12 34 sub d3, sym1 + 50: 56 + 51: 8a fa 12 34 or d4, sym1 + 55: 56 + 56: 9c fa 12 34 inc.b sym1 + 5a: 56 + 5b: 9d fa 12 34 inc.w sym1 + 5f: 56 + 60: 9f fa 12 34 inc.l sym1 + 64: 56 + 65: b2 12 34 56 ld d4, sym1 + 69: ba ab cd ef jmp sym2 + 6d: bb 12 34 56 jsr sym1 + 71: ac fa 12 34 dec.b sym1 + 75: 56 + 76: ad fa 12 34 dec.w sym1 + 7a: 56 + 7b: af fa 12 34 dec.l sym1 + 7f: 56 + 80: bc fa 12 34 clr.b sym1 + 84: 56 + 85: bd fa 12 34 clr.w sym1 + 89: 56 + 8a: bf fa 12 34 clr.l sym1 + 8e: 56 + 8f: d3 12 34 56 st d5, sym1 + 93: cc fa 12 34 com.b sym1 + 97: 56 + 98: cd fa 12 34 com.w sym1 + 9c: 56 + 9d: cf fa 12 34 com.l sym1 + a1: 56 + a2: dc fa 12 34 neg.b sym1 + a6: 56 + a7: dd fa 12 34 neg.w sym1 + ab: 56 + ac: df fa 12 34 neg.l sym1 + b0: 56 + b1: f3 fa 12 34 cmp d5, sym1 + b5: 56 + b6: 1b 00 fa 12 ld s, sym1 + ba: 34 56 + bc: 1b 01 fa 12 st s, sym1 + c0: 34 56 + c2: 1b 02 fa 12 cmp s, sym1 + c6: 34 56 + c8: 1b 10 fa 12 minu d2, sym1 + cc: 34 56 + ce: 1b 18 fa 12 maxu d2, sym1 + d2: 34 56 + d4: 1b 20 fa 12 mins d2, sym1 + d8: 34 56 + da: 1b 28 fa 12 maxs d2, sym1 + de: 34 56 + e0: 1b 61 fa 12 adc d3, sym1 + e4: 34 56 + e6: 1b 69 fa 12 bit d3, sym1 + ea: 34 56 + ec: 1b 81 fa 12 sbc d3, sym1 + f0: 34 56 + f2: 1b 89 fa 12 eor d3, sym1 + f6: 34 56 + f8: 02 d1 fa 12 brclr.b sym1, d1, \*\+3 + fc: 34 56 03 + ff: 02 a2 fa 12 brclr.w sym1, #2, \*\+4 + 103: 34 56 04 + 106: 03 81 fa ab brset.b sym2, d2, \*\+5 + 10a: cd ef 05 + 10d: 03 b2 fa ab brset.w sym2, #3, \*\+6 + 111: cd ef 06 + 114: 4d 40 fa 12 mulu.b d1, d2, sym1 + 118: 34 56 + 11a: 4e 7e fa 12 mulu.ll d6, sym1, sym2 + 11e: 34 56 fa ab + 122: cd ef + 124: 4d c0 fa 12 muls.b d1, d2, sym1 + 128: 34 56 + 12a: 4e fe fa 12 muls.ll d6, sym1, sym2 + 12e: 34 56 fa ab + 132: cd ef + 134: 1b b5 c0 fa qmuls.b d1, d2, sym1 + 138: 12 34 56 + 13b: 1b b6 fe fa qmuls.ll d6, sym1, sym2 + 13f: 12 34 56 fa + 143: ab cd ef + 146: 1b 35 40 fa divu.b d1, d2, sym1 + 14a: 12 34 56 + 14d: 1b 36 7e fa divu.ll d6, sym1, sym2 + 151: 12 34 56 fa + 155: ab cd ef + 158: 1b 35 c0 fa divs.b d1, d2, sym1 + 15c: 12 34 56 + 15f: 1b 36 fe fa divs.ll d6, sym1, sym2 + 163: 12 34 56 fa + 167: ab cd ef + 16a: ec a0 fa 12 bclr.b sym1, #2 + 16e: 34 56 + 170: ec 85 fa ab bclr.w sym2, d2 + 174: cd ef + 176: ed a0 fa 12 bset.b sym1, #2 + 17a: 34 56 + 17c: ed 85 fa ab bset.w sym2, d2 + 180: cd ef + 182: ee a0 fa 12 btgl.b sym1, #2 + 186: 34 56 + 188: ee 85 fa ab btgl.w sym2, d2 + 18c: cd ef + 18e: 0b 0c fa 12 tbne.b sym1, \*\+8 + 192: 34 56 08 + 195: 0b ad fa ab dbpl.w sym2, \*\+9 + 199: cd ef 09 + 19c: 1b 08 c0 fa bfins.b d2, sym1, d2 + 1a0: 12 34 56 + 1a3: 1b 08 d4 fa bfins.w sym1, d2, d2 + 1a7: 12 34 56 + 1aa: 1b 08 e9 01 bfins.p d2, sym1, #8\:1 + 1ae: fa 12 34 56 + 1b2: 1b 08 fd 01 bfins.l sym1, d2, #8\:1 + 1b6: fa 12 34 56 + 1ba: 1b 08 40 fa bfext.b d2, sym1, d2 + 1be: 12 34 56 + 1c1: 1b 08 54 fa bfext.w sym1, d2, d2 + 1c5: 12 34 56 + 1c8: 1b 08 69 01 bfext.p d2, sym1, #8\:1 + 1cc: fa 12 34 56 + 1d0: 1b 08 7c e2 bfext.l sym1, d2, #7\:2 + 1d4: fa 12 34 56 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-symbol.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-symbol.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/opr-symbol.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/opr-symbol.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,109 @@ +#sym1: set $123456 + +#sym2: set $abcdef + + .equiv sym1, 0x123456 + .equiv sym2, 0xabcdef + + mov.b #23, sym1 + mov.w #23, sym1 + mov.p #23, sym1 + mov.l #23, sym1 + + mov.b sym1, sym2 + mov.w sym1, sym2 + mov.p sym1, sym2 + mov.l sym1, sym2 + + add d1, sym1 + and d2, sym1 + sub d3, sym1 + or d4, sym1 + + inc.b sym1 + inc.w sym1 + inc.l sym1 + + ld d4, sym1 + + jmp sym2 + jsr sym1 + + dec.b sym1 + dec.w sym1 + dec.l sym1 + + clr.b sym1 + clr.w sym1 + clr.l sym1 + + st d5, sym1 + + com.b sym1 + com.w sym1 + com.l sym1 + + neg.b sym1 + neg.w sym1 + neg.l sym1 + + cmp d5, sym1 + + ld s, sym1 + st s, sym1 + cmp s, sym1 + + minu d2, sym1 + maxu d2, sym1 + + mins d2, sym1 + maxs d2, sym1 + + adc d3, sym1 + bit d3, sym1 + sbc d3, sym1 + eor d3, sym1 + + brclr.b sym1, d1, *+3 + brclr.w sym1, #2, *+4 + + brset.b sym2, d2, *+5 + brset.w sym2, #3, *+6 + + mulu.b d1, d2, sym1 + mulu.ll d6, sym1, sym2 + + muls.b d1, d2, sym1 + muls.ll d6, sym1, sym2 + + qmuls.b d1, d2, sym1 + qmuls.ll d6, sym1, sym2 + + divu.b d1, d2, sym1 + divu.ll d6, sym1, sym2 + + divs.b d1, d2, sym1 + divs.ll d6, sym1, sym2 + + bclr.b sym1, #2 + bclr.w sym2, d2 + + bset.b sym1, #2 + bset.w sym2, d2 + + btgl.b sym1, #2 + btgl.w sym2, d2 + + tbne.b sym1, *+8 + dbpl.w sym2, *+9 + + bfins.b d2, sym1, d2 + bfins.w sym1, d2, d2 + bfins.p d2, sym1, #8:1 + bfins.l sym1, d2, #8:1 + + bfext.b d2, sym1, d2 + bfext.w sym1, d2, d2 + bfext.p d2, sym1, #8:1 + bfext.l sym1, d2, #7:2 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/or-imm.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/or-imm.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/or-imm.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/or-imm.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: +#source: or-imm.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: 78 12 34 or d2, #4660 + 3: 79 12 34 or d3, #4660 + 6: 7a fc 7a or d4, #-902 + 9: 7b 01 59 or d5, #345 + c: 7c 12 or d0, #18 + e: 7d 34 or d1, #52 + 10: 7e 56 78 9a or d6, #1450744508 + 14: bc + 15: 7f ff 43 9e or d7, #-12345678 + 19: b2 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/or-imm.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/or-imm.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/or-imm.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/or-imm.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ +start: or d2, #0x1234 + or d3, #0x1234 + or d4, #-902 + or d5, #345 + or d0, #0x12 + or d1, #0x34 + or d6, #0x56789ABC + or d7, #-12345678 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/or-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/or-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/or-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/or-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: +#source: or-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 8c d5 21 or d0, \[-223,y\] + 3: 8d f2 00 84 or d1, \(34000,p\) + 7: d0 + 8: 88 c3 or d2, \(-x\) + a: 89 f7 or d3, \(y\+\) + c: 8a ba or d4, d4 + e: 8b f8 77 d6 or d5, 30678 + 12: 8e fe 01 64 or d6, \[91256\] + 16: 78 + 17: 8f 9a or d7, \(d4,y\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/or-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/or-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/or-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/or-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ + or d0, [-223,y] + or d1, (34000, p) + or d2, (-x) + or d3, (y+) + or d4, d4 + or d5, 30678 + or d6, [91256] + or d7, (d4,y) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/p2-mul.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/p2-mul.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/p2-mul.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/p2-mul.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,17 @@ +#objdump: -d +#name: Multiply instructions from page2 in all reg-reg-reg mode +#source: p2-mul.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b b4 a9 qmuls d0, d1, d3 + 3: 1b b2 1e qmulu d4, d5, d6 + 6: 1b 37 a5 divs d7, d0, d1 + 9: 1b 30 0a divu d2, d3, d4 + c: 1b 3b b7 mods d5, d6, d7 + f: 1b 3c 28 modu d0, d1, d2 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/p2-mul.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/p2-mul.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/p2-mul.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/p2-mul.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,7 @@ + qmuls d0, d1, d3 + qmulu d4, d5, d6 + divs d7, d0, d1 + divu d2, d3, d4 + mods d5, d6, d7 + modu d0, d1, d2 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/page2-inh.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/page2-inh.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/page2-inh.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/page2-inh.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,15 @@ +#objdump: -d +#name: +#source: page2-inh.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 90 rti + 2: 1b 07 sys + 4: 1b 05 stop + 6: 1b 06 wai diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/page2-inh.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/page2-inh.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/page2-inh.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/page2-inh.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,5 @@ + RTI + SYS + STOP + WAI + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/psh-pul.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/psh-pul.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/psh-pul.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/psh-pul.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: +#source: psh-pul.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: 04 00 psh ALL + 2: 04 40 psh ALL16b + 4: 04 3c psh cch, ccl, d0, d1 + 6: 04 43 psh x, y + +00000008 : + 8: 04 80 pul ALL + a: 04 c0 pul ALL16b + c: 04 bc pul cch, ccl, d0, d1 + e: 04 c3 pul x, y diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/psh-pul.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/psh-pul.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/psh-pul.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/psh-pul.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ +here: psh all + psh all16b + psh cch, ccl, d1, d0 + psh x, y +there: pul all + pul all16b + pul cch, ccl, d1, d0 + pul x, y diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/qmul.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/qmul.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/qmul.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/qmul.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,23 @@ +#objdump: -d +#name: +#source: qmul.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b b4 ec 62 qmuls.b d0, d1, #98 + 4: 1b b5 c0 b9 qmuls.b d1, d2, d3 + 8: 1b b0 c9 ba qmuls.w d2, d3, d4 + c: 1b b1 ff 00 qmuls.l d3, d7, #9842 + 10: 00 26 72 + 13: 1b b2 68 e0 qmulu.b d4, d1, \(32,s\) + 17: 20 + 18: 1b b3 49 c4 qmulu.w d5, d3, \[34,x\] + 1c: 22 + 1d: 1b b6 7b ff qmulu.l d6, d7, \(s\+\) + 21: 1b b7 7a d4 qmulu.lp d7, \[12,y\], \(7,d1\) + 25: 0c 85 00 07 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/qmul.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/qmul.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/qmul.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/qmul.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ + qmuls.b d0, d1, #98 + qmuls.b d1, d2, d3 + qmuls.w d2, d3, d4 + qmuls.l d3, d7, #9842 + qmulu.b d4, d1, (32,s) + qmulu.w d5, d3, [34,x] + qmulu.l d6, d7, (s+) + qmulu.lp d7, [12,y], (7,d1) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/rotate.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/rotate.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/rotate.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/rotate.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,22 @@ +#objdump: -d +#name: +#source: rotate.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 10 24 b8 ror.b d2 + 3: 10 64 fb rol.b \(-s\) + 6: 10 65 ff rol.w \(s\+\) + 9: 10 66 d4 2d rol.p \[45,y\] + d: 10 67 87 00 rol.l \(78,d7\) + 11: 4e + 12: 10 24 bc ror.b d0 + 15: 10 24 c3 ror.b \(-x\) + 18: 10 25 f7 ror.w \(y\+\) + 1b: 10 26 f4 29 ror.p \[41,p\] + 1f: 10 27 8b ror.l \(d5,x\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/rotate.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/rotate.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/rotate.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/rotate.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,10 @@ + ror d2 + rol.b (-s) + rol.w (s+) + rol.p [45,y] + rol.l (78, d7) + ror d0 + ror.b (-x) + ror.w (y+) + ror.p [41,p] + ror.l (d5, x) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/s12z.exp binutils-2.30.52.20180613/gas/testsuite/gas/s12z/s12z.exp --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/s12z.exp 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/s12z.exp 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,132 @@ +# Copyright (C) 2018 Free Software Foundation, Inc. + +# 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 3 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + +# +# Some s12z tests +# +if { ![istarget "s12z*-*-*"] } then { + return +} + + +run_dump_test abs +run_dump_test adc-imm +run_dump_test adc-opr +run_dump_test add-imm +run_dump_test add-opr +run_dump_test and-imm +run_dump_test and-opr +run_dump_test and-or-cc +run_dump_test bfext-special +run_dump_test bfext +run_dump_test bit-manip +run_dump_test bit +run_dump_test bra +run_dump_test brset-clr-opr-imm-rel +run_dump_test brset-clr-opr-reg-rel +run_dump_test brset-clr-reg-imm-rel +run_dump_test brset-clr-reg-reg-rel +run_dump_test clb +run_dump_test clr-opr +run_dump_test clr +run_dump_test cmp-imm +run_dump_test cmp-opr-inc +run_dump_test cmp-opr-rdirect +run_dump_test cmp-opr-reg +run_dump_test cmp-opr-rindirect +run_dump_test cmp-opr-sxe4 +run_dump_test cmp-opr-xys +run_dump_test cmp-s-imm +run_dump_test cmp-s-opr +run_dump_test cmp-xy +run_dump_test com-opr +run_dump_test complex-shifts +run_dump_test db-tb-cc-opr +run_dump_test db-tb-cc-reg +run_dump_test dec-opr +run_dump_test dec +run_dump_test div +run_dump_test eor +run_dump_test exg +run_dump_test inc-opr +run_dump_test inc +run_dump_test inh +run_dump_test jmp +run_dump_test jsr +run_dump_test ld-imm-page2 +run_dump_test ld-imm +run_dump_test ld-opr +run_dump_test ld-s-opr +run_dump_test lea +run_dump_test mac +run_dump_test min-max +run_dump_test mod +run_dump_test mov +run_dump_test p2-mul +run_dump_test mul-imm +run_dump_test mul-opr-opr +run_dump_test mul-opr +run_dump_test mul-reg +run_dump_test mul +run_dump_test neg-opr +run_dump_test not-so-simple-shifts +run_dump_test opr-18u +run_dump_test opr-ext-18 +run_dump_test opr-idx-24-reg +run_dump_test opr-idx3-reg +run_dump_test opr-idx3-xysp-24 +run_dump_test or-imm +run_dump_test or-opr +run_dump_test page2-inh +run_dump_test psh-pul +run_dump_test qmul +run_dump_test rotate +run_dump_test sat +run_dump_test sbc-imm +run_dump_test sbc-opr +run_dump_test shift +run_dump_test simple-shift +run_dump_test single-ops +run_dump_test st-opr +run_dump_test st-s-opr +run_dump_test sub-imm +run_dump_test sub-opr +run_dump_test tfr +run_dump_test trap +run_dump_test specd6 + +# Tests of the disassembler - these are hard to force the assembler to generate +run_dump_test ld-immu18 +run_dump_test lea-immu18 +run_dump_test ext24-ld-xy +run_dump_test st-xy + +# Symbol related tests +run_dump_test opr-symbol +run_dump_test brclr-symbols +run_dump_test dbCC + +# Expression related tests +run_dump_test opr-expr +run_dump_test opr-indirect-expr +run_dump_test bra-expression-defined +run_dump_test bra-expression-undef + +# Tests related to optimisation +run_dump_test ld-large-direct +run_dump_test ld-small-direct +run_dump_test st-large-direct +run_dump_test st-small-direct diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sat.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sat.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sat.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sat.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ +#objdump: -d +#name: +#source: sat.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b a0 sat d2 + 2: 1b a1 sat d3 + 4: 1b a2 sat d4 + 6: 1b a3 sat d5 + 8: 1b a4 sat d0 + a: 1b a5 sat d1 + c: 1b a6 sat d6 + e: 1b a7 sat d7 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sat.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sat.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sat.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sat.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ + sat d2 + sat d3 + sat d4 + sat d5 + sat d0 + sat d1 + sat d6 + sat d7 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sbc-imm.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sbc-imm.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sbc-imm.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sbc-imm.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: +#source: sbc-imm.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 70 12 34 sbc d2, #4660 + 4: 1b 71 12 34 sbc d3, #4660 + 8: 1b 72 12 34 sbc d4, #4660 + c: 1b 73 12 34 sbc d5, #4660 + 10: 1b 74 ef sbc d0, #-17 + 13: 1b 75 34 sbc d1, #52 + 16: 1b 76 56 78 sbc d6, #1450744508 + 1a: 9a bc + 1c: 1b 77 98 77 sbc d7, #-1737025662 + 20: 17 82 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sbc-imm.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sbc-imm.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sbc-imm.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sbc-imm.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ + sbc d2, #0x1234 + sbc d3, #0x1234 + sbc d4, #0x1234 + sbc d5, #0x1234 + sbc d0, #-17 + sbc d1, #0x34 + sbc d6, #0x56789ABC + sbc d7, #-1737025662 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sbc-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sbc-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sbc-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sbc-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,23 @@ +#objdump: -d +#name: +#source: sbc-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 84 d5 21 sbc d0, \[-223,y\] + 4: 1b 85 f2 00 sbc d1, \(34000,p\) + 8: 84 d0 + a: 1b 80 fb sbc d2, \(-s\) + d: 1b 71 00 22 sbc d3, #34 + 11: 1b 82 bc sbc d4, d0 + 14: 1b 83 0a 76 sbc d5, 2678 + 18: 1b 86 fe 00 sbc d6, \[56\] + 1c: 00 38 + 1e: 1b 87 9b sbc d7, \(d5,y\) + 21: 1b 81 85 00 sbc d3, \(34,d1\) + 25: 22 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sbc-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sbc-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sbc-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sbc-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,9 @@ + sbc d0, [-223,y] + sbc d1, (34000, p) + sbc d2, (-s) + sbc d3, #34 + sbc d4, d0 + sbc d5, 2678 + sbc d6, [56] + sbc d7, (d5,y) + sbc d3, (34, d1) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/shift.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/shift.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/shift.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/shift.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,22 @@ +#objdump: -d +#name: +#source: shift.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 14 11 bb lsr d0, d3, d5 + 3: 15 9a 76 asr d1, d4, #13 + 6: 15 84 asr d1, d0, #1 + 8: 17 68 fb lsl.b d7, \(-s\), #2 + b: 17 69 fb lsl.w d7, \(-s\), #2 + e: 17 6b fb lsl.l d7, \(-s\), #2 + 11: 17 2a fb lsr.p d7, \(-s\), #2 + 14: 10 3d f3 lsr.w \(\+y\), #2 + 17: 10 3e 8e lsr.p \(d6,x\), #2 + 1a: 10 f4 bf asl d7, #1 + 1d: 10 bc bd asr d1, #2 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/shift.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/shift.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/shift.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/shift.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,11 @@ + lsr d0, d3, d5 + asr d1, d4, #13 + asr d1, d0, #1 + lsl.b d7, (-s), #2 + lsl.w d7, (-s), #2 + lsl.l d7, (-s), #2 + lsr.p d7, (-s), #2 + lsr.w (+y), #2 + lsr.p (d6,x), #2 + asl d7, #1 + asr d1, #2 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/simple-shift.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/simple-shift.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/simple-shift.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/simple-shift.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,18 @@ +#objdump: -d +#name: +#source: simple-shift.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 14 55 b8 lsl d0, d1, d2 + 3: 11 12 bb lsr d3, d4, d5 + 6: 17 d4 bd asl d7, d0, d1 + 9: 10 91 ba asr d2, d3, d4 + c: 16 d5 b8 asl d6, d1, d2 + f: 15 5a 76 lsl d1, d4, #13 + 12: 13 46 lsl d5, d6, #1 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/simple-shift.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/simple-shift.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/simple-shift.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/simple-shift.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,9 @@ + lsl d0, d1, d2 + lsr d3, d4, d5 + asl d7, d0, d1 + asr d2, d3, d4 + asl d6, d1, d2 + + lsl d1, d4, #13 + lsl d5, d6, #1 ; this creates a short form + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/single-ops.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/single-ops.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/single-ops.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/single-ops.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,15 @@ +#objdump: -d +#name: +#source: single-ops.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 01 nop + 1: 05 rts + 2: 00 bgnd + 3: ff swi diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/single-ops.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/single-ops.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/single-ops.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/single-ops.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,4 @@ + nop + rts + bgnd + swi diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/specd6.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/specd6.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/specd6.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/specd6.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,14 @@ +#objdump: -d +#name: +#source: specd6.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: fc cmp x, y + 1: fd sub d6, x, y + 2: fe sub d6, y, x diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/specd6.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/specd6.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/specd6.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/specd6.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,4 @@ + cmp x, y + sub d6, x, y + sub d6, y, x + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-large-direct.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-large-direct.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-large-direct.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-large-direct.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: ST reg - constant optimised to EXT24 +#source: st-large-direct.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: d0 12 34 56 st d2, 1193046 + 4: d1 c0 ff ee st d3, 12648430 + 8: d2 80 00 02 st d4, 8388610 + c: d4 80 00 03 st d0, 8388611 + 10: d5 80 00 03 st d1, 8388611 + 14: d3 80 00 04 st d5, 8388612 + 18: d6 80 00 06 st d6, 8388614 + 1c: d7 80 00 07 st d7, 8388615 + 20: d8 80 00 08 st x, 8388616 + 24: d9 80 00 09 st y, 8388617 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-large-direct.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-large-direct.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-large-direct.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-large-direct.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,11 @@ + st d2, 0x123456 + st d3, 0xc0ffee + st d4, 0x800002 + st d0, 0x800003 + st d1, 0x800003 + st d5, 0x800004 + st d6, 0x800006 + st d7, 0x800007 + st x, 0x800008 + st y, 0x800009 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,22 @@ +#objdump: -d +#name: +#source: st-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: c4 d8 st d0, \[d2,y\] + 2: c5 c9 st d1, \[d3,x\] + 4: c0 ca st d2, \[d4,x\] + 6: c1 87 3b 82 st d3, \(15234,d7\) + a: c2 e1 16 st d4, \(-234,s\) + d: c3 bc st d5, d0 + f: c6 88 st d6, \(d2,x\) + 11: c7 fe 00 04 st d7, \[1234\] + 15: d2 + 16: c8 88 st x, \(d2,x\) + 18: c9 db st y, \[d5,y\] diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,10 @@ + st d0, [d2,y] + st d1, [d3,x] + st d2, [d4,x] + st d3, (15234,d7) + st d4, (-234,s) + st d5, d0 + st d6, (d2, x) + st d7, [1234] + st x, (d2, x) + st y, [d5, y] diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-small-direct.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-small-direct.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-small-direct.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-small-direct.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,34 @@ +#objdump: -d +#name: ST reg - small constants left in OPR mode +#source: st-small-direct.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: c0 fa 00 00 st d2, L1 + 4: 00 + 5: c1 fa 00 00 st d3, L2 + 9: 1a + a: c2 fa 00 00 st d4, L1 + e: 00 + +0000000f : + f: 01 nop + 10: c4 fa 00 00 st d0, L2 + 14: 1a + 15: c5 fa 00 00 st d1, L3 + 19: 0f + +0000001a : + 1a: c3 fa 00 00 st d5, L1 + 1e: 00 + 1f: c6 fa 00 00 st d6, L3 + 23: 0f + 24: c7 fa 00 00 st d7, L2 + 28: 1a + 29: c8 30 39 st x, 12345 + 2c: c9 26 94 st y, 9876 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-small-direct.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-small-direct.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-small-direct.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-small-direct.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,12 @@ +L1: st d2, L1 + st d3, L2 + st d4, L1 +L3: nop + st d0, L2 + st d1, L3 +L2: st d5, L1 + st d6, L3 + st d7, L2 + st x, 12345 + st y, 9876 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-s-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-s-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-s-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-s-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,16 @@ +#objdump: -d +#name: +#source: st-s-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 01 aa st s, \(d4,s\) + 3: 1b 01 fe 00 st s, \[1340\] + 7: 05 3c + 9: 1b 01 9b st s, \(d5,y\) + c: 1b 01 d3 st s, \(-y\) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-s-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-s-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-s-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-s-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,4 @@ + st s, (d4, s) + st s, [1340] + st s, (d5, y) + st s, (-y) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-xy.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-xy.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-xy.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-xy.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,12 @@ +#objdump: -d +#name: +#source: st-xy.s + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: d8 90 12 34 st x, 9441844 + 4: d9 80 12 34 st y, 8393268 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-xy.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-xy.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/st-xy.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/st-xy.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,3 @@ + .long 0xD8901234 ;; ST X,9441844 + .long 0xD9801234 ;; ST Y,8393268 + diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sub-imm.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sub-imm.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sub-imm.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sub-imm.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,21 @@ +#objdump: -d +#name: +#source: sub-imm.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: 70 12 34 sub d2, #4660 + 3: 71 12 34 sub d3, #4660 + 6: 72 12 34 sub d4, #4660 + 9: 73 12 34 sub d5, #4660 + c: 74 ef sub d0, #-17 + e: 75 34 sub d1, #52 + 10: 76 56 78 9a sub d6, #1450744508 + 14: bc + 15: 77 98 77 17 sub d7, #-1737025662 + 19: 82 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sub-imm.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sub-imm.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sub-imm.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sub-imm.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ +start: sub d2, #0x1234 + sub d3, #0x1234 + sub d4, #0x1234 + sub d5, #0x1234 + sub d0, #-17 + sub d1, #0x34 + sub d6, #0x56789ABC + sub d7, #-1737025662 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sub-opr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sub-opr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sub-opr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sub-opr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,22 @@ +#objdump: -d +#name: +#source: sub-opr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 84 d5 21 sub d0, \[-223,y\] + 3: 85 f2 00 84 sub d1, \(34000,p\) + 7: d0 + 8: 80 fb sub d2, \(-s\) + a: 71 00 04 sub d3, #4 + d: 82 bc sub d4, d0 + f: 83 f9 4e ae sub d5, 85678 + 13: 86 fe 00 4b sub d6, \[19256\] + 17: 38 + 18: 87 8a sub d7, \(d4,x\) + 1a: 81 81 00 0b sub d3, \(11,d3\) \ No newline at end of file diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sub-opr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sub-opr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/sub-opr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/sub-opr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,9 @@ + sub d0, [-223,y] + sub d1, (34000, p) + sub d2, (-s) + sub d3, #4 + sub d4, d0 + sub d5, 85678 + sub d6, [19256] + sub d7, (d4,x) + sub d3, (11, d3) diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/tfr.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/tfr.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/tfr.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/tfr.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,20 @@ +#objdump: -d +#name: The TFR (incl ZEX) instruction +#source: tfr.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 : + 0: 9e 45 tfr d0, d1 + 2: 9e 58 tfr d1, x + 4: 9e 0a tfr d2, s + 6: 9e 0d tfr d2, ccl + 8: 9e 6e tfr d6, ccw + a: 9e 29 tfr d4, y + c: 9e 37 tfr d5, d7 + e: 9e 5e tfr d1, ccw + 10: 9e 40 tfr d0, d2 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/tfr.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/tfr.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/tfr.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/tfr.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,9 @@ +L1: tfr d0,d1 + tfr d1, x + tfr d2, s + tfr d2, ccl + tfr d6, ccw + tfr d4, y + zex d5, d7 + zex d1, ccw + zex d0, d2 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/trap.d binutils-2.30.52.20180613/gas/testsuite/gas/s12z/trap.d --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/trap.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/trap.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,105 @@ +#objdump: -d +#name: +#source: trap.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 1b 92 trap #146 + 2: 1b 93 trap #147 + 4: 1b 94 trap #148 + 6: 1b 95 trap #149 + 8: 1b 96 trap #150 + a: 1b 97 trap #151 + c: 1b 98 trap #152 + e: 1b 99 trap #153 + 10: 1b 9a trap #154 + 12: 1b 9b trap #155 + 14: 1b 9c trap #156 + 16: 1b 9d trap #157 + 18: 1b 9e trap #158 + 1a: 1b 9f trap #159 + 1c: 1b a8 trap #168 + 1e: 1b a9 trap #169 + 20: 1b aa trap #170 + 22: 1b ab trap #171 + 24: 1b ac trap #172 + 26: 1b ad trap #173 + 28: 1b ae trap #174 + 2a: 1b af trap #175 + 2c: 1b b8 trap #184 + 2e: 1b b9 trap #185 + 30: 1b ba trap #186 + 32: 1b bb trap #187 + 34: 1b bc trap #188 + 36: 1b bd trap #189 + 38: 1b be trap #190 + 3a: 1b bf trap #191 + 3c: 1b c0 trap #192 + 3e: 1b c1 trap #193 + 40: 1b c2 trap #194 + 42: 1b c3 trap #195 + 44: 1b c4 trap #196 + 46: 1b c5 trap #197 + 48: 1b c6 trap #198 + 4a: 1b c7 trap #199 + 4c: 1b c8 trap #200 + 4e: 1b c9 trap #201 + 50: 1b ca trap #202 + 52: 1b cb trap #203 + 54: 1b cc trap #204 + 56: 1b cd trap #205 + 58: 1b ce trap #206 + 5a: 1b cf trap #207 + 5c: 1b d0 trap #208 + 5e: 1b d1 trap #209 + 60: 1b d2 trap #210 + 62: 1b d3 trap #211 + 64: 1b d4 trap #212 + 66: 1b d5 trap #213 + 68: 1b d6 trap #214 + 6a: 1b d7 trap #215 + 6c: 1b d8 trap #216 + 6e: 1b d9 trap #217 + 70: 1b da trap #218 + 72: 1b db trap #219 + 74: 1b dc trap #220 + 76: 1b dd trap #221 + 78: 1b de trap #222 + 7a: 1b df trap #223 + 7c: 1b e0 trap #224 + 7e: 1b e1 trap #225 + 80: 1b e2 trap #226 + 82: 1b e3 trap #227 + 84: 1b e4 trap #228 + 86: 1b e5 trap #229 + 88: 1b e6 trap #230 + 8a: 1b e7 trap #231 + 8c: 1b e8 trap #232 + 8e: 1b e9 trap #233 + 90: 1b ea trap #234 + 92: 1b eb trap #235 + 94: 1b ec trap #236 + 96: 1b ed trap #237 + 98: 1b ee trap #238 + 9a: 1b ef trap #239 + 9c: 1b f0 trap #240 + 9e: 1b f1 trap #241 + a0: 1b f2 trap #242 + a2: 1b f3 trap #243 + a4: 1b f4 trap #244 + a6: 1b f5 trap #245 + a8: 1b f6 trap #246 + aa: 1b f7 trap #247 + ac: 1b f8 trap #248 + ae: 1b f9 trap #249 + b0: 1b fa trap #250 + b2: 1b fb trap #251 + b4: 1b fc trap #252 + b6: 1b fd trap #253 + b8: 1b fe trap #254 + ba: 1b ff trap #255 diff -Nru binutils-2.30.51.20180512/gas/testsuite/gas/s12z/trap.s binutils-2.30.52.20180613/gas/testsuite/gas/s12z/trap.s --- binutils-2.30.51.20180512/gas/testsuite/gas/s12z/trap.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/gas/testsuite/gas/s12z/trap.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,96 @@ + trap #146 + trap #147 + trap #148 + trap #149 + trap #150 + trap #151 + trap #152 + trap #153 + trap #154 + trap #155 + trap #156 + trap #157 + trap #158 + trap #159 + + trap #168 + trap #169 + trap #170 + trap #171 + trap #172 + trap #173 + trap #174 + trap #175 + + trap #184 + trap #185 + trap #186 + trap #187 + trap #188 + trap #189 + trap #190 + trap #191 + trap #192 + trap #193 + trap #194 + trap #195 + trap #196 + trap #197 + trap #198 + trap #199 + trap #200 + trap #201 + trap #202 + trap #203 + trap #204 + trap #205 + trap #206 + trap #207 + trap #208 + trap #209 + trap #210 + trap #211 + trap #212 + trap #213 + trap #214 + trap #215 + trap #216 + trap #217 + trap #218 + trap #219 + trap #220 + trap #221 + trap #222 + trap #223 + trap #224 + trap #225 + trap #226 + trap #227 + trap #228 + trap #229 + trap #230 + trap #231 + trap #232 + trap #233 + trap #234 + trap #235 + trap #236 + trap #237 + trap #238 + trap #239 + trap #240 + trap #241 + trap #242 + trap #243 + trap #244 + trap #245 + trap #246 + trap #247 + trap #248 + trap #249 + trap #250 + trap #251 + trap #252 + trap #253 + trap #254 + trap #255 diff -Nru binutils-2.30.51.20180512/gas/write.c binutils-2.30.52.20180613/gas/write.c --- binutils-2.30.51.20180512/gas/write.c 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/gas/write.c 2018-05-16 15:49:14.000000000 +0200 @@ -1946,6 +1946,7 @@ segT sec; char * note; offsetT note_size; + offsetT total_size; offsetT desc_size; offsetT desc2_offset; int desc_reloc; @@ -1963,7 +1964,8 @@ SEC_READONLY | SEC_HAS_CONTENTS | SEC_DATA); bfd_set_section_alignment (stdoutput, sec, 2); - /* Create a version note. */ + /* Work out the size of the notes that we will create, + and the relocation we should use. */ if (bfd_arch_bits_per_address (stdoutput) <= 32) { note_size = 28; @@ -1997,65 +1999,59 @@ desc_reloc = BFD_RELOC_64; } - frag_now_fix (); - note = frag_more (note_size); - memset (note, 0, note_size); + /* We have to create a note for *each* code section. + Linker garbage collection might discard some. */ + total_size = 0; + note = NULL; - if (target_big_endian) - { - note[3] = 8; /* strlen (name) + 1. */ - note[7] = desc_size; /* Two 8-byte offsets. */ - note[10] = NT_GNU_BUILD_ATTRIBUTE_OPEN >> 8; - note[11] = NT_GNU_BUILD_ATTRIBUTE_OPEN & 0xff; - } - else - { - note[0] = 8; /* strlen (name) + 1. */ - note[4] = desc_size; /* Two 8-byte offsets. */ - note[8] = NT_GNU_BUILD_ATTRIBUTE_OPEN & 0xff; - note[9] = NT_GNU_BUILD_ATTRIBUTE_OPEN >> 8; - } - - /* The a1 version number indicates that this note was - generated by the assembler and not the gcc annobin plugin. */ - memcpy (note + 12, "GA$3a1", 8); - - /* Find the first code section symbol. */ for (sym = symbol_rootP; sym != NULL; sym = sym->sy_next) if (sym->bsym != NULL && sym->bsym->flags & BSF_SECTION_SYM && sym->bsym->section != NULL - && sym->bsym->section->flags & SEC_CODE) + /* Skip linkonce sections - we cannot these section symbols as they may disappear. */ + && (sym->bsym->section->flags & (SEC_CODE | SEC_LINK_ONCE)) == SEC_CODE + /* Not all linkonce sections are flagged... */ + && strncmp (S_GET_NAME (sym), ".gnu.linkonce", sizeof ".gnu.linkonce" - 1) != 0) { - /* Found one - now create a relocation against this symbol. */ - create_note_reloc (sec, sym, 20, desc_reloc, 0, note); - break; - } + /* Create a version note. */ + frag_now_fix (); + note = frag_more (note_size); + memset (note, 0, note_size); - /* Find the last code section symbol. */ - if (sym) - { - for (sym = symbol_lastP; sym != NULL; sym = sym->sy_previous) - if (sym->bsym != NULL - && sym->bsym->flags & BSF_SECTION_SYM - && sym->bsym->section != NULL - && sym->bsym->section->flags & SEC_CODE) + if (target_big_endian) { - /* Create a relocation against the end of this symbol. */ - create_note_reloc (sec, sym, desc2_offset, desc_reloc, - bfd_get_section_size (sym->bsym->section), - note); - break; + note[3] = 8; /* strlen (name) + 1. */ + note[7] = desc_size; /* Two 8-byte offsets. */ + note[10] = NT_GNU_BUILD_ATTRIBUTE_OPEN >> 8; + note[11] = NT_GNU_BUILD_ATTRIBUTE_OPEN & 0xff; } - } - /* else - if we were unable to find any code section symbols then - probably there is no code in the output. So leaving the start - and end values as zero in the note is OK. */ + else + { + note[0] = 8; /* strlen (name) + 1. */ + note[4] = desc_size; /* Two 8-byte offsets. */ + note[8] = NT_GNU_BUILD_ATTRIBUTE_OPEN & 0xff; + note[9] = NT_GNU_BUILD_ATTRIBUTE_OPEN >> 8; + } + + /* The a1 version number indicates that this note was + generated by the assembler and not the gcc annobin plugin. */ + memcpy (note + 12, "GA$3a1", 8); - /* FIXME: Maybe add a note recording the assembler command line and version ? */ + /* Create a relocation to install the start address of the note... */ + create_note_reloc (sec, sym, 20, desc_reloc, 0, note); + + /* ...and another one to install the end address. */ + create_note_reloc (sec, sym, desc2_offset, desc_reloc, + bfd_get_section_size (sym->bsym->section), + note); + + total_size += note_size; + /* FIXME: Maybe add a note recording the assembler command line and version ? */ + } /* Install the note(s) into the section. */ - bfd_set_section_contents (stdoutput, sec, (bfd_byte *) note, 0, note_size); + if (total_size) + bfd_set_section_contents (stdoutput, sec, (bfd_byte *) note, 0, total_size); subsegs_finish_section (sec); relax_segment (seg_info (sec)->frchainP->frch_root, sec, 0); size_seg (stdoutput, sec, NULL); diff -Nru binutils-2.30.51.20180512/gprof/ChangeLog binutils-2.30.52.20180613/gprof/ChangeLog --- binutils-2.30.51.20180512/gprof/ChangeLog 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/gprof/ChangeLog 2018-06-13 10:31:39.000000000 +0200 @@ -1,3 +1,12 @@ +2018-06-05 Nick Clifton + + * po/eo.po: Updated Esperanto translation. + * po/ms.po: Updated Malay translation. + +2018-06-01 H.J. Lu + + * configure: Regenerated. + 2018-04-18 Nick Clifton * po/es.po: Updated Spanish translation. diff -Nru binutils-2.30.51.20180512/gprof/configure binutils-2.30.52.20180613/gprof/configure --- binutils-2.30.51.20180512/gprof/configure 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/gprof/configure 2018-06-04 21:27:35.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for gprof 2.30.51. +# Generated by GNU Autoconf 2.64 for gprof 2.30.52. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software @@ -556,8 +556,8 @@ # Identity of this package. PACKAGE_NAME='gprof' PACKAGE_TARNAME='gprof' -PACKAGE_VERSION='2.30.51' -PACKAGE_STRING='gprof 2.30.51' +PACKAGE_VERSION='2.30.52' +PACKAGE_STRING='gprof 2.30.52' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1302,7 +1302,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures gprof 2.30.51 to adapt to many kinds of systems. +\`configure' configures gprof 2.30.52 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1373,7 +1373,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of gprof 2.30.51:";; + short | recursive ) echo "Configuration of gprof 2.30.52:";; esac cat <<\_ACEOF @@ -1479,7 +1479,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -gprof configure 2.30.51 +gprof configure 2.30.52 generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -1844,7 +1844,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by gprof $as_me 2.30.51, which was +It was created by gprof $as_me 2.30.52, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -3653,7 +3653,7 @@ # Define the identity of the package. PACKAGE='gprof' - VERSION='2.30.51' + VERSION='2.30.52' cat >>confdefs.h <<_ACEOF @@ -12787,7 +12787,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by gprof $as_me 2.30.51, which was +This file was extended by gprof $as_me 2.30.52, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -12851,7 +12851,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -gprof config.status 2.30.51 +gprof config.status 2.30.52 configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff -Nru binutils-2.30.51.20180512/gprof/po/eo.po binutils-2.30.52.20180613/gprof/po/eo.po --- binutils-2.30.51.20180512/gprof/po/eo.po 2017-07-18 11:12:46.000000000 +0200 +++ binutils-2.30.52.20180613/gprof/po/eo.po 2018-06-13 10:31:39.000000000 +0200 @@ -1,21 +1,22 @@ # Esperanto translation. -# Copyright (C) 2011, 2013, 2014 Free Software Foundation, Inc. +# Copyright (C) 2011, 2013, 2014, 2018 Free Software Foundation, Inc. # This file is distributed under the same license as the binutils package. -# Felipe Castro 2011, 2013, 2014. +# Felipe Castro 2011, 2013, 2014, 2018. # msgid "" msgstr "" -"Project-Id-Version: gprof 2.24.90\n" +"Project-Id-Version: gprof 2.28.90\n" "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" -"POT-Creation-Date: 2014-02-10 09:42+1030\n" -"PO-Revision-Date: 2014-07-12 15:14-0300\n" +"POT-Creation-Date: 2017-07-03 16:56+0200\n" +"PO-Revision-Date: 2018-05-24 21:39-0300\n" "Last-Translator: Felipe Castro \n" "Language-Team: Esperanto \n" "Language: eo\n" -"X-Bugs: Report translation errors to the Language-Team address.\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 1.5.4\n" #: alpha.c:102 mips.c:54 msgid "" @@ -36,27 +37,27 @@ msgid "[find_call] 0x%lx: bsr" msgstr "[find_call] 0x%lx: bsr" -#: basic_blocks.c:129 call_graph.c:89 hist.c:107 +#: basic_blocks.c:128 call_graph.c:89 hist.c:106 #, c-format msgid "%s: %s: unexpected end of file\n" msgstr "%s: %s: ne atendita dosierfino\n" -#: basic_blocks.c:197 +#: basic_blocks.c:196 #, c-format msgid "%s: warning: ignoring basic-block exec counts (use -l or --line)\n" msgstr "%s: averto: ni preteratentas nombradon de baz-blokaj lanĉoj (uzu -l aŭ --line)\n" #. FIXME: This only works if bfd_vma is unsigned long. -#: basic_blocks.c:290 basic_blocks.c:300 +#: basic_blocks.c:289 basic_blocks.c:299 #, c-format msgid "%s:%d: (%s:0x%lx) %lu executions\n" msgstr "%s:%d: (%s:0x%lx) %lu lanĉoj\n" -#: basic_blocks.c:291 basic_blocks.c:301 +#: basic_blocks.c:290 basic_blocks.c:300 msgid "" msgstr "" -#: basic_blocks.c:544 +#: basic_blocks.c:543 #, c-format msgid "" "\n" @@ -73,7 +74,7 @@ " Linio Nombro\n" "\n" -#: basic_blocks.c:568 +#: basic_blocks.c:567 #, c-format msgid "" "\n" @@ -84,22 +85,22 @@ "Resumo pri plenumado:\n" "\n" -#: basic_blocks.c:569 +#: basic_blocks.c:568 #, c-format msgid "%9ld Executable lines in this file\n" msgstr "%9ld Plenumeblaj linioj en tiu ĉi dosiero\n" -#: basic_blocks.c:571 +#: basic_blocks.c:570 #, c-format msgid "%9ld Lines executed\n" msgstr "%9ld Linioj plenumitaj\n" -#: basic_blocks.c:572 +#: basic_blocks.c:571 #, c-format msgid "%9.2f Percent of the file executed\n" msgstr "%9.2f Elcento el la dosiero plenumita\n" -#: basic_blocks.c:576 +#: basic_blocks.c:575 #, c-format msgid "" "\n" @@ -108,7 +109,7 @@ "\n" "%9lu Entuta nombro da liniaj plenumoj\n" -#: basic_blocks.c:578 +#: basic_blocks.c:577 #, c-format msgid "%9.2f Average executions per line\n" msgstr "%9.2f Meznombraj plenumoj por linio\n" @@ -118,7 +119,7 @@ msgid "[cg_tally] arc from %s to %s traversed %lu times\n" msgstr "[cg_tally] arko de %s al %s trairis %lu fojojn\n" -#: cg_print.c:75 +#: cg_print.c:74 #, c-format msgid "" "\t\t Call graph (explanation follows)\n" @@ -127,7 +128,7 @@ "\t\t Vok-grafikaĵo (klarigo sekvas)\n" "\n" -#: cg_print.c:77 +#: cg_print.c:76 #, c-format msgid "" "\t\t\tCall graph\n" @@ -136,7 +137,7 @@ "\t\t\tVok-grafikaĵo\n" "\n" -#: cg_print.c:80 hist.c:471 +#: cg_print.c:79 hist.c:470 #, c-format msgid "" "\n" @@ -145,7 +146,7 @@ "\n" "ereco: ĉiu specimeno kovras %ld bajto(j)n" -#: cg_print.c:84 +#: cg_print.c:83 #, c-format msgid "" " for %.2f%% of %.2f seconds\n" @@ -154,7 +155,7 @@ " por %.2f%% el %.2f seconds\n" "\n" -#: cg_print.c:88 +#: cg_print.c:87 #, c-format msgid "" " no time propagated\n" @@ -163,64 +164,64 @@ " neniu tempo disvastigite\n" "\n" -#: cg_print.c:97 cg_print.c:102 cg_print.c:105 +#: cg_print.c:96 cg_print.c:101 cg_print.c:104 msgid "called" msgstr "vokita" -#: cg_print.c:97 cg_print.c:105 +#: cg_print.c:96 cg_print.c:104 msgid "total" msgstr "totalo" -#: cg_print.c:97 +#: cg_print.c:96 msgid "parents" msgstr "patroj" -#: cg_print.c:99 cg_print.c:103 +#: cg_print.c:98 cg_print.c:102 msgid "index" msgstr "indekso" -#: cg_print.c:101 +#: cg_print.c:100 #, no-c-format msgid "%time" msgstr "%tempo" -#: cg_print.c:102 +#: cg_print.c:101 msgid "self" msgstr "mem" -#: cg_print.c:102 +#: cg_print.c:101 msgid "descendants" msgstr "posteuloj" -#: cg_print.c:103 hist.c:497 +#: cg_print.c:102 hist.c:496 msgid "name" msgstr "nomo" -#: cg_print.c:105 +#: cg_print.c:104 msgid "children" msgstr "idoj" -#: cg_print.c:110 +#: cg_print.c:109 #, c-format msgid "index %% time self children called name\n" msgstr "indekso %% tempo mem idoj vokita nomo\n" -#: cg_print.c:133 +#: cg_print.c:132 #, c-format msgid " [%d]\n" msgstr " [%d]\n" -#: cg_print.c:359 +#: cg_print.c:358 #, c-format msgid "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s \n" msgstr "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s \n" -#: cg_print.c:360 +#: cg_print.c:359 #, c-format msgid "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s \n" msgstr "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s \n" -#: cg_print.c:594 +#: cg_print.c:593 #, c-format msgid "" "Index by function name\n" @@ -229,142 +230,147 @@ "Indekso laŭ funkci-nomo\n" "\n" -#: cg_print.c:651 cg_print.c:660 +#: cg_print.c:650 cg_print.c:659 #, c-format msgid "" msgstr "" -#: corefile.c:61 +#: corefile.c:62 #, c-format msgid "%s: unable to parse mapping file %s.\n" msgstr "%s: ne eblas analizi mapig-dosieron %s.\n" -#: corefile.c:85 corefile.c:526 +#: corefile.c:90 corefile.c:527 #, c-format msgid "%s: could not open %s.\n" msgstr "%s: ni ne povis malfermi %s.\n" -#: corefile.c:187 +#: corefile.c:192 #, c-format msgid "%s: %s: not in executable format\n" msgstr "%s: %s: ne estas laŭ lanĉebla formo\n" -#: corefile.c:198 +#: corefile.c:203 #, c-format msgid "%s: can't find .text section in %s\n" msgstr "%s: ni ne povas trovi sekcion .text en %s\n" -#: corefile.c:273 +#: corefile.c:278 #, c-format msgid "%s: ran out room for %lu bytes of text space\n" msgstr "%s: mankis loko por %lu bajtoj el teksto-spaco\n" -#: corefile.c:287 +#: corefile.c:292 #, c-format msgid "%s: can't do -c\n" msgstr "%s: ni ne povas fari -c\n" -#: corefile.c:330 +#: corefile.c:335 #, c-format msgid "%s: -c not supported on architecture %s\n" msgstr "%s: -c ne estas subtenata en arkitekturo %s\n" -#: corefile.c:535 corefile.c:638 +#: corefile.c:536 corefile.c:642 #, c-format msgid "%s: file `%s' has no symbols\n" msgstr "%s: dosiero '%s' ne havas simbolojn\n" -#: corefile.c:905 +#: corefile.c:541 +#, c-format +msgid "%s: file `%s' has too many symbols\n" +msgstr "%s: la dosiero '%s' havas tro da simboloj\n" + +#: corefile.c:909 #, c-format msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n" msgstr "%s: iu estis misnombrata: ltab.len=%d anstataŭ %ld\n" -#: gmon_io.c:84 +#: gmon_io.c:83 #, c-format msgid "%s: address size has unexpected value of %u\n" msgstr "%s: adres-grando havas neatenditan valoron de %u\n" -#: gmon_io.c:319 gmon_io.c:415 +#: gmon_io.c:318 gmon_io.c:414 #, c-format msgid "%s: file too short to be a gmon file\n" msgstr "%s: dosiero tro mallonga por esti el tipo gmon\n" -#: gmon_io.c:329 gmon_io.c:458 +#: gmon_io.c:328 gmon_io.c:457 #, c-format msgid "%s: file `%s' has bad magic cookie\n" msgstr "%s: dosiero '%s' havas malĝustan magian kuketon\n" -#: gmon_io.c:340 +#: gmon_io.c:339 #, c-format msgid "%s: file `%s' has unsupported version %d\n" msgstr "%s: dosiero '%s' havas nesubtenatan version %d\n" -#: gmon_io.c:370 +#: gmon_io.c:369 #, c-format msgid "%s: %s: found bad tag %d (file corrupted?)\n" msgstr "%s: %s: ni trovis malĝustan etikedon %d (ĉu dosiero rompita?)\n" -#: gmon_io.c:437 +#: gmon_io.c:436 #, c-format msgid "%s: profiling rate incompatible with first gmon file\n" msgstr "%s: profila rapido ne kongruas kun unua dosiero gmon\n" -#: gmon_io.c:488 +#: gmon_io.c:487 #, c-format msgid "%s: incompatible with first gmon file\n" msgstr "%s: nekongrua kun unua dosiero gmon\n" -#: gmon_io.c:518 +#: gmon_io.c:517 #, c-format msgid "%s: file '%s' does not appear to be in gmon.out format\n" msgstr "%s: dosiero '%s' ne ŝajnas esti laŭ formo gmon.out\n" -#: gmon_io.c:531 +#: gmon_io.c:530 #, c-format msgid "%s: unexpected EOF after reading %d/%d bins\n" msgstr "%s: neatendita EOF post legado de %d/%d ujoj\n" -#: gmon_io.c:563 +#: gmon_io.c:562 #, c-format msgid "time is in ticks, not seconds\n" msgstr "tempo estas laŭ marketoj (ticks), ne sekundoj\n" -#: gmon_io.c:569 gmon_io.c:749 +#: gmon_io.c:568 gmon_io.c:748 #, c-format msgid "%s: don't know how to deal with file format %d\n" msgstr "%s: ni ne scias kiel trakti dosier-formon %d\n" -#: gmon_io.c:579 +#: gmon_io.c:578 #, c-format msgid "File `%s' (version %d) contains:\n" msgstr "Dosiero '%s' (versio %d) enhavas:\n" -#: gmon_io.c:582 +#: gmon_io.c:581 #, c-format msgid "\t%d histogram record\n" msgstr "\t%d histograma rikordo\n" -#: gmon_io.c:583 +#: gmon_io.c:582 #, c-format msgid "\t%d histogram records\n" msgstr "\t%d histogramaj rikordoj\n" -#: gmon_io.c:585 +#: gmon_io.c:584 #, c-format msgid "\t%d call-graph record\n" msgstr "\t%d vok-grafikaĵa rikordo\n" -#: gmon_io.c:586 +#: gmon_io.c:585 #, c-format msgid "\t%d call-graph records\n" msgstr "\t%d vok-grafikaĵaj rikordoj\n" -#: gmon_io.c:588 +#: gmon_io.c:587 #, c-format msgid "\t%d basic-block count record\n" msgstr "\t%d baz-blok-nombrada rikordo\n" -#: gmon_io.c:589 +#: gmon_io.c:588 #, c-format msgid "\t%d basic-block count records\n" msgstr "\t%d baz-blok-nombradaj rikordoj\n" @@ -410,53 +416,53 @@ msgid "%s: debugging not supported; -d ignored\n" msgstr "%s: rafinado ne estas subtenata; -d estas preteratentita\n" -#: gprof.c:334 +#: gprof.c:336 #, c-format msgid "%s: unknown file format %s\n" msgstr "%s: nekonata dosier-formo %s\n" #. This output is intended to follow the GNU standards document. -#: gprof.c:422 +#: gprof.c:424 #, c-format msgid "GNU gprof %s\n" msgstr "GNU gprof %s\n" -#: gprof.c:423 +#: gprof.c:425 #, c-format msgid "Based on BSD gprof, copyright 1983 Regents of the University of California.\n" msgstr "Surbaze de BSD gprof, kopirajto 1983 Regents of the University of California.\n" -#: gprof.c:424 +#: gprof.c:426 #, c-format msgid "This program is free software. This program has absolutely no warranty.\n" msgstr "Tiu ĉi programo estas libera programaro. Tiu ĉi programo havas absolute neniun garantion.\n" -#: gprof.c:465 +#: gprof.c:467 #, c-format msgid "%s: unknown demangling style `%s'\n" msgstr "%s: nekonata maladorniga stilo '%s'\n" -#: gprof.c:488 +#: gprof.c:490 #, c-format msgid "%s: Only one of --function-ordering and --file-ordering may be specified.\n" msgstr "%s: Nur unu el --function-ordering kaj --file-ordering povas esti indikata.\n" -#: gprof.c:540 +#: gprof.c:542 #, c-format msgid "%s: sorry, file format `prof' is not yet supported\n" msgstr "%s: pardonu, dosier-formato 'prof' ankoraŭ ne estas subtenata\n" -#: gprof.c:594 +#: gprof.c:596 #, c-format msgid "%s: gmon.out file is missing histogram\n" msgstr "%s: dosiero gmon.out malhavas histogramon\n" -#: gprof.c:601 +#: gprof.c:603 #, c-format msgid "%s: gmon.out file is missing call-graph data\n" msgstr "%s: dosiero gmon.out malhavas vok-grafikaĵan datumaron\n" -#: hist.c:135 +#: hist.c:134 #, c-format msgid "" "%s: dimension unit changed between histogram records\n" @@ -467,7 +473,7 @@ "%s: de '%s'\n" "%s: al '%s'\n" -#: hist.c:145 +#: hist.c:144 #, c-format msgid "" "%s: dimension abbreviation changed between histogram records\n" @@ -478,27 +484,27 @@ "%s: de '%c'\n" "%s: al '%c'\n" -#: hist.c:159 +#: hist.c:158 #, c-format msgid "%s: different scales in histogram records" msgstr "%s: malsamaj skaloj en histogramaj rikordoj" -#: hist.c:196 +#: hist.c:195 #, c-format msgid "%s: overlapping histogram records\n" msgstr "%s: surmiksitaj histogramaj rikordoj\n" -#: hist.c:230 +#: hist.c:229 #, c-format msgid "%s: %s: unexpected EOF after reading %u of %u samples\n" msgstr "%s: %s: neatendita EOF post legado de %u el %u specimenoj\n" -#: hist.c:467 +#: hist.c:466 #, c-format msgid "%c%c/call" msgstr "%c%c/voko" -#: hist.c:475 +#: hist.c:474 #, c-format msgid "" " for %.2f%% of %.2f %s\n" @@ -507,7 +513,7 @@ " por %.2f%% el %.2f %s\n" "\n" -#: hist.c:481 +#: hist.c:480 #, c-format msgid "" "\n" @@ -516,7 +522,7 @@ "\n" "Ĉiu specimeno kalkuliĝas kiel %g %s.\n" -#: hist.c:486 +#: hist.c:485 #, c-format msgid "" " no time accumulated\n" @@ -525,27 +531,27 @@ " neniu tempo akumulita\n" "\n" -#: hist.c:493 +#: hist.c:492 msgid "cumulative" msgstr "akumula" -#: hist.c:493 +#: hist.c:492 msgid "self " msgstr "mem " -#: hist.c:493 +#: hist.c:492 msgid "total " msgstr "totalo " -#: hist.c:496 +#: hist.c:495 msgid "time" msgstr "tempo" -#: hist.c:496 +#: hist.c:495 msgid "calls" msgstr "vokoj" -#: hist.c:585 +#: hist.c:584 #, c-format msgid "" "\n" @@ -558,12 +564,12 @@ "\n" "plata profilo:\n" -#: hist.c:591 +#: hist.c:590 #, c-format msgid "Flat profile:\n" msgstr "Plata profilo:\n" -#: hist.c:712 +#: hist.c:711 #, c-format msgid "%s: found a symbol that covers several histogram records" msgstr "%s: ni trovis simbolon kiu kovras plurajn histogramajn rikordojn" diff -Nru binutils-2.30.51.20180512/gprof/po/ms.po binutils-2.30.52.20180613/gprof/po/ms.po --- binutils-2.30.51.20180512/gprof/po/ms.po 2017-07-18 11:12:46.000000000 +0200 +++ binutils-2.30.52.20180613/gprof/po/ms.po 2018-06-13 10:31:39.000000000 +0200 @@ -1,23 +1,23 @@ # gprof Bahasa Melayu (Malay) (ms). -# Copyright (C) 2006, 2008, 2015 Free Software Foundation, Inc. -# Copyright (C) 2006, 2008, 2015 Sharuzzaman Ahmat Raslan +# Copyright (C) 2006, 2008, 2015, 2018 Free Software Foundation, Inc. +# Copyright (C) 2006, 2008, 2015, 2018 Sharuzzaman Ahmat Raslan # This file is distributed under the same license as the binutils package. -# Sharuzzaman Ahmat Raslan , 2006, 2008, 2015. +# Sharuzzaman Ahmat Raslan , 2006, 2008, 2015, 2018. # msgid "" msgstr "" -"Project-Id-Version: gprof 2.24.90\n" +"Project-Id-Version: gprof 2.28.90\n" "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" -"POT-Creation-Date: 2014-02-10 09:42+1030\n" -"PO-Revision-Date: 2015-06-25 20:54+0800\n" +"POT-Creation-Date: 2017-07-03 16:56+0200\n" +"PO-Revision-Date: 2018-05-26 03:24+1000\n" "Last-Translator: Sharuzzaman Ahmat Raslan \n" "Language-Team: Malay \n" "Language: ms\n" -"X-Bugs: Report translation errors to the Language-Team address.\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.1\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 2.0.7\n" #: alpha.c:102 mips.c:54 msgid "" @@ -38,27 +38,27 @@ msgid "[find_call] 0x%lx: bsr" msgstr "[find_call] 0x%lx: bsr" -#: basic_blocks.c:129 call_graph.c:89 hist.c:107 +#: basic_blocks.c:128 call_graph.c:89 hist.c:106 #, c-format msgid "%s: %s: unexpected end of file\n" msgstr "%s: %s: akhir fail tidak dijangka\n" -#: basic_blocks.c:197 +#: basic_blocks.c:196 #, c-format msgid "%s: warning: ignoring basic-block exec counts (use -l or --line)\n" msgstr "%s: amaran: mengabaikan kiraan pelaksanaan blok-asas (guna -l atau --line)\n" #. FIXME: This only works if bfd_vma is unsigned long. -#: basic_blocks.c:290 basic_blocks.c:300 +#: basic_blocks.c:289 basic_blocks.c:299 #, c-format msgid "%s:%d: (%s:0x%lx) %lu executions\n" msgstr "%s:%d: (%s:0x%lx) %lu pelaksanaan\n" -#: basic_blocks.c:291 basic_blocks.c:301 +#: basic_blocks.c:290 basic_blocks.c:300 msgid "" msgstr "" -#: basic_blocks.c:544 +#: basic_blocks.c:543 #, c-format msgid "" "\n" @@ -75,7 +75,7 @@ " Baris Kiraan\n" "\n" -#: basic_blocks.c:568 +#: basic_blocks.c:567 #, c-format msgid "" "\n" @@ -86,22 +86,22 @@ "Ringkasan Pelaksanaan:\n" "\n" -#: basic_blocks.c:569 +#: basic_blocks.c:568 #, c-format msgid "%9ld Executable lines in this file\n" msgstr "%9ld Baris bolehlaksana dalam fail ini\n" -#: basic_blocks.c:571 +#: basic_blocks.c:570 #, c-format msgid "%9ld Lines executed\n" msgstr "%9ld Baris dilaksana\n" -#: basic_blocks.c:572 +#: basic_blocks.c:571 #, c-format msgid "%9.2f Percent of the file executed\n" msgstr "%9.2f Peratus fail dilaksana\n" -#: basic_blocks.c:576 +#: basic_blocks.c:575 #, c-format msgid "" "\n" @@ -110,7 +110,7 @@ "\n" "%9lu Jumlah baris pelaksanaan\n" -#: basic_blocks.c:578 +#: basic_blocks.c:577 #, c-format msgid "%9.2f Average executions per line\n" msgstr "%9.2f Purata pelaksanaan per baris\n" @@ -120,7 +120,7 @@ msgid "[cg_tally] arc from %s to %s traversed %lu times\n" msgstr "[cg_tally] arc dari %s ke %s berpindah %lu kali\n" -#: cg_print.c:75 +#: cg_print.c:74 #, c-format msgid "" "\t\t Call graph (explanation follows)\n" @@ -129,7 +129,7 @@ "\t\t Graf panggilan (di ikuti penerangan)\n" "\n" -#: cg_print.c:77 +#: cg_print.c:76 #, c-format msgid "" "\t\t\tCall graph\n" @@ -138,7 +138,7 @@ "\t\t\tGraf panggilan\n" "\n" -#: cg_print.c:80 hist.c:471 +#: cg_print.c:79 hist.c:470 #, c-format msgid "" "\n" @@ -147,7 +147,7 @@ "\n" "kebutiran: setiap kali sampel melitupi %ld byte" -#: cg_print.c:84 +#: cg_print.c:83 #, c-format msgid "" " for %.2f%% of %.2f seconds\n" @@ -156,7 +156,7 @@ " untuk %.2f%% dari %.2f saat\n" "\n" -#: cg_print.c:88 +#: cg_print.c:87 #, c-format msgid "" " no time propagated\n" @@ -165,64 +165,64 @@ " tiada masa terambat\n" "\n" -#: cg_print.c:97 cg_print.c:102 cg_print.c:105 +#: cg_print.c:96 cg_print.c:101 cg_print.c:104 msgid "called" msgstr "dipanggil" -#: cg_print.c:97 cg_print.c:105 +#: cg_print.c:96 cg_print.c:104 msgid "total" msgstr "jumlah" -#: cg_print.c:97 +#: cg_print.c:96 msgid "parents" msgstr "induk" -#: cg_print.c:99 cg_print.c:103 +#: cg_print.c:98 cg_print.c:102 msgid "index" msgstr "indeks" -#: cg_print.c:101 +#: cg_print.c:100 #, no-c-format msgid "%time" msgstr "%time" -#: cg_print.c:102 +#: cg_print.c:101 msgid "self" msgstr "sendiri" -#: cg_print.c:102 +#: cg_print.c:101 msgid "descendants" msgstr "keturunan" -#: cg_print.c:103 hist.c:497 +#: cg_print.c:102 hist.c:496 msgid "name" msgstr "nama" -#: cg_print.c:105 +#: cg_print.c:104 msgid "children" msgstr "anak" -#: cg_print.c:110 +#: cg_print.c:109 #, c-format msgid "index %% time self children called name\n" msgstr "indeks %% masa sendiri anak dipanggil nama\n" -#: cg_print.c:133 +#: cg_print.c:132 #, c-format msgid " [%d]\n" msgstr " [%d]\n" -#: cg_print.c:359 +#: cg_print.c:358 #, c-format msgid "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s \n" msgstr "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s \n" -#: cg_print.c:360 +#: cg_print.c:359 #, c-format msgid "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s \n" msgstr "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s \n" -#: cg_print.c:594 +#: cg_print.c:593 #, c-format msgid "" "Index by function name\n" @@ -231,142 +231,147 @@ "Indeks dengan nama fungsi\n" "\n" -#: cg_print.c:651 cg_print.c:660 +#: cg_print.c:650 cg_print.c:659 #, c-format msgid "" msgstr "" -#: corefile.c:61 +#: corefile.c:62 #, c-format msgid "%s: unable to parse mapping file %s.\n" msgstr "%s: tidak dapat menghurai fail pemetaan %s.\n" -#: corefile.c:85 corefile.c:526 +#: corefile.c:90 corefile.c:527 #, c-format msgid "%s: could not open %s.\n" msgstr "%s: tidak dapat membuka %s.\n" -#: corefile.c:187 +#: corefile.c:192 #, c-format msgid "%s: %s: not in executable format\n" msgstr "%s: %s: bukan dalam format bolehlaksana\n" -#: corefile.c:198 +#: corefile.c:203 #, c-format msgid "%s: can't find .text section in %s\n" msgstr "%s: tidak dapat mencari seksyen .text dalam %s\n" -#: corefile.c:273 +#: corefile.c:278 #, c-format msgid "%s: ran out room for %lu bytes of text space\n" msgstr "%s: tidak cukup ruang untuk %lu byte bagi ruang teks\n" -#: corefile.c:287 +#: corefile.c:292 #, c-format msgid "%s: can't do -c\n" msgstr "%s: tidak dapat melakukan -c\n" -#: corefile.c:330 +#: corefile.c:335 #, c-format msgid "%s: -c not supported on architecture %s\n" msgstr "%s: -c tidak disokong pada rekabentuk %s\n" -#: corefile.c:535 corefile.c:638 +#: corefile.c:536 corefile.c:642 #, c-format msgid "%s: file `%s' has no symbols\n" msgstr "%s: fail `%s' tidak mempunyai simbol\n" -#: corefile.c:905 +#: corefile.c:541 +#, c-format +msgid "%s: file `%s' has too many symbols\n" +msgstr "%s: fail `%s' mempunyai terlalu banyak simbol\n" + +#: corefile.c:909 #, c-format msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n" msgstr "%s: seseorang salah mengira: ltab.len=%d berbanding %ld\n" -#: gmon_io.c:84 +#: gmon_io.c:83 #, c-format msgid "%s: address size has unexpected value of %u\n" msgstr "%s: saiz alamat mempunyai nilai %u tidak dijangka\n" -#: gmon_io.c:319 gmon_io.c:415 +#: gmon_io.c:318 gmon_io.c:414 #, c-format msgid "%s: file too short to be a gmon file\n" msgstr "%s: fail terlalu pendek untuk menjadi fail gmon\n" -#: gmon_io.c:329 gmon_io.c:458 +#: gmon_io.c:328 gmon_io.c:457 #, c-format msgid "%s: file `%s' has bad magic cookie\n" msgstr "%s: fail `%s' mempunyai cecikut magik buruk\n" -#: gmon_io.c:340 +#: gmon_io.c:339 #, c-format msgid "%s: file `%s' has unsupported version %d\n" msgstr "%s: fail `%s' tidak mempunyai versi disokong %d\n" -#: gmon_io.c:370 +#: gmon_io.c:369 #, c-format msgid "%s: %s: found bad tag %d (file corrupted?)\n" msgstr "%s: %s: tag buruk %d dijumpai (fail rosak?)\n" -#: gmon_io.c:437 +#: gmon_io.c:436 #, c-format msgid "%s: profiling rate incompatible with first gmon file\n" msgstr "%s: kadar pemprofilan tidak sepadan dengan fail gmon pertama\n" -#: gmon_io.c:488 +#: gmon_io.c:487 #, c-format msgid "%s: incompatible with first gmon file\n" msgstr "%s: tidak sepadan dengan fail gmon pertama\n" -#: gmon_io.c:518 +#: gmon_io.c:517 #, c-format msgid "%s: file '%s' does not appear to be in gmon.out format\n" msgstr "%s: fail '%s' tidak kelihatan seperti dialam format gmon.out\n" -#: gmon_io.c:531 +#: gmon_io.c:530 #, c-format msgid "%s: unexpected EOF after reading %d/%d bins\n" msgstr "%s: EOF tidak dijangka selepas membaca %d/%d bins\n" -#: gmon_io.c:563 +#: gmon_io.c:562 #, c-format msgid "time is in ticks, not seconds\n" msgstr "masa dalam tick, bukan saat\n" -#: gmon_io.c:569 gmon_io.c:749 +#: gmon_io.c:568 gmon_io.c:748 #, c-format msgid "%s: don't know how to deal with file format %d\n" msgstr "%s: tidak tahu bagaimana untuk menguruskan format fail %d\n" -#: gmon_io.c:579 +#: gmon_io.c:578 #, c-format msgid "File `%s' (version %d) contains:\n" msgstr "Fail `%s' (versi %d) mengandungi:\n" -#: gmon_io.c:582 +#: gmon_io.c:581 #, c-format msgid "\t%d histogram record\n" msgstr "\t%d rekod histogram\n" -#: gmon_io.c:583 +#: gmon_io.c:582 #, c-format msgid "\t%d histogram records\n" msgstr "\t%d rekod histogram\n" -#: gmon_io.c:585 +#: gmon_io.c:584 #, c-format msgid "\t%d call-graph record\n" msgstr "\t%d rekod graf panggilan\n" -#: gmon_io.c:586 +#: gmon_io.c:585 #, c-format msgid "\t%d call-graph records\n" msgstr "\t%d rekod graf panggilan\n" -#: gmon_io.c:588 +#: gmon_io.c:587 #, c-format msgid "\t%d basic-block count record\n" msgstr "\t%d rekod kiraan blok-asas\n" -#: gmon_io.c:589 +#: gmon_io.c:588 #, c-format msgid "\t%d basic-block count records\n" msgstr "\t%d rekod kiraan blok-asas\n" @@ -412,53 +417,53 @@ msgid "%s: debugging not supported; -d ignored\n" msgstr "%s: nyahpepijat tidak disokong; -d diabaikan\n" -#: gprof.c:334 +#: gprof.c:336 #, c-format msgid "%s: unknown file format %s\n" msgstr "%s: format fail %s tidak diketahui\n" #. This output is intended to follow the GNU standards document. -#: gprof.c:422 +#: gprof.c:424 #, c-format msgid "GNU gprof %s\n" msgstr "GNU gprof %s\n" -#: gprof.c:423 +#: gprof.c:425 #, c-format msgid "Based on BSD gprof, copyright 1983 Regents of the University of California.\n" msgstr "Diasaskan pada BSD gprof, hakcipta 1983 Regents of the University of California.\n" -#: gprof.c:424 +#: gprof.c:426 #, c-format msgid "This program is free software. This program has absolutely no warranty.\n" msgstr "Program ini adalah perisian bebas. Program ini tidak mempunyai sebarang warranti.\n" -#: gprof.c:465 +#: gprof.c:467 #, c-format msgid "%s: unknown demangling style `%s'\n" msgstr "%s: gaya nyahkusut `%s' tidak diketahui\n" -#: gprof.c:488 +#: gprof.c:490 #, c-format msgid "%s: Only one of --function-ordering and --file-ordering may be specified.\n" msgstr "%s: Hanya satu dari --function-ordering dan --file-ordering boleh dinyatakan.\n" -#: gprof.c:540 +#: gprof.c:542 #, c-format msgid "%s: sorry, file format `prof' is not yet supported\n" msgstr "%s: maaf, format format `prof' belum lagi disokong\n" -#: gprof.c:594 +#: gprof.c:596 #, c-format msgid "%s: gmon.out file is missing histogram\n" msgstr "%s: fail gmon.out kehilangan histogram\n" -#: gprof.c:601 +#: gprof.c:603 #, c-format msgid "%s: gmon.out file is missing call-graph data\n" msgstr "%s: fail gmon.out kehilangan data graf-panggilan\n" -#: hist.c:135 +#: hist.c:134 #, c-format msgid "" "%s: dimension unit changed between histogram records\n" @@ -469,7 +474,7 @@ "%s: dari '%s'\n" "%s: ke '%s'\n" -#: hist.c:145 +#: hist.c:144 #, c-format msgid "" "%s: dimension abbreviation changed between histogram records\n" @@ -480,27 +485,27 @@ "%s: dari '%c'\n" "%s: ke '%c'\n" -#: hist.c:159 +#: hist.c:158 #, c-format msgid "%s: different scales in histogram records" msgstr "%s: skala berbeza dalam rekod histogram" -#: hist.c:196 +#: hist.c:195 #, c-format msgid "%s: overlapping histogram records\n" msgstr "%s: rekod histogram bertindih\n" -#: hist.c:230 +#: hist.c:229 #, c-format msgid "%s: %s: unexpected EOF after reading %u of %u samples\n" msgstr "%s: %s: EOF tidak dijangka selepas membaca %u dari %u sampel\n" -#: hist.c:467 +#: hist.c:466 #, c-format msgid "%c%c/call" msgstr "%c%c/panggilan" -#: hist.c:475 +#: hist.c:474 #, c-format msgid "" " for %.2f%% of %.2f %s\n" @@ -509,7 +514,7 @@ " untuk %.2f%% dari %.2f %s\n" "\n" -#: hist.c:481 +#: hist.c:480 #, c-format msgid "" "\n" @@ -518,7 +523,7 @@ "\n" "Setiap sampel kira sebagai %g %s.\n" -#: hist.c:486 +#: hist.c:485 #, c-format msgid "" " no time accumulated\n" @@ -527,27 +532,27 @@ " tiada masa dikumpulkan\n" "\n" -#: hist.c:493 +#: hist.c:492 msgid "cumulative" msgstr "kumulatif" -#: hist.c:493 +#: hist.c:492 msgid "self " -msgstr "sendiri" +msgstr "sendiri " -#: hist.c:493 +#: hist.c:492 msgid "total " -msgstr "jumlah" +msgstr "jumlah " -#: hist.c:496 +#: hist.c:495 msgid "time" msgstr "masa" -#: hist.c:496 +#: hist.c:495 msgid "calls" msgstr "panggilan" -#: hist.c:585 +#: hist.c:584 #, c-format msgid "" "\n" @@ -560,12 +565,12 @@ "\n" "profil mendatar:\n" -#: hist.c:591 +#: hist.c:590 #, c-format msgid "Flat profile:\n" msgstr "Profil mendatar:\n" -#: hist.c:712 +#: hist.c:711 #, c-format msgid "%s: found a symbol that covers several histogram records" msgstr "%s: menjumpai simbol yang merangkumi beberapa rekod histogram" diff -Nru binutils-2.30.51.20180512/include/ChangeLog binutils-2.30.52.20180613/include/ChangeLog --- binutils-2.30.51.20180512/include/ChangeLog 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/include/ChangeLog 2018-06-04 21:27:35.000000000 +0200 @@ -1,3 +1,66 @@ +2018-06-04 Max Filippov + + * elf/xtensa.h (xtensa_read_table_entries) + (xtensa_compute_fill_extra_space): New declarations. + +2018-06-04 H.J. Lu + + * diagnostics.h (DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION): Always + define for GCC. + +2018-06-04 H.J. Lu + + * diagnostics.h (DIAGNOSTIC_STRINGIFY_1): New. + (DIAGNOSTIC_STRINGIFY): Likewise. + (DIAGNOSTIC_IGNORE): Replace STRINGIFY with DIAGNOSTIC_STRINGIFY. + (DIAGNOSTIC_IGNORE_SELF_MOVE): Define empty if not defined. + (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER): Likewise. + (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): Likewise. + (DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): Likewise. + (DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION): New. + +2018-06-01 H.J. Lu + + * diagnostics.h: Moved from ../gdb/common/diagnostics.h. + +2018-05-28 Bernd Edlinger + + * splay-tree.h (splay_tree_compare_strings, + splay_tree_delete_pointers): Declare new utility functions. + +2018-05-21 Peter Bergner + + * opcode/ppc.h (PPC_OPERAND_FAKE): Delete macro. + +2018-05-18 Kito Cheng + + * elf/riscv.h (EF_RISCV_RVE): New define. + +2018-05-18 John Darrington + + * elf/s12z.h: New header. + +2018-05-15 Tamar Christina + + PR binutils/21446 + * opcode/aarch64.h (F_SYS_READ, F_SYS_WRITE): New. + +2018-05-15 Tamar Christina + + PR binutils/21446 + * opcode/aarch64.h (aarch64_operand_error): Add non_fatal. + (aarch64_print_operand): Support notes. + +2018-05-15 Tamar Christina + + PR binutils/21446 + * opcode/aarch64.h (aarch64_opnd_info): Change sysreg to struct. + (aarch64_decode_insn): Accept error struct. + +2018-05-15 Francois H. Theron + + * opcode/nfp.h: Use uint64_t instead of bfd_vma. + 2018-05-10 John Darrington * elf/common.h (EM_S12Z): New macro. diff -Nru binutils-2.30.51.20180512/include/diagnostics.h binutils-2.30.52.20180613/include/diagnostics.h --- binutils-2.30.51.20180512/include/diagnostics.h 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/include/diagnostics.h 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,75 @@ +/* Copyright (C) 2017-2018 Free Software Foundation, Inc. + + 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 3 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, see . */ + +#ifndef DIAGNOSTICS_H +#define DIAGNOSTICS_H + +#ifdef __GNUC__ +# define DIAGNOSTIC_PUSH _Pragma ("GCC diagnostic push") +# define DIAGNOSTIC_POP _Pragma ("GCC diagnostic pop") + +/* Stringification. */ +# define DIAGNOSTIC_STRINGIFY_1(x) #x +# define DIAGNOSTIC_STRINGIFY(x) DIAGNOSTIC_STRINGIFY_1 (x) + +# define DIAGNOSTIC_IGNORE(option) \ + _Pragma (DIAGNOSTIC_STRINGIFY (GCC diagnostic ignored option)) +#else +# define DIAGNOSTIC_PUSH +# define DIAGNOSTIC_POP +# define DIAGNOSTIC_IGNORE(option) +#endif + +#if defined (__clang__) /* clang */ + +# define DIAGNOSTIC_IGNORE_SELF_MOVE DIAGNOSTIC_IGNORE ("-Wself-move") +# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER \ + DIAGNOSTIC_IGNORE ("-Wdeprecated-register") +# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \ + DIAGNOSTIC_IGNORE ("-Wunused-function") +# if __has_warning ("-Wenum-compare-switch") +# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES \ + DIAGNOSTIC_IGNORE ("-Wenum-compare-switch") +# endif +#elif defined (__GNUC__) /* GCC */ + +# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \ + DIAGNOSTIC_IGNORE ("-Wunused-function") + +# define DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION \ + DIAGNOSTIC_IGNORE ("-Wstringop-truncation") +#endif + +#ifndef DIAGNOSTIC_IGNORE_SELF_MOVE +# define DIAGNOSTIC_IGNORE_SELF_MOVE +#endif + +#ifndef DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER +# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER +#endif + +#ifndef DIAGNOSTIC_IGNORE_UNUSED_FUNCTION +# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION +#endif + +#ifndef DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES +# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES +#endif + +#ifndef DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION +# define DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION +#endif + +#endif /* DIAGNOSTICS_H */ diff -Nru binutils-2.30.51.20180512/include/elf/riscv.h binutils-2.30.52.20180613/include/elf/riscv.h --- binutils-2.30.51.20180512/include/elf/riscv.h 2018-01-05 03:08:29.000000000 +0100 +++ binutils-2.30.52.20180613/include/elf/riscv.h 2018-06-04 21:27:35.000000000 +0200 @@ -110,6 +110,9 @@ /* File uses the quad-float ABI. */ #define EF_RISCV_FLOAT_ABI_QUAD 0x0006 +/* File uses the 32E base integer instruction. */ +#define EF_RISCV_RVE 0x0008 + /* The name of the global pointer symbol. */ #define RISCV_GP_SYMBOL "__global_pointer$" diff -Nru binutils-2.30.51.20180512/include/elf/s12z.h binutils-2.30.52.20180613/include/elf/s12z.h --- binutils-2.30.51.20180512/include/elf/s12z.h 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/include/elf/s12z.h 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,36 @@ +/* s12z ELF support for BFD. + Copyright (C) 1999-2018 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 3 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _ELF_S12Z_H +#define _ELF_S12Z_H + +#include "elf/reloc-macros.h" + +/* Relocation types. */ +START_RELOC_NUMBERS (elf_s12z_reloc_type) + RELOC_NUMBER (R_S12Z_NONE, 0) + RELOC_NUMBER (R_S12Z_OPR, 1) + RELOC_NUMBER (R_S12Z_UKNWN_2, 2) + RELOC_NUMBER (R_S12Z_PCREL_7_15, 3) + RELOC_NUMBER (R_S12Z_EXT24, 4) + RELOC_NUMBER (R_S12Z_UKNWN_3, 5) + RELOC_NUMBER (R_S12Z_EXT32, 6) +END_RELOC_NUMBERS (R_S12Z_max) + +#endif diff -Nru binutils-2.30.51.20180512/include/elf/xtensa.h binutils-2.30.52.20180613/include/elf/xtensa.h --- binutils-2.30.51.20180512/include/elf/xtensa.h 2018-01-05 03:08:29.000000000 +0100 +++ binutils-2.30.52.20180613/include/elf/xtensa.h 2018-06-04 21:27:35.000000000 +0200 @@ -210,6 +210,14 @@ #define XTENSA_PROP_INSN_ABSLIT 0x00020000 extern asection *xtensa_make_property_section (asection *, const char *); +extern int +xtensa_read_table_entries (bfd *abfd, + asection *section, + property_table_entry **table_p, + const char *sec_name, + bfd_boolean output_addr); +extern int +xtensa_compute_fill_extra_space (property_table_entry *entry); #ifdef __cplusplus } diff -Nru binutils-2.30.51.20180512/include/opcode/aarch64.h binutils-2.30.52.20180613/include/opcode/aarch64.h --- binutils-2.30.51.20180512/include/opcode/aarch64.h 2018-03-30 06:11:10.000000000 +0200 +++ binutils-2.30.52.20180613/include/opcode/aarch64.h 2018-05-16 15:49:14.000000000 +0200 @@ -765,7 +765,11 @@ #define F_LSE_SZ (1 << 27) /* Require an exact qualifier match, even for NIL qualifiers. */ #define F_STRICT (1ULL << 28) -/* Next bit is 29. */ +/* This system instruction is used to read system registers. */ +#define F_SYS_READ (1ULL << 29) +/* This system instruction is used to write system registers. */ +#define F_SYS_WRITE (1ULL << 30) +/* Next bit is 31. */ static inline bfd_boolean alias_opcode_p (const aarch64_opcode *opcode) @@ -957,9 +961,17 @@ unsigned preind : 1; /* Pre-indexed. */ unsigned postind : 1; /* Post-indexed. */ } addr; + + struct + { + /* The encoding of the system register. */ + aarch64_insn value; + + /* The system register flags. */ + uint32_t flags; + } sysreg; + const aarch64_cond *cond; - /* The encoding of the system register. */ - aarch64_insn sysreg; /* The encoding of the PSTATE field. */ aarch64_insn pstatefield; const aarch64_sys_ins_reg *sysins_op; @@ -1093,6 +1105,7 @@ int index; const char *error; int data[3]; /* Some data for extra information. */ + bfd_boolean non_fatal; }; typedef struct aarch64_operand_error aarch64_operand_error; @@ -1117,7 +1130,8 @@ /* Generate the string representation of an operand. */ extern void aarch64_print_operand (char *, size_t, bfd_vma, const aarch64_opcode *, - const aarch64_opnd_info *, int, int *, bfd_vma *); + const aarch64_opnd_info *, int, int *, bfd_vma *, + char **); /* Miscellaneous interface. */ @@ -1138,7 +1152,8 @@ aarch64_zero_register_p (const aarch64_opnd_info *); extern int -aarch64_decode_insn (aarch64_insn, aarch64_inst *, bfd_boolean); +aarch64_decode_insn (aarch64_insn, aarch64_inst *, bfd_boolean, + aarch64_operand_error *errors); /* Given an operand qualifier, return the expected data element size of a qualified operand. */ diff -Nru binutils-2.30.51.20180512/include/opcode/nfp.h binutils-2.30.52.20180613/include/opcode/nfp.h --- binutils-2.30.51.20180512/include/opcode/nfp.h 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/include/opcode/nfp.h 2018-05-16 15:49:14.000000000 +0200 @@ -23,6 +23,7 @@ #define _NFP_H_ #include "bfd.h" +#include "bfd_stdint.h" #include "elf/nfp.h" #ifdef __cplusplus @@ -30,135 +31,129 @@ { #endif -/* The bfd_vma type has the description below, so we use that and BFD_VMA_FMT - instead of uint64_t or bfd_uint64_t. - "Represent a target address. Also used as a generic unsigned type - which is guaranteed to be big enough to hold any arithmetic types - we need to deal with." - - We use ME versions for most of this rather than NFP family and revision +/* We use ME versions for most of this rather than NFP family and revision numbers. The version numbers are currently 2.7 and 2.8 and to avoid long names with many underscores we'll just use 27 and 28 until some feature number makes it necessary to do something different. */ -#define NFP_ME27_INSTR_MASK_CMD ((bfd_vma) 0x008000000000) -#define NFP_ME27_INSTR_CMD ((bfd_vma) 0x000000000000) +#define NFP_ME27_INSTR_MASK_CMD ((uint64_t) 0x008000000000) +#define NFP_ME27_INSTR_CMD ((uint64_t) 0x000000000000) #define NFP_ME27_INSTR_IS_CMD(instr) \ ((instr & NFP_ME27_INSTR_MASK_CMD) == NFP_ME27_INSTR_CMD) -#define NFP_ME27_INSTR_MASK_ALU_SHF ((bfd_vma) 0x1ee000000000) -#define NFP_ME27_INSTR_ALU_SHF ((bfd_vma) 0x008000000000) +#define NFP_ME27_INSTR_MASK_ALU_SHF ((uint64_t) 0x1ee000000000) +#define NFP_ME27_INSTR_ALU_SHF ((uint64_t) 0x008000000000) #define NFP_ME27_INSTR_IS_ALU_SHF(instr) \ ((instr & NFP_ME27_INSTR_MASK_ALU_SHF) == NFP_ME27_INSTR_ALU_SHF) -#define NFP_ME27_INSTR_MASK_ALU ((bfd_vma) 0x1ee000000000) -#define NFP_ME27_INSTR_ALU ((bfd_vma) 0x00a000000000) +#define NFP_ME27_INSTR_MASK_ALU ((uint64_t) 0x1ee000000000) +#define NFP_ME27_INSTR_ALU ((uint64_t) 0x00a000000000) #define NFP_ME27_INSTR_IS_ALU(instr) \ ((instr & NFP_ME27_INSTR_MASK_ALU) == NFP_ME27_INSTR_ALU) -#define NFP_ME27_INSTR_MASK_IMMED ((bfd_vma) 0x1ff900000000) -#define NFP_ME27_INSTR_IMMED ((bfd_vma) 0x00f000000000) +#define NFP_ME27_INSTR_MASK_IMMED ((uint64_t) 0x1ff900000000) +#define NFP_ME27_INSTR_IMMED ((uint64_t) 0x00f000000000) #define NFP_ME27_INSTR_IS_IMMED(instr) \ ((instr & NFP_ME27_INSTR_MASK_IMMED) == NFP_ME27_INSTR_IMMED) -#define NFP_ME27_INSTR_MASK_LD_FIELD ((bfd_vma) 0x1ffa00e00000) -#define NFP_ME27_INSTR_LD_FIELD ((bfd_vma) 0x00c000000000) +#define NFP_ME27_INSTR_MASK_LD_FIELD ((uint64_t) 0x1ffa00e00000) +#define NFP_ME27_INSTR_LD_FIELD ((uint64_t) 0x00c000000000) #define NFP_ME27_INSTR_IS_LD_FIELD(instr) \ ((instr & NFP_ME27_INSTR_MASK_LD_FIELD) == NFP_ME27_INSTR_LD_FIELD) -#define NFP_ME27_INSTR_MASK_CTX_ARB ((bfd_vma) 0x00f800000000) -#define NFP_ME27_INSTR_CTX_ARB ((bfd_vma) 0x00e000000000) +#define NFP_ME27_INSTR_MASK_CTX_ARB ((uint64_t) 0x00f800000000) +#define NFP_ME27_INSTR_CTX_ARB ((uint64_t) 0x00e000000000) #define NFP_ME27_INSTR_IS_CTX_ARB(instr) \ ((instr & NFP_ME27_INSTR_MASK_CTX_ARB) == NFP_ME27_INSTR_CTX_ARB) -#define NFP_ME27_INSTR_MASK_LOCAL_CSR ((bfd_vma) 0x1ffe00100000) -#define NFP_ME27_INSTR_LOCAL_CSR ((bfd_vma) 0x00fc00000000) +#define NFP_ME27_INSTR_MASK_LOCAL_CSR ((uint64_t) 0x1ffe00100000) +#define NFP_ME27_INSTR_LOCAL_CSR ((uint64_t) 0x00fc00000000) #define NFP_ME27_INSTR_IS_LOCAL_CSR(instr) \ ((instr & NFP_ME27_INSTR_MASK_LOCAL_CSR) == NFP_ME27_INSTR_LOCAL_CSR) -#define NFP_ME27_INSTR_MASK_BRANCH ((bfd_vma) 0x00f8000c3ce0) -#define NFP_ME27_INSTR_BRANCH ((bfd_vma) 0x00d800000020) +#define NFP_ME27_INSTR_MASK_BRANCH ((uint64_t) 0x00f8000c3ce0) +#define NFP_ME27_INSTR_BRANCH ((uint64_t) 0x00d800000020) #define NFP_ME27_INSTR_IS_BRANCH(instr) \ ((instr & NFP_ME27_INSTR_MASK_BRANCH) == NFP_ME27_INSTR_BRANCH) -#define NFP_ME27_INSTR_MASK_BR_BYTE ((bfd_vma) 0x00f800000000) -#define NFP_ME27_INSTR_BR_BYTE ((bfd_vma) 0x00c800000000) +#define NFP_ME27_INSTR_MASK_BR_BYTE ((uint64_t) 0x00f800000000) +#define NFP_ME27_INSTR_BR_BYTE ((uint64_t) 0x00c800000000) #define NFP_ME27_INSTR_IS_BR_BYTE(instr) \ ((instr & NFP_ME27_INSTR_MASK_BR_BYTE) == NFP_ME27_INSTR_BR_BYTE) -#define NFP_ME27_INSTR_MASK_BR_BIT ((bfd_vma) 0x00f800080300) -#define NFP_ME27_INSTR_BR_BIT ((bfd_vma) 0x00d000000000) +#define NFP_ME27_INSTR_MASK_BR_BIT ((uint64_t) 0x00f800080300) +#define NFP_ME27_INSTR_BR_BIT ((uint64_t) 0x00d000000000) #define NFP_ME27_INSTR_IS_BR_BIT(instr) \ ((instr & NFP_ME27_INSTR_MASK_BR_BIT) == NFP_ME27_INSTR_BR_BIT) -#define NFP_ME27_INSTR_MASK_BR_ALU ((bfd_vma) 0x1fff80000000) -#define NFP_ME27_INSTR_BR_ALU ((bfd_vma) 0x00e800000000) +#define NFP_ME27_INSTR_MASK_BR_ALU ((uint64_t) 0x1fff80000000) +#define NFP_ME27_INSTR_BR_ALU ((uint64_t) 0x00e800000000) #define NFP_ME27_INSTR_IS_BR_ALU(instr) \ ((instr & NFP_ME27_INSTR_MASK_BR_ALU) == NFP_ME27_INSTR_BR_ALU) -#define NFP_ME27_INSTR_MASK_MULT ((bfd_vma) 0x1efe3f000000) -#define NFP_ME27_INSTR_MULT ((bfd_vma) 0x00f800000000) +#define NFP_ME27_INSTR_MASK_MULT ((uint64_t) 0x1efe3f000000) +#define NFP_ME27_INSTR_MULT ((uint64_t) 0x00f800000000) #define NFP_ME27_INSTR_IS_MULT(instr) \ ((instr & NFP_ME27_INSTR_MASK_MULT) == NFP_ME27_INSTR_MULT) -#define NFP_ME28_INSTR_MASK_CMD ((bfd_vma) 0x008000000000) -#define NFP_ME28_INSTR_CMD ((bfd_vma) 0x000000000000) +#define NFP_ME28_INSTR_MASK_CMD ((uint64_t) 0x008000000000) +#define NFP_ME28_INSTR_CMD ((uint64_t) 0x000000000000) #define NFP_ME28_INSTR_IS_CMD(instr) \ ((instr & NFP_ME28_INSTR_MASK_CMD) == NFP_ME28_INSTR_CMD) -#define NFP_ME28_INSTR_MASK_ALU_SHF ((bfd_vma) 0x00e000000000) -#define NFP_ME28_INSTR_ALU_SHF ((bfd_vma) 0x008000000000) +#define NFP_ME28_INSTR_MASK_ALU_SHF ((uint64_t) 0x00e000000000) +#define NFP_ME28_INSTR_ALU_SHF ((uint64_t) 0x008000000000) #define NFP_ME28_INSTR_IS_ALU_SHF(instr) \ ((instr & NFP_ME28_INSTR_MASK_ALU_SHF) == NFP_ME28_INSTR_ALU_SHF) -#define NFP_ME28_INSTR_MASK_ALU ((bfd_vma) 0x00e000000000) -#define NFP_ME28_INSTR_ALU ((bfd_vma) 0x00a000000000) +#define NFP_ME28_INSTR_MASK_ALU ((uint64_t) 0x00e000000000) +#define NFP_ME28_INSTR_ALU ((uint64_t) 0x00a000000000) #define NFP_ME28_INSTR_IS_ALU(instr) \ ((instr & NFP_ME28_INSTR_MASK_ALU) == NFP_ME28_INSTR_ALU) -#define NFP_ME28_INSTR_MASK_IMMED ((bfd_vma) 0x01f900000000) -#define NFP_ME28_INSTR_IMMED ((bfd_vma) 0x00f000000000) +#define NFP_ME28_INSTR_MASK_IMMED ((uint64_t) 0x01f900000000) +#define NFP_ME28_INSTR_IMMED ((uint64_t) 0x00f000000000) #define NFP_ME28_INSTR_IS_IMMED(instr) \ ((instr & NFP_ME28_INSTR_MASK_IMMED) == NFP_ME28_INSTR_IMMED) -#define NFP_ME28_INSTR_MASK_LD_FIELD ((bfd_vma) 0x01fa00e00000) -#define NFP_ME28_INSTR_LD_FIELD ((bfd_vma) 0x00c000000000) +#define NFP_ME28_INSTR_MASK_LD_FIELD ((uint64_t) 0x01fa00e00000) +#define NFP_ME28_INSTR_LD_FIELD ((uint64_t) 0x00c000000000) #define NFP_ME28_INSTR_IS_LD_FIELD(instr) \ ((instr & NFP_ME28_INSTR_MASK_LD_FIELD) == NFP_ME28_INSTR_LD_FIELD) -#define NFP_ME28_INSTR_MASK_CTX_ARB ((bfd_vma) 0x00f800000000) -#define NFP_ME28_INSTR_CTX_ARB ((bfd_vma) 0x00e000000000) +#define NFP_ME28_INSTR_MASK_CTX_ARB ((uint64_t) 0x00f800000000) +#define NFP_ME28_INSTR_CTX_ARB ((uint64_t) 0x00e000000000) #define NFP_ME28_INSTR_IS_CTX_ARB(instr) \ ((instr & NFP_ME28_INSTR_MASK_CTX_ARB) == NFP_ME28_INSTR_CTX_ARB) -#define NFP_ME28_INSTR_MASK_LOCAL_CSR ((bfd_vma) 0x01fe00100000) -#define NFP_ME28_INSTR_LOCAL_CSR ((bfd_vma) 0x00fc00000000) +#define NFP_ME28_INSTR_MASK_LOCAL_CSR ((uint64_t) 0x01fe00100000) +#define NFP_ME28_INSTR_LOCAL_CSR ((uint64_t) 0x00fc00000000) #define NFP_ME28_INSTR_IS_LOCAL_CSR(instr) \ ((instr & NFP_ME28_INSTR_MASK_LOCAL_CSR) == NFP_ME28_INSTR_LOCAL_CSR) -#define NFP_ME28_INSTR_MASK_BRANCH ((bfd_vma) 0x00f8000c3ce0) -#define NFP_ME28_INSTR_BRANCH ((bfd_vma) 0x00d800000020) +#define NFP_ME28_INSTR_MASK_BRANCH ((uint64_t) 0x00f8000c3ce0) +#define NFP_ME28_INSTR_BRANCH ((uint64_t) 0x00d800000020) #define NFP_ME28_INSTR_IS_BRANCH(instr) \ ((instr & NFP_ME28_INSTR_MASK_BRANCH) == NFP_ME28_INSTR_BRANCH) -#define NFP_ME28_INSTR_MASK_BR_BYTE ((bfd_vma) 0x00f800000000) -#define NFP_ME28_INSTR_BR_BYTE ((bfd_vma) 0x00c800000000) +#define NFP_ME28_INSTR_MASK_BR_BYTE ((uint64_t) 0x00f800000000) +#define NFP_ME28_INSTR_BR_BYTE ((uint64_t) 0x00c800000000) #define NFP_ME28_INSTR_IS_BR_BYTE(instr) \ ((instr & NFP_ME28_INSTR_MASK_BR_BYTE) == NFP_ME28_INSTR_BR_BYTE) -#define NFP_ME28_INSTR_MASK_BR_BIT ((bfd_vma) 0x00f800080300) -#define NFP_ME28_INSTR_BR_BIT ((bfd_vma) 0x00d000000000) +#define NFP_ME28_INSTR_MASK_BR_BIT ((uint64_t) 0x00f800080300) +#define NFP_ME28_INSTR_BR_BIT ((uint64_t) 0x00d000000000) #define NFP_ME28_INSTR_IS_BR_BIT(instr) \ ((instr & NFP_ME28_INSTR_MASK_BR_BIT) == NFP_ME28_INSTR_BR_BIT) -#define NFP_ME28_INSTR_MASK_BR_ALU ((bfd_vma) 0x00ff80000000) -#define NFP_ME28_INSTR_BR_ALU ((bfd_vma) 0x00e800000000) +#define NFP_ME28_INSTR_MASK_BR_ALU ((uint64_t) 0x00ff80000000) +#define NFP_ME28_INSTR_BR_ALU ((uint64_t) 0x00e800000000) #define NFP_ME28_INSTR_IS_BR_ALU(instr) \ ((instr & NFP_ME28_INSTR_MASK_BR_ALU) == NFP_ME28_INSTR_BR_ALU) -#define NFP_ME28_INSTR_MASK_MULT ((bfd_vma) 0x00fe3f000000) -#define NFP_ME28_INSTR_MULT ((bfd_vma) 0x00f800000000) +#define NFP_ME28_INSTR_MASK_MULT ((uint64_t) 0x00fe3f000000) +#define NFP_ME28_INSTR_MULT ((uint64_t) 0x00f800000000) #define NFP_ME28_INSTR_IS_MULT(instr) \ ((instr & NFP_ME28_INSTR_MASK_MULT) == NFP_ME28_INSTR_MULT) diff -Nru binutils-2.30.51.20180512/include/opcode/ppc.h binutils-2.30.52.20180613/include/opcode/ppc.h --- binutils-2.30.51.20180512/include/opcode/ppc.h 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/include/opcode/ppc.h 2018-06-04 21:27:35.000000000 +0200 @@ -405,14 +405,6 @@ /* Valid range of operand is 0..n rather than 0..n-1. */ #define PPC_OPERAND_PLUS1 (0x20000) -/* This operand does not actually exist in the assembler input. This - is used to support extended mnemonics such as mr, for which two - operands fields are identical. The assembler should call the - insert function with any op value. The disassembler should call - the extract function, ignore the return value, and check the value - placed in the valid argument. */ -#define PPC_OPERAND_FAKE (0x40000) - /* This operand is optional, and is zero if omitted. This is used for example, in the optional BF field in the comparison instructions. The assembler must count the number of operands remaining on the line, diff -Nru binutils-2.30.51.20180512/include/splay-tree.h binutils-2.30.52.20180613/include/splay-tree.h --- binutils-2.30.51.20180512/include/splay-tree.h 2018-01-05 03:08:29.000000000 +0100 +++ binutils-2.30.52.20180613/include/splay-tree.h 2018-06-04 21:27:35.000000000 +0200 @@ -147,7 +147,9 @@ extern splay_tree_node splay_tree_min (splay_tree); extern int splay_tree_foreach (splay_tree, splay_tree_foreach_fn, void*); extern int splay_tree_compare_ints (splay_tree_key, splay_tree_key); -extern int splay_tree_compare_pointers (splay_tree_key, splay_tree_key); +extern int splay_tree_compare_pointers (splay_tree_key, splay_tree_key); +extern int splay_tree_compare_strings (splay_tree_key, splay_tree_key); +extern void splay_tree_delete_pointers (splay_tree_value); #ifdef __cplusplus } diff -Nru binutils-2.30.51.20180512/ld/ChangeLog binutils-2.30.52.20180613/ld/ChangeLog --- binutils-2.30.51.20180512/ld/ChangeLog 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/ld/ChangeLog 2018-06-13 10:31:39.000000000 +0200 @@ -1,3 +1,603 @@ +2018-06-12 Hans-Peter Nilsson + + * testsuite/ld-cris/libdso-1.d: Correct recent address pattern update. + +2018-06-12 Nick Clifton + + PR 22983 + * testsuite/ld-plugin/lto.exp: Use individual tests to check for + the presence of each expected symbol. + * testsuite/ld-plugin/pr22983.1.d: New file. + * testsuite/ld-plugin/pr22983.2.d: New file. + * testsuite/ld-plugin/pr22983.3.d: New file. + * testsuite/ld-plugin/pr22983.4.d: New file. + + * emulparams/aarch64elf.sh (OTHER_BSS_END_SYMBOLS): Make the + definition of the __bss_end__ symbol conditional upon CREATE_SHLIB. + +2018-06-11 Nick Clifton + + * po/es.po: Updated Spanish translation. + +2018-06-09 Maciej W. Rozycki + + * testsuite/ld-mips-elf/stub-dynsym-micromips-1-7fff.d: New + test. + * testsuite/ld-mips-elf/stub-dynsym-micromips-1-8000.d: New + test. + * testsuite/ld-mips-elf/stub-dynsym-micromips-1-fff0.d: New + test. + * testsuite/ld-mips-elf/stub-dynsym-micromips-1-10000.d: New + test. + * testsuite/ld-mips-elf/stub-dynsym-micromips-1-2fe80.d: New + test. + * testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-7fff.d: + New test. + * testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-8000.d: + New test. + * testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-fff0.d: + New test. + * testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-10000.d: + New test. + * testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-2fe80.d: + New test. + * testsuite/ld-mips-elf/mips-elf.exp: Run the new tests. Fix + indentation. + +2018-06-09 Maciej W. Rozycki + + * testsuite/ld-mips-elf/mips-elf.exp: Update symbol count in the + comment associated with lazy binding stub tests. + +2018-06-09 Maciej W. Rozycki + + * Makefile.am (eelf32mipswindiss.c): Add `mipself.em' dependency. + * Makefile.in: Regenerate. + +2018-06-08 H.J. Lu + + PR ld/23161 + * testsuite/ld-elf/pr23161d.rd: Remove local _edata, __bss_start, + and _end from dynamic symbol table. + +2018-06-08 H.J. Lu + Alan Modra + + PR ld/23161 + * emulparams/aarch64cloudabi.sh: PROVIDE __bss_start__, _bss_end__, + and __end__ in shared libraries. + * emulparams/aarch64fbsd.sh: Likewise. + * emulparams/aarch64linux.sh: Likewise. + * emulparams/aarch64linux32.sh: Likewise. + * emulparams/armelf_fuchsia.sh: Likewise. + * emulparams/armelf_linux.sh: Likewise. + * emulparams/armelf_phoenix.sh: Likewise. + * emulparams/aarch64elf.sh: Likewise, and __data_start + * emulparams/aarch64elf32.sh: Likewise. + * emulparams/armelf.sh: Likewise. + * emulparams/armnto.sh: Likewise. + * emulparams/elf32bmip.sh: Remove duplicate ". = ." from + OTHER_GOT_SYMBOLS. PROVIDE _ftext, _fdata, and _fbss in shared libs. + * emulparams/elf32bmipn32-defs.sh: Likewise. + * emulparams/elf32frv.sh: PROVIDE __end and __data_start in shared libs. + * emulparams/elf32lriscv-defs.sh: Tidy. + * emulparams/elf32mcore.sh: PROVIDE __bss_start and _bss_end in + shared libs + * emulparams/elf32ppccommon.sh: PROVIDE __end in shared libs. + * emulparams/elf32rl78.sh: Tidy. + * emulparams/i386nto.sh: PROVIDE _btext in shared libs. + * emulparams/shelf_nto.sh: Likewise. + * emulparams/shlelf_nto.sh: Likewise. + * emulparams/score3_elf.sh: PROVIDE _gp, _bss_start__, _bss_end__, + __bss_end__, __end__, _fdata, _sdata_begin, and _bss_start in + shared libs. + * scripttempl/elf.sc: Don't use EXECUTABLE_SYMBOLS for shared + libraries. PROVIDE _edata, edata, __bss_start, and _end in shared + libraries. + * testsuite/ld-elf/pr23161.map, + * testsuite/ld-elf/pr23161a.c, + * testsuite/ld-elf/pr23161b.c, + * testsuite/ld-elf/pr23161c.c, + * testsuite/ld-elf/pr23161a.rd, + * testsuite/ld-elf/pr23161b.rd, + * testsuite/ld-elf/pr23161c.rd, + * testsuite/ld-elf/pr23161d.rd: New tests. + * testsuite/ld-elf/shared.exp: Run ld/23161 tests. + * testsuite/ld-elf/pr23162.rd, + * testsuite/ld-aarch64/ifunc-1-local.d, + * testsuite/ld-aarch64/ifunc-1.d, + * testsuite/ld-aarch64/ifunc-2-local.d, + * testsuite/ld-aarch64/ifunc-2.d, + * testsuite/ld-aarch64/ifunc-21.d, + * testsuite/ld-aarch64/ifunc-3a.d, + * testsuite/ld-alpha/tlsbin.rd, + * testsuite/ld-alpha/tlsbin.sd, + * testsuite/ld-alpha/tlsbinr.rd, + * testsuite/ld-alpha/tlspic.rd, + * testsuite/ld-alpha/tlspic.sd, + * testsuite/ld-cris/dso-pltdis1.d, + * testsuite/ld-cris/dso-pltdis2.d, + * testsuite/ld-cris/dso12-pltdis.d, + * testsuite/ld-cris/gotplt1.d, + * testsuite/ld-cris/gotplt2.d, + * testsuite/ld-cris/gotplt3.d, + * testsuite/ld-cris/hiddef1.d, + * testsuite/ld-cris/libdso-1.d, + * testsuite/ld-cris/libdso-10.d, + * testsuite/ld-cris/libdso-11.d, + * testsuite/ld-cris/libdso-12.d, + * testsuite/ld-cris/libdso-12b.d, + * testsuite/ld-cris/libdso-12c.d, + * testsuite/ld-cris/libdso-13.d, + * testsuite/ld-cris/libdso-13b.d, + * testsuite/ld-cris/libdso-14.d, + * testsuite/ld-cris/libdso-15.d, + * testsuite/ld-cris/libdso-15b.d, + * testsuite/ld-cris/libdso-1c.d, + * testsuite/ld-cris/libdso-1d.d, + * testsuite/ld-cris/libdso-2.d, + * testsuite/ld-cris/pic-gc-72.d, + * testsuite/ld-cris/pic-gc-73.d, + * testsuite/ld-cris/pr16044.d, + * testsuite/ld-cris/pv32-1.d, + * testsuite/ld-cris/tls-dso-dtpoffd2.d, + * testsuite/ld-cris/tls-dso-dtpoffd4.d, + * testsuite/ld-cris/tls-dso-tpoffgotcomm1.d, + * testsuite/ld-cris/tls-gc-71.d, + * testsuite/ld-cris/tls-gd-1.d, + * testsuite/ld-cris/tls-gd-1h.d, + * testsuite/ld-cris/tls-gd-2.d, + * testsuite/ld-cris/tls-gd-2h.d, + * testsuite/ld-cris/tls-ie-10.d, + * testsuite/ld-cris/tls-ie-11.d, + * testsuite/ld-cris/tls-ie-78.d, + * testsuite/ld-cris/tls-ie-8.d, + * testsuite/ld-cris/tls-ie-9.d, + * testsuite/ld-cris/tls-js1.d, + * testsuite/ld-cris/tls-ld-4.d, + * testsuite/ld-cris/tls-ld-5.d, + * testsuite/ld-cris/tls-ld-6.d, + * testsuite/ld-cris/tls-ld-7.d, + * testsuite/ld-cris/tls-ldgd-14.d, + * testsuite/ld-cris/tls-ldgd-15.d, + * testsuite/ld-cris/tls-ldgdex-14.d, + * testsuite/ld-cris/tls-ldgdex-15.d, + * testsuite/ld-cris/tls-ldgdx-14.d, + * testsuite/ld-cris/tls-ldgdx-15.d, + * testsuite/ld-cris/tls-legdx-16.d, + * testsuite/ld-cris/tls-legdx-17.d, + * testsuite/ld-cris/tls-local-54.d, + * testsuite/ld-cris/tls-local-60.d, + * testsuite/ld-cris/tls-local-61.d, + * testsuite/ld-cris/tls-local-63.d, + * testsuite/ld-cris/tls-local-64.d, + * testsuite/ld-cris/tls-ok-30.d, + * testsuite/ld-cris/tls-ok-32.d, + * testsuite/ld-cris/tls-ok-34.d, + * testsuite/ld-cris/tls-und-38.d, + * testsuite/ld-cris/tls-und-42.d, + * testsuite/ld-cris/tls-und-46.d, + * testsuite/ld-cris/tls-und-50.d, + * testsuite/ld-cris/weakhiddso.d, + * testsuite/ld-cris/weakref2.d, + * testsuite/ld-frv/fdpic-shared-1.d, + * testsuite/ld-frv/fdpic-shared-2.d, + * testsuite/ld-frv/fdpic-shared-3.d, + * testsuite/ld-frv/fdpic-shared-4.d, + * testsuite/ld-frv/fdpic-shared-5.d, + * testsuite/ld-frv/fdpic-shared-7.d, + * testsuite/ld-frv/fdpic-shared-8.d, + * testsuite/ld-frv/tls-dynamic-2.d, + * testsuite/ld-i386/ibt-plt-1.d, + * testsuite/ld-i386/ibt-plt-2a.d, + * testsuite/ld-i386/ibt-plt-2b.d, + * testsuite/ld-i386/ibt-plt-2c.d, + * testsuite/ld-i386/ibt-plt-2d.d, + * testsuite/ld-i386/ibt-plt-3a.d, + * testsuite/ld-i386/ibt-plt-3b.d, + * testsuite/ld-i386/ibt-plt-3c.d, + * testsuite/ld-i386/ibt-plt-3d.d, + * testsuite/ld-i386/plt2.dd, + * testsuite/ld-i386/pr20830.d, + * testsuite/ld-i386/tlsbin-nacl.rd, + * testsuite/ld-i386/tlsbin.rd, + * testsuite/ld-i386/tlsbin2-nacl.rd, + * testsuite/ld-i386/tlsbin2.rd, + * testsuite/ld-i386/tlsbindesc-nacl.rd, + * testsuite/ld-i386/tlsbindesc.rd, + * testsuite/ld-i386/tlsdesc-nacl.rd, + * testsuite/ld-i386/tlsdesc.rd, + * testsuite/ld-i386/tlsgdesc-nacl.rd, + * testsuite/ld-i386/tlsgdesc.rd, + * testsuite/ld-i386/tlsnopic-nacl.rd, + * testsuite/ld-i386/tlsnopic.dd, + * testsuite/ld-i386/tlsnopic.rd, + * testsuite/ld-i386/tlsnopic.sd, + * testsuite/ld-i386/tlspic-nacl.rd, + * testsuite/ld-i386/tlspic.rd, + * testsuite/ld-i386/tlspic2-nacl.rd, + * testsuite/ld-i386/tlspic2.rd, + * testsuite/ld-ia64/merge1.d, + * testsuite/ld-ia64/merge2.d, + * testsuite/ld-ia64/merge3.d, + * testsuite/ld-ia64/merge4.d, + * testsuite/ld-ia64/merge5.d, + * testsuite/ld-ia64/tlsbin.rd, + * testsuite/ld-ia64/tlspic.rd, + * testsuite/ld-ifunc/ifunc-2-i386-now.d, + * testsuite/ld-ifunc/ifunc-2-local-i386-now.d, + * testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d, + * testsuite/ld-ifunc/ifunc-2-local-x86-64.d, + * testsuite/ld-ifunc/ifunc-2-x86-64-now.d, + * testsuite/ld-ifunc/ifunc-2-x86-64.d, + * testsuite/ld-ifunc/pr17154-i386-now.d, + * testsuite/ld-ifunc/pr17154-i386.d, + * testsuite/ld-ifunc/pr17154-x86-64-now.d, + * testsuite/ld-ifunc/pr17154-x86-64.d, + * testsuite/ld-m68k/tls-def-1.d, + * testsuite/ld-m68k/tls-gd-1.d2, + * testsuite/ld-metag/shared.d, + * testsuite/ld-metag/stub_pic_app.d, + * testsuite/ld-mips-elf/rel32-n32.d, + * testsuite/ld-mips-elf/rel32-o32.d, + * testsuite/ld-mips-elf/rel64.d, + * testsuite/ld-powerpc/ambiguousv1.d, + * testsuite/ld-powerpc/ambiguousv1b.d, + * testsuite/ld-powerpc/ambiguousv2.d, + * testsuite/ld-powerpc/ambiguousv2b.d, + * testsuite/ld-powerpc/tlsexe.d, + * testsuite/ld-powerpc/tlsexe.r, + * testsuite/ld-powerpc/tlsexe32.d, + * testsuite/ld-powerpc/tlsexe32.g, + * testsuite/ld-powerpc/tlsexe32.r, + * testsuite/ld-powerpc/tlsexetoc.d, + * testsuite/ld-powerpc/tlsexetoc.r, + * testsuite/ld-powerpc/tlsso.d, + * testsuite/ld-powerpc/tlsso.r, + * testsuite/ld-powerpc/tlsso32.g, + * testsuite/ld-powerpc/tlsso32.r, + * testsuite/ld-powerpc/tlstocso.d, + * testsuite/ld-powerpc/tlstocso.g, + * testsuite/ld-powerpc/tlstocso.r, + * testsuite/ld-s390/gotreloc_31-1.dd, + * testsuite/ld-s390/tlsbin.dd, + * testsuite/ld-s390/tlsbin.rd, + * testsuite/ld-s390/tlsbin_64.dd, + * testsuite/ld-s390/tlsbin_64.rd, + * testsuite/ld-s390/tlspic.rd, + * testsuite/ld-s390/tlspic_64.rd, + * testsuite/ld-sh/tlsbin-2.d, + * testsuite/ld-sh/tlspic-2.d, + * testsuite/ld-sparc/gotop32.rd, + * testsuite/ld-sparc/gotop64.rd, + * testsuite/ld-sparc/tlssunbin32.rd, + * testsuite/ld-sparc/tlssunbin64.rd, + * testsuite/ld-sparc/tlssunnopic32.rd, + * testsuite/ld-sparc/tlssunnopic64.rd, + * testsuite/ld-sparc/tlssunpic32.rd, + * testsuite/ld-sparc/tlssunpic64.rd, + * testsuite/ld-x86-64/bnd-branch-1-now.d, + * testsuite/ld-x86-64/bnd-ifunc-1-now.d, + * testsuite/ld-x86-64/bnd-ifunc-2-now.d, + * testsuite/ld-x86-64/bnd-ifunc-2.d, + * testsuite/ld-x86-64/bnd-plt-1-now.d, + * testsuite/ld-x86-64/bnd-plt-1.d, + * testsuite/ld-x86-64/ibt-plt-1-x32.d, + * testsuite/ld-x86-64/ibt-plt-1.d, + * testsuite/ld-x86-64/ibt-plt-2a-x32.d, + * testsuite/ld-x86-64/ibt-plt-2a.d, + * testsuite/ld-x86-64/ibt-plt-2b-x32.d, + * testsuite/ld-x86-64/ibt-plt-2b.d, + * testsuite/ld-x86-64/ibt-plt-2c-x32.d, + * testsuite/ld-x86-64/ibt-plt-2c.d, + * testsuite/ld-x86-64/ibt-plt-2d-x32.d, + * testsuite/ld-x86-64/ibt-plt-2d.d, + * testsuite/ld-x86-64/ibt-plt-3a-x32.d, + * testsuite/ld-x86-64/ibt-plt-3a.d, + * testsuite/ld-x86-64/ibt-plt-3b-x32.d, + * testsuite/ld-x86-64/ibt-plt-3b.d, + * testsuite/ld-x86-64/ibt-plt-3c-x32.d, + * testsuite/ld-x86-64/ibt-plt-3c.d, + * testsuite/ld-x86-64/ibt-plt-3d-x32.d, + * testsuite/ld-x86-64/ibt-plt-3d.d, + * testsuite/ld-x86-64/ilp32-4-nacl.d, + * testsuite/ld-x86-64/ilp32-4.d, + * testsuite/ld-x86-64/load1c-nacl.d, + * testsuite/ld-x86-64/load1c.d, + * testsuite/ld-x86-64/load1d-nacl.d, + * testsuite/ld-x86-64/load1d.d, + * testsuite/ld-x86-64/mpx3n.dd, + * testsuite/ld-x86-64/mpx4.dd, + * testsuite/ld-x86-64/mpx4n.dd, + * testsuite/ld-x86-64/plt2.dd, + * testsuite/ld-x86-64/pr14207.d, + * testsuite/ld-x86-64/pr19162.d, + * testsuite/ld-x86-64/pr20253-1f.d, + * testsuite/ld-x86-64/pr20253-1l.d, + * testsuite/ld-x86-64/pr20830a-now.d, + * testsuite/ld-x86-64/pr20830a.d, + * testsuite/ld-x86-64/pr20830b-now.d, + * testsuite/ld-x86-64/pr20830b.d, + * testsuite/ld-x86-64/pr21038a-now.d, + * testsuite/ld-x86-64/pr21038a.d, + * testsuite/ld-x86-64/pr21038b-now.d, + * testsuite/ld-x86-64/pr21038b.d, + * testsuite/ld-x86-64/pr21038c-now.d, + * testsuite/ld-x86-64/pr21038c.d, + * testsuite/ld-x86-64/tlsbin-nacl.rd, + * testsuite/ld-x86-64/tlsbin.rd, + * testsuite/ld-x86-64/tlsbin2-nacl.rd, + * testsuite/ld-x86-64/tlsbin2.rd, + * testsuite/ld-x86-64/tlsbindesc-nacl.rd, + * testsuite/ld-x86-64/tlsbindesc.rd, + * testsuite/ld-x86-64/tlsdesc-nacl.rd, + * testsuite/ld-x86-64/tlsdesc.rd, + * testsuite/ld-x86-64/tlsgdesc-nacl.rd, + * testsuite/ld-x86-64/tlsgdesc.rd, + * testsuite/ld-x86-64/tlspic-nacl.rd, + * testsuite/ld-x86-64/tlspic.rd, + * testsuite/ld-x86-64/tlspic2-nacl.rd, + * testsuite/ld-x86-64/tlspic2.rd: Update. + +2018-06-07 Alan Modra + + * emulparams/elf64bmip.sh (EXECUTABLE_SYMBOLS): Don't define. + (OTHER_SYMBOLS): Define this instead. + * emulparams/elf32bmipn32.sh (EXECUTABLE_SYMBOLS): Don't define. + (OTHER_SYMBOLS): Define similarly to elf64bmip.sh. + * emulparams/elf64hppa.sh (EXECUTABLE_SYMBOLS): Don't define. + (OTHER_SYMBOLS): Define instead. + +2018-06-07 Alan Modra + + * emulparams/elf32_tic6x_le.sh (EXECUTABLE_SYMBOLS): Don't define. + +2018-06-06 Alan Modra + + * Makefile.am (earmelf_fbsd.c): Correct dependencies. + (earmelfb_fbsd.c, earmelfb_fuchsia.c): Likewise. + * Makefile.in: Regenerate. + +2018-06-05 Alan Modra + + PR 23254 + * plugin.c (plugin_call_claim_file): Revert 2016-07-19 patch. + (plugin_object_p): Don't dup file descriptor. + +2018-06-05 Flavio Ceolin + + * testsuite/ld-elf/elf.exp Run new test. + * testsuite/ld-elf/stack-noexec.rd New file: Expected readelf output. + +2018-06-03 Sebastian Huber + Jim Wilson + + PR ld/23244 + * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Run new weak ref tests. + * testsuite/ld-riscv-elf/weakref.ld: New. + * testsuite/ld-riscv-elf/weakref32.d: New. + * testsuite/ld-riscv-elf/weakref32.s: New. + * testsuite/ld-riscv-elf/weakref64.d: New. + * testsuite/ld-riscv-elf/weakref64.s: New. + +2018-06-01 H.J. Lu + + * configure: Regenerated. + +2018-05-28 H.J. Lu + + PR ld/23238 + * testsuite/ld-ifunc/ifunc-26.d: New file. + * testsuite/ld-ifunc/ifunc-26.s: Likewise. + * testsuite/ld-ifunc/ifunc.exp: Run *.d tests without a + working compiler. + +2018-05-28 H.J. Lu + + * testsuite/ld-ifunc/ifunc-10-i386.d: Skip NaCl targets. + * testsuite/ld-ifunc/ifunc-10-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-11-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-11-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-12-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-12-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-13-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-13-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-14a-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-14a-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-14b-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-14b-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-14c-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-14c-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-14d-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-14d-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-14e-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-14e-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-14f-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-14f-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-15-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-15-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-16-i386-now.d: Likewise. + * testsuite/ld-ifunc/ifunc-16-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-16-x86-64-now.d: Likewise. + * testsuite/ld-ifunc/ifunc-16-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-17a-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-17a-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-17b-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-17b-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-18a-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-18a-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-18b-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-18b-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-19a-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-19a-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-19b-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-19b-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-2-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-2-local-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-2-local-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-2-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-20-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-20-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-21-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-21-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-22-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-22-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-5a-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-5a-local-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-5a-local-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-5a-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-5b-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-5b-local-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-5b-local-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-5b-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-5r-local-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-5r-local-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-6a-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-6a-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-6b-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-6b-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-7a-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-7a-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-7b-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-7b-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-8-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-8-x86-64.d: Likewise. + * testsuite/ld-ifunc/ifunc-9-i386.d: Likewise. + * testsuite/ld-ifunc/ifunc-9-x86-64.d: Likewise. + * testsuite/ld-ifunc/pr17154-i386.d: Likewise. + * testsuite/ld-ifunc/pr17154-x86-64-now.d: Likewise. + * testsuite/ld-ifunc/pr17154-x86-64.d: Likewise. + +2018-05-26 H.J. Lu + + PR ld/23194 + * testsuite/ld-i386/pr23194.d: Expect only R_386_GLOB_DAT + against foobar. + * testsuite/ld-i386/pr23194.map: Add foobar. + * testsuite/ld-x86-64/pr23194.map: Likewise. + * testsuite/ld-i386/pr23194.s: Add a common foobar symbol. + * testsuite/ld-x86-64/pr23194.s: Likewise. + * testsuite/ld-x86-64/pr23194.d: Expect only R_X86_64_GLOB_DAT + against foobar. + +2018-05-25 Alan Modra + + * po/BLD-POTFILES.in: Regenerate. + +2018-05-21 H.J. Lu + + PR ld/23201 + * testsuite/ld-tic6x/shlib-1.rd: Adjusted. + * testsuite/ld-tic6x/shlib-1b.rd: Likewise. + * testsuite/ld-tic6x/shlib-1r.rd: Likewise. + * testsuite/ld-tic6x/shlib-1rb.rd: Likewise. + * testsuite/ld-tic6x/shlib-app-1.rd: Likewise. + * testsuite/ld-tic6x/shlib-app-1b.rd: Likewise. + * testsuite/ld-tic6x/shlib-app-1r.rd: Likewise. + * testsuite/ld-tic6x/shlib-app-1rb.rd: Likewise. + * testsuite/ld-tic6x/shlib-noindex.rd: Likewise. + * testsuite/ld-tic6x/static-app-1.rd: Likewise. + * testsuite/ld-tic6x/static-app-1b.rd: Likewise. + * testsuite/ld-tic6x/static-app-1r.rd: Likewise. + * testsuite/ld-tic6x/static-app-1rb.rd: Likewise. + +2018-05-21 H.J. Lu + + PR ld/23201 + * ldexp.c (exp_fold_tree_1): Call bfd_link_hide_symbol to hide + a symbol. + * testsuite/ld-elf/provide-hidden-dynabs.nd: Removed. + * testsuite/ld-elf/provide-hidden-dynsec.nd: Likewise. + * testsuite/ld-elf/provide-hidden.exp: Replace + provide-hidden-dynsec.nd with provide-hidden-sec.nd and + provide-hidden-dyn.nd. Replace provide-hidden-dynabs.nd with + provide-hidden-abs.nd and provide-hidden-dyn.nd. + * testsuite/ld-i386/pr23189.d: Expect no dynamic relocation. + * testsuite/ld-x86-64/pr23189.d: Likewise. + +2018-05-18 H.J. Lu + + PR ld/23194 + * testsuite/ld-i386/i386.exp: Run pr23194. + * testsuite/ld-x86-64/x86-64.exp: Likewise. + * testsuite/ld-i386/pr23194.d: New file. + * testsuite/ld-i386/pr23194.map: Likewise. + * testsuite/ld-i386/pr23194.s: Likewise. + * testsuite/ld-x86-64/pr23194.d: Likewise. + * testsuite/ld-x86-64/pr23194.map: Likewise. + * testsuite/ld-x86-64/pr23194.s: Likewise. + +2018-05-18 H.J. Lu + + * testsuite/ld-i386/i386.exp: Run pr23189 for all targets. + * testsuite/ld-x86-64/x86-64.exp: Likewise. + +2018-05-18 John Darrington + + * Makefile.am: Add support for s12z architecture. + * configure.tgt: Likewise. + * Makefile.in: Regenerate. + * emulparams/m9s12zelf.sh: New file. + * scripttempl/elfm9s12z.sc: New file. + * testsuite/ld-discard/static.d: Expect to fail for the s12z + target. + * testsuite/ld-elf/endsym.d: Likewise. + * testsuite/ld-elf/merge.d: Likewise. + * testsuite/ld-elf/pr14926.d: Skip for the s12z target. + * testsuite/ld-elf/sec64k.exp: Likewise. + * testsuite/ld-s12z: New directory. + * testsuite/ld-s12z/opr-linking.d: New file. + * testsuite/ld-s12z/opr-linking.s: New file. + * testsuite/ld-s12z/relative-linking.d: New file. + * testsuite/ld-s12z/relative-linking.s: New file. + * testsuite/ld-s12z/z12s.exp: New file. + +2018-05-18 H.J. Lu + + PR ld/23189 + * testsuite/ld-i386/i386.exp: Run pr23189. + * testsuite/ld-x86-64/x86-64.exp: Likewise. + * testsuite/ld-i386/pr23189.d: New file. + * testsuite/ld-i386/pr23189.s: Likewise. + * testsuite/ld-i386/pr23189.t: Likewise. + * testsuite/ld-x86-64/pr23189.d: Likewise. + * testsuite/ld-x86-64/pr23189.s: Likewise. + * testsuite/ld-x86-64/pr23189.t: Likewise. + +2018-05-15 Alan Modra + + * testsuite/ld-elf/notes.exp: Restore LDFLAGS. + +2018-05-14 Nick Clifton + + * testsuite/ld-elf/notes.exp: New file: Run new test. + * testsuite/ld-elf/note1_1.s: New file: Source file for test. + * testsuite/ld-elf/note1_2.s: New file: Source file for test. + * testsuite/ld-elf/note1.r: New file: Expected readelf output. + +2018-05-14 H.J. Lu + + PR ld/23169 + * testsuite/ld-ifunc/ifunc-9-i386.d: New file. + * testsuite/ld-ifunc/ifunc-9-x86-64.d: Likewise. + * testsuite/ld-ifunc/pr23169a.c: Likewise. + * testsuite/ld-ifunc/pr23169a.rd: Likewise. + * testsuite/ld-ifunc/pr23169b.c: Likewise. + * testsuite/ld-ifunc/pr23169b.c: Likewise. + * testsuite/ld-ifunc/pr23169c.rd: Likewise. + * testsuite/ld-ifunc/pr23169c.rd: Likewise. + * testsuite/ld-ifunc/ifunc-9-x86.d: Removed. + * testsuite/ld-ifunc/ifunc.exp: Run PR ld/23169 tests. + +2018-05-14 H.J. Lu + + PR ld/23162 + * testsuite/ld-elf/pr23162.map: New file. + * testsuite/ld-elf/pr23162.rd: Likewise. + * testsuite/ld-elf/pr23162a.c: Likewise. + * testsuite/ld-elf/pr23162b.c: Likewise. + * testsuite/ld-elf/shared.exp: Run PR ld/23162 tests. + 2018-05-12 Alan Modra PR 20659 diff -Nru binutils-2.30.51.20180512/ld/configure binutils-2.30.52.20180613/ld/configure --- binutils-2.30.51.20180512/ld/configure 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/ld/configure 2018-06-04 21:27:35.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for ld 2.30.51. +# Generated by GNU Autoconf 2.64 for ld 2.30.52. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software @@ -556,8 +556,8 @@ # Identity of this package. PACKAGE_NAME='ld' PACKAGE_TARNAME='ld' -PACKAGE_VERSION='2.30.51' -PACKAGE_STRING='ld 2.30.51' +PACKAGE_VERSION='2.30.52' +PACKAGE_STRING='ld 2.30.52' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1353,7 +1353,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures ld 2.30.51 to adapt to many kinds of systems. +\`configure' configures ld 2.30.52 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1424,7 +1424,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of ld 2.30.51:";; + short | recursive ) echo "Configuration of ld 2.30.52:";; esac cat <<\_ACEOF @@ -1553,7 +1553,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -ld configure 2.30.51 +ld configure 2.30.52 generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2262,7 +2262,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by ld $as_me 2.30.51, which was +It was created by ld $as_me 2.30.52, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -4072,7 +4072,7 @@ # Define the identity of the package. PACKAGE='ld' - VERSION='2.30.51' + VERSION='2.30.52' cat >>confdefs.h <<_ACEOF @@ -17895,7 +17895,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by ld $as_me 2.30.51, which was +This file was extended by ld $as_me 2.30.52, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17959,7 +17959,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -ld config.status 2.30.51 +ld config.status 2.30.52 configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff -Nru binutils-2.30.51.20180512/ld/configure.tgt binutils-2.30.52.20180613/ld/configure.tgt --- binutils-2.30.51.20180512/ld/configure.tgt 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/ld/configure.tgt 2018-06-04 21:27:35.000000000 +0200 @@ -402,6 +402,8 @@ targ_extra_emuls="m68hc12elfb m68hc11elf m68hc11elfb" ;; m68*-*-netbsdelf*) targ_emul=m68kelfnbsd ;; m68*-*-*) targ_emul=m68kelf ;; +s12z-*-*) targ_emul=m9s12zelf + ;; mcore-*-pe) targ_emul=mcorepe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; mcore-*-elf) targ_emul=elf32mcore diff -Nru binutils-2.30.51.20180512/ld/emulparams/aarch64cloudabi.sh binutils-2.30.52.20180613/ld/emulparams/aarch64cloudabi.sh --- binutils-2.30.51.20180512/ld/emulparams/aarch64cloudabi.sh 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/aarch64cloudabi.sh 2018-06-13 10:31:39.000000000 +0200 @@ -27,9 +27,9 @@ # AArch64 does not support .s* sections. NO_SMALL_DATA=yes -OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' -OTHER_END_SYMBOLS='__end__ = . ;' +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};" +OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};" +OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }' diff -Nru binutils-2.30.51.20180512/ld/emulparams/aarch64elf32.sh binutils-2.30.52.20180613/ld/emulparams/aarch64elf32.sh --- binutils-2.30.51.20180512/ld/emulparams/aarch64elf32.sh 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/aarch64elf32.sh 2018-06-13 10:31:39.000000000 +0200 @@ -23,14 +23,14 @@ IREL_IN_PLT= TEXT_START_ADDR=0x00400000 -DATA_START_SYMBOLS='__data_start = . ;'; +DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__data_start = .${CREATE_SHLIB+)};" # AArch64 does not support .s* sections. NO_SMALL_DATA=yes -OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' -OTHER_END_SYMBOLS='__end__ = . ;' +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};" +OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};" +OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }' diff -Nru binutils-2.30.51.20180512/ld/emulparams/aarch64elf.sh binutils-2.30.52.20180613/ld/emulparams/aarch64elf.sh --- binutils-2.30.51.20180512/ld/emulparams/aarch64elf.sh 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/aarch64elf.sh 2018-06-13 10:31:39.000000000 +0200 @@ -23,14 +23,14 @@ IREL_IN_PLT= TEXT_START_ADDR=0x00400000 -DATA_START_SYMBOLS='__data_start = . ;'; +DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__data_start = .${CREATE_SHLIB+)};" # AArch64 does not support .s* sections. NO_SMALL_DATA=yes -OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' -OTHER_END_SYMBOLS='__end__ = . ;' +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};" +OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};" +OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }' diff -Nru binutils-2.30.51.20180512/ld/emulparams/aarch64fbsd.sh binutils-2.30.52.20180613/ld/emulparams/aarch64fbsd.sh --- binutils-2.30.51.20180512/ld/emulparams/aarch64fbsd.sh 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/aarch64fbsd.sh 2018-06-13 10:31:39.000000000 +0200 @@ -27,9 +27,9 @@ # AArch64 does not support .s* sections. NO_SMALL_DATA=yes -OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' -OTHER_END_SYMBOLS='__end__ = . ;' +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};" +OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};" +OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }' diff -Nru binutils-2.30.51.20180512/ld/emulparams/aarch64linux32.sh binutils-2.30.52.20180613/ld/emulparams/aarch64linux32.sh --- binutils-2.30.51.20180512/ld/emulparams/aarch64linux32.sh 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/aarch64linux32.sh 2018-06-13 10:31:39.000000000 +0200 @@ -27,9 +27,9 @@ # AArch64 does not support .s* sections. NO_SMALL_DATA=yes -OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' -OTHER_END_SYMBOLS='__end__ = . ;' +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};" +OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};" +OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }' diff -Nru binutils-2.30.51.20180512/ld/emulparams/aarch64linux.sh binutils-2.30.52.20180613/ld/emulparams/aarch64linux.sh --- binutils-2.30.51.20180512/ld/emulparams/aarch64linux.sh 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/aarch64linux.sh 2018-06-13 10:31:39.000000000 +0200 @@ -27,9 +27,9 @@ # AArch64 does not support .s* sections. NO_SMALL_DATA=yes -OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' -OTHER_END_SYMBOLS='__end__ = . ;' +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};" +OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};" +OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }' diff -Nru binutils-2.30.51.20180512/ld/emulparams/armelf_fuchsia.sh binutils-2.30.52.20180613/ld/emulparams/armelf_fuchsia.sh --- binutils-2.30.51.20180512/ld/emulparams/armelf_fuchsia.sh 2016-12-02 20:42:47.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/armelf_fuchsia.sh 2018-06-13 10:31:39.000000000 +0200 @@ -12,9 +12,9 @@ DATA_START_SYMBOLS='PROVIDE (__data_start = .);'; OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)' -OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' -OTHER_END_SYMBOLS='__end__ = . ;' +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};" +OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};" +OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' TEXT_START_ADDR=0x00001000 diff -Nru binutils-2.30.51.20180512/ld/emulparams/armelf_linux.sh binutils-2.30.52.20180613/ld/emulparams/armelf_linux.sh --- binutils-2.30.51.20180512/ld/emulparams/armelf_linux.sh 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/armelf_linux.sh 2018-06-13 10:31:39.000000000 +0200 @@ -12,9 +12,9 @@ DATA_START_SYMBOLS='PROVIDE (__data_start = .);'; OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)' -OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' -OTHER_END_SYMBOLS='__end__ = . ;' +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};" +OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};" +OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' TEXT_START_ADDR=0x00010000 diff -Nru binutils-2.30.51.20180512/ld/emulparams/armelf_phoenix.sh binutils-2.30.52.20180613/ld/emulparams/armelf_phoenix.sh --- binutils-2.30.51.20180512/ld/emulparams/armelf_phoenix.sh 2016-05-29 18:59:01.000000000 +0200 +++ binutils-2.30.52.20180613/ld/emulparams/armelf_phoenix.sh 2018-06-13 10:31:39.000000000 +0200 @@ -12,9 +12,9 @@ DATA_START_SYMBOLS='PROVIDE (__data_start = .);'; OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)' -OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' -OTHER_END_SYMBOLS='__end__ = . ;' +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};" +OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};" +OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' TEXT_START_ADDR=0x00001000 diff -Nru binutils-2.30.51.20180512/ld/emulparams/armelf.sh binutils-2.30.52.20180613/ld/emulparams/armelf.sh --- binutils-2.30.51.20180512/ld/emulparams/armelf.sh 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/emulparams/armelf.sh 2018-06-13 10:31:39.000000000 +0200 @@ -7,9 +7,9 @@ TEMPLATE_NAME=elf32 EXTRA_EM_FILE=armelf OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)' -OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' -OTHER_END_SYMBOLS='__end__ = . ;' +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};" +OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};" +OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }' OTHER_READONLY_SECTIONS=" @@ -18,7 +18,7 @@ .ARM.exidx ${RELOCATING-0} : { *(.ARM.exidx${RELOCATING+* .gnu.linkonce.armexidx.*}) } ${RELOCATING+ PROVIDE_HIDDEN (__exidx_end = .); }" -DATA_START_SYMBOLS='__data_start = . ;'; +DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__data_start = .${CREATE_SHLIB+)};" GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes diff -Nru binutils-2.30.51.20180512/ld/emulparams/armnto.sh binutils-2.30.52.20180613/ld/emulparams/armnto.sh --- binutils-2.30.51.20180512/ld/emulparams/armnto.sh 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/armnto.sh 2018-06-13 10:31:39.000000000 +0200 @@ -7,11 +7,11 @@ TEMPLATE_NAME=elf32 EXTRA_EM_FILE=armelf OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)' -OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' -OTHER_END_SYMBOLS='__end__ = . ;' +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};" +OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};" +OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" -DATA_START_SYMBOLS='__data_start = . ;'; +DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__data_start = .${CREATE_SHLIB+)};" GENERATE_SHLIB_SCRIPT=yes diff -Nru binutils-2.30.51.20180512/ld/emulparams/elf32bmipn32-defs.sh binutils-2.30.52.20180613/ld/emulparams/elf32bmipn32-defs.sh --- binutils-2.30.51.20180512/ld/emulparams/elf32bmipn32-defs.sh 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/emulparams/elf32bmipn32-defs.sh 2018-06-13 10:31:39.000000000 +0200 @@ -48,13 +48,9 @@ " # GOT-related settings. # If the output has a GOT section, there must be exactly 0x7ff0 bytes -# between .got and _gp. The ". = ." below stops the orphan code from -# inserting other sections between the assignment to _gp and the start -# of .got. -OTHER_GOT_SYMBOLS=' - . = .; - HIDDEN (_gp = ALIGN (16) + 0x7ff0); -' +# between .got and _gp. +OTHER_GOT_SYMBOLS='HIDDEN (_gp = ALIGN (16) + 0x7ff0);' + # .got.plt is only used for the PLT psABI extension. It should not be # included in the .sdata block with .got, as there is no need to access # the section from _gp. Note that the traditional: @@ -81,9 +77,9 @@ " # Magic symbols. -TEXT_START_SYMBOLS='_ftext = . ;' -DATA_START_SYMBOLS='_fdata = . ;' -OTHER_BSS_SYMBOLS='_fbss = .;' +TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};" +DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};" +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};" INITIAL_READONLY_SECTIONS= if test -z "${CREATE_SHLIB}"; then diff -Nru binutils-2.30.51.20180512/ld/emulparams/elf32bmipn32.sh binutils-2.30.52.20180613/ld/emulparams/elf32bmipn32.sh --- binutils-2.30.51.20180512/ld/emulparams/elf32bmipn32.sh 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/elf32bmipn32.sh 2018-06-13 10:31:39.000000000 +0200 @@ -6,10 +6,12 @@ COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" # IRIX6 defines these symbols. 0x34 is the size of the ELF header. -EXECUTABLE_SYMBOLS=" +OTHER_SYMBOLS=" __dso_displacement = 0; - __elf_header = ${TEXT_START_ADDR}; - __program_header_table = ${TEXT_START_ADDR} + 0x34; + ${CREATE_SHLIB-${CREATE_PIE-__elf_header = ${TEXT_START_ADDR};}} + ${CREATE_SHLIB+__elf_header = ${SHLIB_TEXT_START_ADDR};} + ${CREATE_PIE+__elf_header = ${SHLIB_TEXT_START_ADDR};} + __program_header_table = __elf_header + 0x34; " # There are often dynamic relocations against the .rodata section. diff -Nru binutils-2.30.51.20180512/ld/emulparams/elf32bmip.sh binutils-2.30.52.20180613/ld/emulparams/elf32bmip.sh --- binutils-2.30.51.20180512/ld/emulparams/elf32bmip.sh 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/elf32bmip.sh 2018-06-13 10:31:39.000000000 +0200 @@ -29,13 +29,9 @@ .rel.dyn ${RELOCATING-0} : { *(.rel.dyn) } " # If the output has a GOT section, there must be exactly 0x7ff0 bytes -# between .got and _gp. The ". = ." below stops the orphan code from -# inserting other sections between the assignment to _gp and the start -# of .got. -OTHER_GOT_SYMBOLS=' - . = .; - HIDDEN (_gp = ALIGN (16) + 0x7ff0); -' +# between .got and _gp. +OTHER_GOT_SYMBOLS='HIDDEN (_gp = ALIGN (16) + 0x7ff0);' + # .got.plt is only used for the PLT psABI extension. It should not be # included in the .sdata block with .got, as there is no need to access # the section from _gp. Note that the traditional: @@ -59,9 +55,9 @@ .lit8 ${RELOCATING-0} : { *(.lit8) } .lit4 ${RELOCATING-0} : { *(.lit4) } " -TEXT_START_SYMBOLS='_ftext = . ;' -DATA_START_SYMBOLS='_fdata = . ;' -OTHER_BSS_SYMBOLS='_fbss = .;' +TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};" +DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};" +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};" OTHER_SECTIONS=' .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) } .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) } diff -Nru binutils-2.30.51.20180512/ld/emulparams/elf32frv.sh binutils-2.30.52.20180613/ld/emulparams/elf32frv.sh --- binutils-2.30.51.20180512/ld/emulparams/elf32frv.sh 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/elf32frv.sh 2018-06-13 10:31:39.000000000 +0200 @@ -9,8 +9,8 @@ ENTRY=_start EMBEDDED=yes OTHER_EXCLUDE_FILES='*frvend.o' -OTHER_END_SYMBOLS='__end = .;' -DATA_START_SYMBOLS='__data_start = . ;' +OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end = .${CREATE_SHLIB+)};" +DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__data_start = .${CREATE_SHLIB+)};" STACK_ADDR=0x200000 NOP=0x80000000 OTHER_GOT_SYMBOLS=' diff -Nru binutils-2.30.51.20180512/ld/emulparams/elf32lriscv-defs.sh binutils-2.30.52.20180613/ld/emulparams/elf32lriscv-defs.sh --- binutils-2.30.51.20180512/ld/emulparams/elf32lriscv-defs.sh 2018-01-06 05:07:27.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/elf32lriscv-defs.sh 2018-06-13 10:31:39.000000000 +0200 @@ -30,8 +30,7 @@ MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" -SDATA_START_SYMBOLS="__global_pointer$ = . + 0x800;" -SDATA_START_SYMBOLS="${CREATE_SHLIB-${SDATA_START_SYMBOLS}} +SDATA_START_SYMBOLS="${CREATE_SHLIB-__global_pointer$ = . + 0x800;} *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata .srodata.*)" INITIAL_READONLY_SECTIONS=".interp : { *(.interp) } ${CREATE_PIE-${INITIAL_READONLY_SECTIONS}}" diff -Nru binutils-2.30.51.20180512/ld/emulparams/elf32mcore.sh binutils-2.30.52.20180613/ld/emulparams/elf32mcore.sh --- binutils-2.30.51.20180512/ld/emulparams/elf32mcore.sh 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/elf32mcore.sh 2018-06-13 10:31:39.000000000 +0200 @@ -21,8 +21,8 @@ # not matter. NOP=0x0e0e0e0e -OTHER_BSS_SYMBOLS="__bss_start__ = . ;" -OTHER_BSS_END_SYMBOLS="__bss_end__ = . ;" +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};" +OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};" # This sets the stack to the top of the simulator memory (2^19 bytes). STACK_ADDR=0x80000 diff -Nru binutils-2.30.51.20180512/ld/emulparams/elf32ppccommon.sh binutils-2.30.52.20180613/ld/emulparams/elf32ppccommon.sh --- binutils-2.30.51.20180512/ld/emulparams/elf32ppccommon.sh 2017-05-04 09:52:42.000000000 +0200 +++ binutils-2.30.52.20180613/ld/emulparams/elf32ppccommon.sh 2018-06-13 10:31:39.000000000 +0200 @@ -23,7 +23,7 @@ unset SBSS_START_SYMBOLS unset SBSS_END_SYMBOLS fi -OTHER_END_SYMBOLS="__end = .;" +OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end = .${CREATE_SHLIB+)};" OTHER_RELRO_SECTIONS=" .fixup ${RELOCATING-0} : { *(.fixup) } .got1 ${RELOCATING-0} : { *(.got1) } diff -Nru binutils-2.30.51.20180512/ld/emulparams/elf32rl78.sh binutils-2.30.52.20180613/ld/emulparams/elf32rl78.sh --- binutils-2.30.51.20180512/ld/emulparams/elf32rl78.sh 2017-02-21 10:38:30.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/elf32rl78.sh 2018-06-13 10:31:39.000000000 +0200 @@ -11,10 +11,6 @@ # EXTRA_EM_FILE=needrelax MAXPAGESIZE=256 -STACK_ADDR="(DEFINED(__stack) ? __stack : 0xffedc)" +STACK_ADDR="${CREATE_SHLIB-(DEFINED(__stack) ? __stack : 0xffedc)}" STACK_SENTINEL="LONG(0xdead)" -# We do not need .stack for shared library. -test -n "$CREATE_SHLIB" && unset STACK_ADDR - -OTHER_SYMBOLS="PROVIDE (__rl78_abs__ = 0);" -test -n "$CREATE_SHLIB" && unset OTHER_SYMBOLS +OTHER_SYMBOLS="${CREATE_SHLIB-PROVIDE (__rl78_abs__ = 0);}" diff -Nru binutils-2.30.51.20180512/ld/emulparams/elf32_tic6x_le.sh binutils-2.30.52.20180613/ld/emulparams/elf32_tic6x_le.sh --- binutils-2.30.51.20180512/ld/emulparams/elf32_tic6x_le.sh 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/elf32_tic6x_le.sh 2018-06-13 10:31:39.000000000 +0200 @@ -22,7 +22,6 @@ esac MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" ARCH=tic6x -EXECUTABLE_SYMBOLS="EXTERN (__c6xabi_DSBT_BASE);" OTHER_GOT_SYMBOLS="PROVIDE_HIDDEN (__c6xabi_DSBT_BASE = .);" # ".bss" is near (small) BSS, ".far" is far (normal) BSS, ".const" is # far read-only data, ".rodata" is near read-only data. ".neardata" diff -Nru binutils-2.30.51.20180512/ld/emulparams/elf64bmip.sh binutils-2.30.52.20180613/ld/emulparams/elf64bmip.sh --- binutils-2.30.51.20180512/ld/emulparams/elf64bmip.sh 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/elf64bmip.sh 2018-06-13 10:31:39.000000000 +0200 @@ -5,7 +5,7 @@ SHLIB_TEXT_START_ADDR=0x3ffffe0000 # IRIX6 defines these symbols. 0x40 is the size of the ELF header. -EXECUTABLE_SYMBOLS=" +OTHER_SYMBOLS=" __dso_displacement = 0; ${CREATE_SHLIB-${CREATE_PIE-__elf_header = ${TEXT_START_ADDR};}} ${CREATE_SHLIB+__elf_header = ${SHLIB_TEXT_START_ADDR};} diff -Nru binutils-2.30.51.20180512/ld/emulparams/elf64hppa.sh binutils-2.30.52.20180613/ld/emulparams/elf64hppa.sh --- binutils-2.30.51.20180512/ld/emulparams/elf64hppa.sh 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/elf64hppa.sh 2018-06-13 10:31:39.000000000 +0200 @@ -67,7 +67,7 @@ TEXT_DYNAMIC= # The linker is required to define these two symbols. -EXECUTABLE_SYMBOLS='PROVIDE (__SYSTEM_ID = 0x214); PROVIDE (_FPU_STATUS = 0x0);' +OTHER_SYMBOLS='PROVIDE (__SYSTEM_ID = 0x214); PROVIDE (_FPU_STATUS = 0x0);' # The PA64 ELF port needs two additional initializer sections and also wants # a start/end symbol pair for the .init and .fini sections. INIT_START='KEEP (*(.HP.init)); PROVIDE (__preinit_start = .); KEEP (*(.preinit)); PROVIDE (__preinit_end = .); PROVIDE (__init_start = .);' diff -Nru binutils-2.30.51.20180512/ld/emulparams/i386nto.sh binutils-2.30.52.20180613/ld/emulparams/i386nto.sh --- binutils-2.30.51.20180512/ld/emulparams/i386nto.sh 2017-10-16 14:02:36.000000000 +0200 +++ binutils-2.30.52.20180613/ld/emulparams/i386nto.sh 2018-06-13 10:31:39.000000000 +0200 @@ -2,7 +2,7 @@ OUTPUT_FORMAT="elf32-i386" NO_RELA_RELOCS=yes TEXT_START_ADDR=0x08048000 -TEXT_START_SYMBOLS='_btext = .;' +TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_btext = .${CREATE_SHLIB+)};" MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" ARCH=i386 MACHINE= diff -Nru binutils-2.30.51.20180512/ld/emulparams/m9s12zelf.sh binutils-2.30.52.20180613/ld/emulparams/m9s12zelf.sh --- binutils-2.30.51.20180512/ld/emulparams/m9s12zelf.sh 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/m9s12zelf.sh 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,18 @@ +MACHINE= +SCRIPT_NAME=elfm9s12z +OUTPUT_FORMAT="elf32-s12z" +ROM_TOP=0xFFFFFF +ROM_SIZE=0x20000 +RAM_START_ADDR=0x001000 +RAM_SIZE=8192 +EEPROM_START_ADDR=0x100000 +EEPROM_SIZE=2048 +TEXT_MEMORY=text +DATA_MEMORY=data +EEPROM_MEMORY=eeprom +ARCH=s12z +EMBEDDED=yes +GENERIC_BOARD=no +TEMPLATE_NAME=elf32 +NOP=0x00 + diff -Nru binutils-2.30.51.20180512/ld/emulparams/score3_elf.sh binutils-2.30.52.20180613/ld/emulparams/score3_elf.sh --- binutils-2.30.51.20180512/ld/emulparams/score3_elf.sh 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/emulparams/score3_elf.sh 2018-06-13 10:31:39.000000000 +0200 @@ -12,17 +12,13 @@ MAXPAGESIZE=256 NONPAGED_TEXT_START_ADDR=0x0400000 SHLIB_TEXT_START_ADDR=0x5ffe0000 -OTHER_GOT_SYMBOLS=' - _gp = ALIGN(16) + 0x3ff0; -' +OTHER_GOT_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_gp = ALIGN(16) + 0x3ff0${CREATE_SHLIB+)};" -OTHER_BSS_START_SYMBOLS='_bss_start__ = . + ALIGN(4);' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;' -DATA_START_SYMBOLS='_fdata = . ;' -SDATA_START_SYMBOLS='_sdata_begin = . ;' -OTHER_BSS_SYMBOLS=' - _bss_start = ALIGN(4) ; -' +OTHER_BSS_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_start__ = ALIGN(4)${CREATE_SHLIB+)};" +OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" +DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};" +SDATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_sdata_begin = .${CREATE_SHLIB+)};" +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_start = ALIGN(4)${CREATE_SHLIB+)};" # This sets the stack to the top of the simulator memory (2^19 bytes). STACK_ADDR=0x8000000 diff -Nru binutils-2.30.51.20180512/ld/emulparams/shelf_nto.sh binutils-2.30.52.20180613/ld/emulparams/shelf_nto.sh --- binutils-2.30.51.20180512/ld/emulparams/shelf_nto.sh 2017-10-16 14:02:36.000000000 +0200 +++ binutils-2.30.52.20180613/ld/emulparams/shelf_nto.sh 2018-06-13 10:31:39.000000000 +0200 @@ -7,5 +7,5 @@ MACHINE= TEMPLATE_NAME=elf32 GENERATE_SHLIB_SCRIPT=yes -TEXT_START_SYMBOLS='_btext = .;' +TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_btext = .${CREATE_SHLIB+)};" ENTRY=_start diff -Nru binutils-2.30.51.20180512/ld/emulparams/shlelf_nto.sh binutils-2.30.52.20180613/ld/emulparams/shlelf_nto.sh --- binutils-2.30.51.20180512/ld/emulparams/shlelf_nto.sh 2017-10-16 14:02:36.000000000 +0200 +++ binutils-2.30.52.20180613/ld/emulparams/shlelf_nto.sh 2018-06-13 10:31:39.000000000 +0200 @@ -7,5 +7,5 @@ MACHINE= TEMPLATE_NAME=elf32 GENERATE_SHLIB_SCRIPT=yes -TEXT_START_SYMBOLS='_btext = .;' +TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_btext = .${CREATE_SHLIB+)};" ENTRY=_start diff -Nru binutils-2.30.51.20180512/ld/ldexp.c binutils-2.30.52.20180613/ld/ldexp.c --- binutils-2.30.51.20180512/ld/ldexp.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/ld/ldexp.c 2018-06-04 21:27:35.000000000 +0200 @@ -1200,6 +1200,9 @@ h->u.def.section = expld.result.section; h->linker_def = ! tree->assign.type.lineno; h->ldscript_def = 1; + if (tree->assign.hidden) + bfd_link_hide_symbol (link_info.output_bfd, + &link_info, h); /* Copy the symbol type if this is an expression only referencing a single symbol. (If the expression diff -Nru binutils-2.30.51.20180512/ld/Makefile.am binutils-2.30.52.20180613/ld/Makefile.am --- binutils-2.30.51.20180512/ld/Makefile.am 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/ld/Makefile.am 2018-06-13 10:31:39.000000000 +0200 @@ -324,6 +324,7 @@ em68hc12elfb.c \ em68kelf.c \ em68kelfnbsd.c \ + em9s12zelf.c \ emcorepe.c \ emn10200.c \ emn10300.c \ @@ -692,7 +693,7 @@ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} earmelf_fbsd.c: $(srcdir)/emulparams/armelf_fbsd.sh \ - $(srcdir)/emulparams/armelf.sh \ + $(srcdir)/emulparams/armelf.sh $(srcdir)/emulparams/elf_fbsd.sh \ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -742,10 +743,12 @@ earmelfb_fbsd.c: $(srcdir)/emulparams/armelfb_fbsd.sh \ $(srcdir)/emulparams/armelf_fbsd.sh \ + $(srcdir)/emulparams/armelf.sh $(srcdir)/emulparams/elf_fbsd.sh \ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} earmelfb_fuchsia.c: $(srcdir)/emulparams/armelfb_fuchsia.sh \ + $(srcdir)/emulparams/armelf_fuchsia.sh \ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -1169,7 +1172,7 @@ $(ELF_DEPS) $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS} eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh $(ELF_DEPS) \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} eelf32moxie.c: $(srcdir)/emulparams/elf32moxie.sh \ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -1433,6 +1436,10 @@ $(ELF_DEPS) $(srcdir)/emultempl/m68kelf.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} +em9s12zelf.c: $(srcdir)/emulparams/m9s12zelf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/generic.em \ + $(srcdir)/scripttempl/elfm9s12z.sc ${GEN_DEPENDS} + emcorepe.c: $(srcdir)/emulparams/mcorepe.sh \ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS} diff -Nru binutils-2.30.51.20180512/ld/Makefile.in binutils-2.30.52.20180613/ld/Makefile.in --- binutils-2.30.51.20180512/ld/Makefile.in 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/ld/Makefile.in 2018-06-13 10:31:39.000000000 +0200 @@ -693,6 +693,7 @@ em68hc12elfb.c \ em68kelf.c \ em68kelfnbsd.c \ + em9s12zelf.c \ emcorepe.c \ emn10200.c \ emn10300.c \ @@ -1305,6 +1306,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/em68hc12elfb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/em68kelf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/em68kelfnbsd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/em9s12zelf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emcorepe.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emmo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emn10200.Po@am__quote@ @@ -2197,7 +2199,7 @@ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} earmelf_fbsd.c: $(srcdir)/emulparams/armelf_fbsd.sh \ - $(srcdir)/emulparams/armelf.sh \ + $(srcdir)/emulparams/armelf.sh $(srcdir)/emulparams/elf_fbsd.sh \ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -2247,10 +2249,12 @@ earmelfb_fbsd.c: $(srcdir)/emulparams/armelfb_fbsd.sh \ $(srcdir)/emulparams/armelf_fbsd.sh \ + $(srcdir)/emulparams/armelf.sh $(srcdir)/emulparams/elf_fbsd.sh \ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} earmelfb_fuchsia.c: $(srcdir)/emulparams/armelfb_fuchsia.sh \ + $(srcdir)/emulparams/armelf_fuchsia.sh \ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -2674,7 +2678,7 @@ $(ELF_DEPS) $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS} eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh $(ELF_DEPS) \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} eelf32moxie.c: $(srcdir)/emulparams/elf32moxie.sh \ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -2938,6 +2942,10 @@ $(ELF_DEPS) $(srcdir)/emultempl/m68kelf.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} +em9s12zelf.c: $(srcdir)/emulparams/m9s12zelf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/generic.em \ + $(srcdir)/scripttempl/elfm9s12z.sc ${GEN_DEPENDS} + emcorepe.c: $(srcdir)/emulparams/mcorepe.sh \ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS} diff -Nru binutils-2.30.51.20180512/ld/plugin.c binutils-2.30.52.20180613/ld/plugin.c --- binutils-2.30.51.20180512/ld/plugin.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/ld/plugin.c 2018-06-13 10:31:39.000000000 +0200 @@ -1053,14 +1053,10 @@ { if (curplug->claim_file_handler) { - off_t cur_offset; enum ld_plugin_status rv; called_plugin = curplug; - cur_offset = lseek (file->fd, 0, SEEK_CUR); rv = (*curplug->claim_file_handler) (file, claimed); - if (!*claimed) - lseek (file->fd, cur_offset, SEEK_SET); called_plugin = NULL; if (rv != LDPS_OK) set_plugin_error (curplug->name); @@ -1126,12 +1122,6 @@ } file.handle = input; - /* The plugin API expects that the file descriptor won't be closed - and reused as done by the bfd file cache. So dup one. */ - file.fd = dup (file.fd); - if (file.fd < 0) - return NULL; - input->abfd = abfd; input->view_buffer.addr = NULL; input->view_buffer.filesize = 0; diff -Nru binutils-2.30.51.20180512/ld/po/BLD-POTFILES.in binutils-2.30.52.20180613/ld/po/BLD-POTFILES.in --- binutils-2.30.51.20180512/ld/po/BLD-POTFILES.in 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/ld/po/BLD-POTFILES.in 2018-06-04 21:27:35.000000000 +0200 @@ -242,6 +242,7 @@ em68hc12elfb.c em68kelf.c em68kelfnbsd.c +em9s12zelf.c emcorepe.c emmo.c emn10200.c diff -Nru binutils-2.30.51.20180512/ld/po/es.po binutils-2.30.52.20180613/ld/po/es.po --- binutils-2.30.51.20180512/ld/po/es.po 2018-04-05 19:03:44.000000000 +0200 +++ binutils-2.30.52.20180613/ld/po/es.po 2018-06-13 10:31:39.000000000 +0200 @@ -1,15 +1,16 @@ -# Mensajes en español para ld 2.30.0. -# Copyright (C) 2002 - 2018 Free Software Foundation, Inc. +# Mensajes en español para ld 2.30.0 +# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2018 Free Software Foundation, Inc. # This file is distributed under the same license as the binutils package. -# Francisco Javier Serrador ,2018 -# Cristian Othón Martínez Vera , 2002 - 2012. +# Cristian Othón Martínez Vera , 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. +# Antonio Ceballos Roa , 2018 +# msgid "" msgstr "" "Project-Id-Version: ld 2.30.0\n" "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" "POT-Creation-Date: 2018-01-13 13:43+0000\n" -"PO-Revision-Date: 2018-03-31 19:24+0200\n" -"Last-Translator: Francisco Javier Serrador \n" +"PO-Revision-Date: 2018-06-11 00:16+0200\n" +"Last-Translator: Antonio Ceballos Roa \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" @@ -17,7 +18,6 @@ "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.0.4\n" #: emultempl/armcoff.em:72 #, c-format @@ -40,7 +40,7 @@ #. same time. Use a link followed by objcopy to change output formats. #: emultempl/armcoff.em:143 emultempl/pe.em:1559 msgid "%F%X%P: error: cannot change output format whilst linking ARM binaries\n" -msgstr "%F%X%P: error: no puede modificar formato de salida a través de enlazas binarios ARM\n" +msgstr "%F%X%P: error: no se puede cambiar el formato de salida mientras se enlazan los binarios ARM\n" #: emultempl/armcoff.em:192 emultempl/pe.em:2063 msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n" @@ -141,12 +141,12 @@ #: emultempl/pe.em:447 #, c-format msgid " --[no-]insert-timestamp Use a real timestamp rather than zero (default).\n" -msgstr " --[no-]insert-timestamp Emplee un sello temporal real mejor que cero (predeterminado).\n" +msgstr " --[no-]insert-timestamp Utiliza marca de sello real en lugar de cero (funcionamiento predeterminado).\n" #: emultempl/pe.em:448 #, c-format msgid " This makes binaries non-deterministic\n" -msgstr " Esto crea binarios no deterministas\n" +msgstr " Produce binarios no deterministas\n" #: emultempl/pe.em:450 #, c-format @@ -211,7 +211,7 @@ #: emultempl/pe.em:462 #, c-format msgid " --warn-duplicate-exports Warn about duplicate exports\n" -msgstr " --warn-duplicate-exports Advierte acerca de exportaciones duplicadas\n" +msgstr " --warn-duplicate-exports Avisa sobre exportaciones duplicadas\n" #: emultempl/pe.em:463 #, c-format @@ -229,9 +229,9 @@ " (optionally starting with address) unless\n" " specifically set with --image-base\n" msgstr "" -" --enable-auto-image-base[=] Escoge automáticamente la imagen base\n" -" para varias DLL a menos que el usuario especifique\n" -" un conjunto de dirección con --image-base\n" +" --enable-auto-image-base[=] Escoge automáticamente la base de la imagen para las DLLs\n" +" (opcionalmente empezando con direc salvo que\n" +" se establezca específicamente con --image-base\n" #: emultempl/pe.em:468 #, c-format @@ -307,7 +307,7 @@ " --disable-large-address-aware Executable does not support virtual\n" " addresses greater than 2 gigabytes\n" msgstr "" -" --disable-large-address-aware El ejecutable no admite direcciones\n" +" --disable-large-address-aware El ejecutable no admite direcciones\n" " virtuales mayores que 2 gigabytes\n" #: emultempl/pe.em:487 @@ -380,7 +380,7 @@ #: emultempl/pe.em:501 #, c-format msgid " --build-id[=STYLE] Generate build ID\n" -msgstr " --build-id[=ESTILO] Genera ID de compilación\n" +msgstr " --build-id[=ESTILO] Genera ID de build\n" #: emultempl/pe.em:629 msgid "%P: warning: bad version number in -subsystem option\n" @@ -449,15 +449,15 @@ #: emultempl/pe.em:1337 msgid "%P: warning: .buildid section discarded, --build-id ignored.\n" -msgstr "%P: aviso: sección .building descartada, --build-id ignorado.\n" +msgstr "%P: aviso: se descarta la sección .buildid, se hace caso omiso de --build-id.\n" #: emultempl/pe.em:1410 msgid "%P: warning: unrecognized --build-id style ignored.\n" -msgstr "%P: aviso: no reconocido estilo --build-id ignorado.\n" +msgstr "%P: aviso: se descarta estilo --build-id no reconocido.\n" #: emultempl/pe.em:1434 msgid "%P: warning: Cannot create .buildid section, --build-id ignored.\n" -msgstr "%P: aviso: no puede crear sección .buildid, --build-id ignorado.\n" +msgstr "%P: aviso: No se puede crear la sección .buildid, se descarta --build-id.\n" #: emultempl/pe.em:1487 msgid "%F%P: cannot perform PE operations on non PE output file '%B'.\n" @@ -465,7 +465,7 @@ #: emultempl/pe.em:1631 msgid "%X%P: unable to process relocs: %E\n" -msgstr "%X%P: no se pueden leer las reubicaciones: %E\n" +msgstr "%X%P: no se pueden procesar las reubicaciones: %E\n" #: emultempl/pe.em:1869 #, c-format @@ -548,7 +548,7 @@ #: ldctor.c:295 msgid "%P%X: Special section %s does not support reloc %s for set %s\n" -msgstr "%P%X: Sección especial %s no compatible con reubicación %s para conjunto %s\n" +msgstr "%P%X: La sección especial %s no admite la reubicación %s para el conjunto %s\n" #: ldctor.c:321 msgid "%P%X: Unsupported size %d for set %s\n" @@ -647,7 +647,7 @@ #: ldexp.c:1089 #, c-format msgid "%F%S assignment to location counter invalid outside of SECTIONS\n" -msgstr "%F%S asignación al contador de ubicación inválida fuera de SECTION\n" +msgstr "%F%S asignación al contador de ubicación inválida fuera de SECTIONS\n" #: ldexp.c:1108 msgid "%F%S cannot move location counter backwards (from %V to %V)\n" @@ -752,9 +752,6 @@ "As-needed library included to satisfy reference by file (symbol)\n" "\n" msgstr "" -"\n" -"Como biblioteca requerida incluida para complementar referencia por fichero (símbolo)\n" -"\n" #: ldlang.c:2064 #, c-format @@ -830,7 +827,7 @@ #: ldlang.c:2869 ldlang.c:2883 msgid "%F%B: error adding symbols: %E\n" -msgstr "%F%B: error añadiendo símbolos: %E\n" +msgstr "%F%B: error al añadir símbolos: %E\n" #: ldlang.c:3157 msgid "%P: warning: could not find any targets that match endianness requirement\n" @@ -858,7 +855,7 @@ #: ldlang.c:3480 msgid "%P%X: required symbol `%s' not defined\n" -msgstr "%P%X: símbolo requerido «%s» no definido\n" +msgstr "%P%X: símbolo requerido `%s' sin definir\n" #: ldlang.c:3770 msgid "%F%P: %s not found for insert\n" @@ -884,28 +881,25 @@ #: ldlang.c:4810 msgid "%X%P: section %s VMA wraps around address space\n" -msgstr "" -"%X%P: sección %s cubre VMA alrededor de espacio de dirección\n" -"\n" -" \n" +msgstr "%X%P: la VMA de la sección %s da la vuelta alrededor del espacio de direcciones\n" #: ldlang.c:4816 msgid "%X%P: section %s LMA wraps around address space\n" -msgstr "%X%P: sección %s cubre LMA alrededor de espacio de dirección\n" +msgstr "%X%P: La VMA de la sección %s da la vuelta alrededor del espacio de direcciones\n" #: ldlang.c:4867 msgid "%X%P: section %s LMA [%V,%V] overlaps section %s LMA [%V,%V]\n" -msgstr "%X%P: sección %s LMA [%V, %V] sobrepasa la sección %s LMA [%V, %V]\n" +msgstr "%X%P: la LMA de la sección %s [%V,%V] se solapa con la LMA de la sección %s [%V,%V]\n" #: ldlang.c:4910 msgid "%X%P: section %s VMA [%V,%V] overlaps section %s VMA [%V,%V]\n" -msgstr "%X%P: sección %s VMA en [%V,%V] sobrepasa la sección %s VMA [%V,%V]\n" +msgstr "%X%P: la VMA de la sección %s [%V,%V] se solapa con la VMA de la sección %s [%V,%V]\n" #: ldlang.c:4933 msgid "%X%P: region `%s' overflowed by %lu byte\n" msgid_plural "%X%P: region `%s' overflowed by %lu bytes\n" -msgstr[0] "%X%P: la región `%s' se sobredesborda por %ld byte\n" -msgstr[1] "%X%P: la región `%s' se sobredesborda por %ld bytes\n" +msgstr[0] "%X%P: la región `%s' se desborda por %lu byte\n" +msgstr[1] "%X%P: la región `%s' se desborda por %lu bytes\n" #: ldlang.c:4958 msgid "%X%P: address 0x%v of %B section `%s' is not within region `%s'\n" @@ -1008,19 +1002,19 @@ #: ldlang.c:6483 msgid "%X%P: error: unplaced orphan section `%A' from `%B'.\n" -msgstr "%X%P: error: no ubicado sección huérfana `%A' desde `%B'.\n" +msgstr "%X%P: error: sección huérfana no colocada `%A' de `%B'.\n" #: ldlang.c:6501 msgid "%P: warning: orphan section `%A' from `%B' being placed in section `%s'.\n" -msgstr "%P: aviso: sección huérfana `%A' desde `%B' siendo ubicada dentro de sección`%s'.\n" +msgstr "%P: aviso: la sección huérfana `%A' de `%B' se está colocando en la sección `%s'.\n" #: ldlang.c:6592 msgid "%P%F: invalid character %c (%d) in flags\n" -msgstr "%P%F: carácter inválido %c (%d) en marcas\n" +msgstr "%P%F: carácter inválido %c (%d) en los interruptores\n" #: ldlang.c:6719 msgid "%F%P:%S: error: align with input and explicit align specified\n" -msgstr "%F%:P\n" +msgstr "%F%P:%S: error: se especificó alineamiento con la entrada y alineamiento explícito\n" #: ldlang.c:7165 msgid "%P%F: Failed to create hash table\n" @@ -1080,13 +1074,11 @@ #: ldlang.c:8621 msgid "%F%P: invalid origin for memory region %s\n" -msgstr "%F%P: origen inválido para región de memoria %s\n" +msgstr "%F%P: origen no válido para la región de memoria %s\n" #: ldlang.c:8630 msgid "%F%P: invalid length for memory region %s\n" -msgstr "" -"%F%P: longitud inválida para región de memoria %s\n" -"\n" +msgstr "%F%P: longitud no válida para la región de memoria %s\n" #: ldlang.c:8740 msgid "%X%P: unknown feature `%s'\n" @@ -1098,7 +1090,7 @@ #: ldmain.c:341 msgid "built in linker script" -msgstr "compilado dentro de script enlazador" +msgstr "guión interno del enlazador" #: ldmain.c:351 msgid "using external linker script:" @@ -1110,7 +1102,7 @@ #: ldmain.c:400 msgid "%P%F: --no-define-common may not be used without -shared\n" -msgstr "%P%F: --no-define-common quizá no se puede ser empleado sin sin compartido -shared\n" +msgstr "%P%F: no se puede usar --no-define-common sin -shared\n" #: ldmain.c:406 msgid "%P%F: no input files\n" @@ -1134,11 +1126,13 @@ #: ldmain.c:511 msgid "%P%F: unable to open for source of copy `%s'\n" -msgstr "%P%F: incapaz de abrir para el origen de la copia `%s'\n" +msgstr "%P%F: no se puede abrir para la fuente de la copia `%s'\n" #: ldmain.c:514 +#, fuzzy +#| msgid "%X%F: unable to open for destination of copy `%s'\n" msgid "%P%F: unable to open for destination of copy `%s'\n" -msgstr "%P%F: no se puede abrir para el destino de la copia `%s'\n" +msgstr "%X%P: no se puede abrir para el destino de la copia `%s'\n" #: ldmain.c:521 msgid "%P: Error writing file `%s'\n" @@ -1183,7 +1177,7 @@ "Archive member included to satisfy reference by file (symbol)\n" "\n" msgstr "" -"Miembro del archivo incluido para satisfacer referencia por fichero (símbolo)\n" +"Se incluyó el miembro del archivo para satisfacer referencia por fichero (símbolo)\n" "\n" #: ldmain.c:982 @@ -1291,7 +1285,7 @@ #: ldmain.c:1406 msgid " relocation truncated to fit: %s against undefined symbol `%T'" -msgstr " reubicación truncada para ajustar: %s contra símbolo no definido`%T'" +msgstr " reubicación truncada para ajustar: %s contra el símbolo `%T' sin definir" #: ldmain.c:1412 msgid " relocation truncated to fit: %s against symbol `%T' defined in %A section in %B" @@ -1332,7 +1326,7 @@ #: ldmisc.c:697 msgid "%P: internal error: aborting at %s:%d in %s\n" -msgstr "%P: error interno: se aborta en %s: línea %d en %s\n" +msgstr "%P: error interno: se aborta en %s:%d en %s\n" #: ldmisc.c:700 msgid "%P: internal error: aborting at %s:%d\n" @@ -1351,7 +1345,7 @@ #: ldver.c:41 #, c-format msgid "Copyright (C) 2018 Free Software Foundation, Inc.\n" -msgstr "© 2018 Free Software Foundation, Inc.\n" +msgstr "Copyright (C) 2018 Free Software Foundation, Inc.\n" #: ldver.c:42 #, c-format @@ -1430,7 +1424,7 @@ #: lexsup.c:117 msgid "Force group members out of groups" -msgstr "Fuerza miembros de grupo fuera de grupos" +msgstr "" #: lexsup.c:119 lexsup.c:460 lexsup.c:462 lexsup.c:464 lexsup.c:466 #: lexsup.c:468 lexsup.c:470 @@ -1499,7 +1493,7 @@ #: lexsup.c:145 msgid "Produce an executable with no program interpreter header" -msgstr "Produce un ejecutable con ninguna cabecera del programa interpretador" +msgstr "Produce un ejecutable sin cabecera de intérprete de programa" #: lexsup.c:148 msgid "LIBNAME" @@ -1555,7 +1549,7 @@ #: lexsup.c:171 msgid "Generate import library" -msgstr "Genera biblioteca importada" +msgstr "Genera biblioteca de importación" #: lexsup.c:174 msgid "PLUGIN" @@ -1579,11 +1573,11 @@ #: lexsup.c:185 msgid "Ignored for GCC linker option compatibility" -msgstr "Ignorado para compatibilidad de opción enlazante GCC" +msgstr "Se descarta por compatibilidad con opción del enlazador de GCC" #: lexsup.c:188 lexsup.c:191 msgid "Ignored for gold option compatibility" -msgstr "Ignorado para compatibilidad de opción oro" +msgstr "Se descarta por compatibilidad con opción oro de GCC" #: lexsup.c:194 msgid "Ignored for SVR4 compatibility" @@ -1636,7 +1630,7 @@ #: lexsup.c:224 msgid "Require SYMBOL be defined in the final output" -msgstr "Requiere SÍMBOLO ser definido dentro de salida final" +msgstr "Requiere que se defina SÍMBOLO en la salida final" #: lexsup.c:227 msgid "[=SECTION]" @@ -1805,7 +1799,7 @@ #: lexsup.c:342 msgid "Keep exported symbols when removing unused sections" -msgstr "Conserva símbolos exportados cuando quite secciones no utilizadas" +msgstr "Mantiene los símbolos exportados cuando se quitan secciones sin uso" #: lexsup.c:345 msgid "Set default hash table size close to " @@ -1897,7 +1891,7 @@ #: lexsup.c:403 msgid "Print current sysroot" -msgstr "Escribe raíz del sistema actual" +msgstr "Muestra el sysroot actual" #: lexsup.c:405 msgid "Ignored for Linux compatibility" @@ -2016,12 +2010,16 @@ msgstr "Establece la dirección del segmento de texto" #: lexsup.c:468 +#, fuzzy +#| msgid "Set address of text segment" msgid "Set address of rodata segment" -msgstr "Establece la dirección del segmento de datos de lectura exclusiva" +msgstr "Establece la dirección del segmento de texto" #: lexsup.c:470 +#, fuzzy +#| msgid "Set address of text segment" msgid "Set address of ldata segment" -msgstr "Establece la dirección del segmento de datos grandes ldata" +msgstr "Establece la dirección del segmento de texto" #: lexsup.c:473 msgid "" @@ -2115,31 +2113,31 @@ #: lexsup.c:529 msgid "Unresolved SYMBOL will not cause an error or warning" -msgstr "No resolvió SÍMBOLO no causará un error o advertencia" +msgstr "SÍMBOLO no resuelto no provocará error ni aviso" #: lexsup.c:531 msgid "Push state of flags governing input file handling" -msgstr "Empuja estado de marcas gobernando manipulando fichero de entrada" +msgstr "Apila («push») el estado de los indicadores que gobiernan el manejo del fichero de entrada" #: lexsup.c:534 msgid "Pop state of flags governing input file handling" -msgstr "Estira estado de marcas gobernando manipulando fichero de entrada" +msgstr "Retira («pop») el estado de los indicadores que gobiernan el manejo del fichero de entrada" #: lexsup.c:537 msgid "Report target memory usage" -msgstr "Reporta empleo de memoria de objetivo" +msgstr "Informa sobre el uso de memoria del objetivo" #: lexsup.c:539 msgid "=MODE" -msgstr "=MODE" +msgstr "=MODO" #: lexsup.c:539 msgid "Control how orphan sections are handled." -msgstr "Controla sobre cómo secciones huérfanas son manipuladas." +msgstr "Controla cómo manejar las secciones huérfanas" #: lexsup.c:705 msgid "%P: %s: missing argument\n" -msgstr "%P: %s: falta argumento\n" +msgstr "%P: %s: falta el argumento\n" #: lexsup.c:710 msgid "%P: unrecognized option '%s'\n" @@ -2183,13 +2181,11 @@ #. and will seg-fault the next time around. #: lexsup.c:1056 msgid "%P%F: unrecognised option: %s\n" -msgstr "%P%F: opción no reconocido: %s\n" +msgstr "%P%F: no se reconoce la opción %s\n" #: lexsup.c:1059 lexsup.c:1299 msgid "%P%F: -r and %s may not be used together\n" -msgstr "" -"%P%F: -r y %s quizá no están empleados juntos\n" -"\n" +msgstr "%P%F: no se pueden usar juntos -r y %s\n" #: lexsup.c:1166 msgid "%P%F: -r and -shared may not be used together\n" @@ -2201,7 +2197,7 @@ #: lexsup.c:1183 msgid "%P%F: -r and -pie may not be used together\n" -msgstr "%P%F: -r y -pie quizña no son empleados juntos\n" +msgstr "%P%F: no se pueden usar juntos -r y -pie\n" #: lexsup.c:1188 msgid "%P%F: -pie not supported\n" @@ -2209,7 +2205,7 @@ #: lexsup.c:1194 msgid "%P: SONAME must not be empty string; keeping previous one\n" -msgstr "%P: SONAME debe no ser cadena vacía; conservar uno anterior\n" +msgstr "%P: SONAME no debe ser una cadena vacía: se conserva la anterior\n" #: lexsup.c:1200 msgid "descending" @@ -2253,15 +2249,15 @@ #: lexsup.c:1545 msgid "%P%F: no state pushed before popping\n" -msgstr "%P%F: ningún estado empujado antes de pop\n" +msgstr "%P%F: no se apiló («push») ningún estado con anterioridad a retirarlo («pop»)\n" #: lexsup.c:1568 msgid "%P%F: invalid argument to option \"--orphan-handling\"\n" -msgstr "%P%F: argumento inválido para opción \"--orphand-handling\"\n" +msgstr "%P%F: argumento inválido para la opción \"--orphan-handling\"\n" #: lexsup.c:1576 msgid "%P: SONAME must not be empty string; ignored\n" -msgstr "%P: SONAME debe no ser una cadena de texto vacía; ignorado\n" +msgstr "%P: SONAME no debe ser una cadena vacía: se descarta\n" #: lexsup.c:1644 msgid "%P%F: -F may not be used without -shared\n" @@ -2278,7 +2274,7 @@ #: lexsup.c:1730 #, c-format msgid " --audit=AUDITLIB Specify a library to use for auditing\n" -msgstr " --audit=AUDITLIB Específica una biblioteca para emplear auditando\n" +msgstr " --audit=AUDITLIB Especifica una biblioteca para auditoría\n" # DLL son las siglas en inglés de `Biblioteca de Enlace Dinámico'. # El problema es que las siglas en español (BED) no están muy extendidas. @@ -2286,7 +2282,7 @@ #: lexsup.c:1732 #, c-format msgid " -Bgroup Selects group name lookup rules for DSO\n" -msgstr " -Bgroup Selecciona reglas aparentes del nombre de grupo para DSO\n" +msgstr " -Bgroup Selecciona las reglas de búsqueda de nombre de grupo para DSO\n" #: lexsup.c:1734 #, c-format @@ -2311,12 +2307,12 @@ #: lexsup.c:1742 #, c-format msgid " --exclude-libs=LIBS Make all symbols in LIBS hidden\n" -msgstr " --exclude-libs=LIBS \tCrea todos los símbolos en LIBS ocultas\n" +msgstr " --exclude-libs=LIBS Hace ocultos todos los símbolos en LIBS\n" #: lexsup.c:1744 #, c-format msgid " --hash-style=STYLE Set hash style to sysv, gnu or both\n" -msgstr " --hash-style=STYLE Establece estilo hash para sysv, gnu o ambos\n" +msgstr " --hash-style=ESTILO Establece el estilo «hash» a sysv, gnu o ambos\n" #: lexsup.c:1746 #, c-format @@ -2331,13 +2327,15 @@ #, c-format msgid " -z combreloc Merge dynamic relocs into one section and sort\n" msgstr "" -" -z combreloc Une reubicaciones dinámicas dentro de una sección y ordena\n" -"\n" +" -z combreloc Funde las reubicaciones dinámicas en una sola\n" +" sección y las ordena\n" #: lexsup.c:1751 #, c-format msgid " -z nocombreloc Don't merge dynamic relocs into one section\n" -msgstr " -z nocombreloc No une reubicaciones dinámicas dentro de una sección y ordena\n" +msgstr "" +" -z nocombreloc No funde las reubicaciones dinámicas en una\n" +" sola sección\n" #: lexsup.c:1753 #, c-format @@ -2345,62 +2343,60 @@ " -z global Make symbols in DSO available for subsequently\n" "\t\t\t loaded objects\n" msgstr "" -" -z global Crea símbolos dentro de DSO disponible para subsecuentemente\n" -"\t\t\t objetos cargados\n" +" -z global Hace disponibles los símbolos en DSO a los\n" +"\t\t\t objetos cargados posteriormente\n" #: lexsup.c:1756 #, c-format msgid " -z initfirst Mark DSO to be initialized first at runtime\n" -msgstr " -z primer-inicio Establece DSO para ser inicializado primero en tiempo de ejecución\n" +msgstr "" +" -z initfirst Marca el DSO para ser inicialiado al principio\n" +" en tiempo de ejecución\n" #: lexsup.c:1758 #, c-format msgid " -z interpose Mark object to interpose all DSOs but executable\n" -msgstr " -z interpose\t\t\tMarca el objeto para interponer todos los DSO pero ejecutable\n" +msgstr "" #: lexsup.c:1760 #, c-format msgid " -z lazy Mark object lazy runtime binding (default)\n" msgstr "" -" -z lazy Enlace de tiempo de ejecución de objecto de marco vago (predeterminado)\n" -")\n" #: lexsup.c:1762 #, c-format msgid " -z loadfltr Mark object requiring immediate process\n" -msgstr "" -" -z loadfltr Marca objeto requiere procesado inmediato\n" -"\n" +msgstr " -z loadfltr Indica que el objeto requiere procesamiento inmediato\n" #: lexsup.c:1764 #, c-format msgid " -z nocopyreloc Don't create copy relocs\n" -msgstr " -z nocopyreloc No crea reubicaciones copiadas\n" +msgstr " -z nocopyreloc No crea reubicaciones copia\n" #: lexsup.c:1766 #, c-format msgid " -z nodefaultlib Mark object not to use default search paths\n" -msgstr " -z nodefaultlib\t\t\tMarca el objeto para no usar las rutas de búsqueda por defecto\n" +msgstr " -z nodefaultlib Indica que el objeto no utilizará rutas de búsqueda predeterminadas\n" #: lexsup.c:1768 #, c-format msgid " -z nodelete Mark DSO non-deletable at runtime\n" -msgstr " -z nodelete Marca el DSO como no borrable en tiempo de ejecución\n" +msgstr " -z nodelete Indica que el DSO no es borrable en tiempo de ejecución\n" #: lexsup.c:1770 #, c-format msgid " -z nodlopen Mark DSO not available to dlopen\n" -msgstr " -z nodlopen\t\tMarca el DSO como no disponible para dlopen\n" +msgstr " -z nodlopen Indica que el DSO no está disponible para dlopen\n" #: lexsup.c:1772 #, c-format msgid " -z nodump Mark DSO not available to dldump\n" -msgstr " -z nodump Marca el DSO como no disponible para dldump\n" +msgstr " -z nodump Indica que el DSO no está disponible para dldump\n" #: lexsup.c:1774 #, c-format msgid " -z now Mark object non-lazy runtime binding\n" -msgstr " -z now Marca objeto de enlace en tiempo de ejecución no vago\n" +msgstr "" #: lexsup.c:1776 #, c-format @@ -2408,75 +2404,71 @@ " -z origin Mark object requiring immediate $ORIGIN\n" "\t\t\t\tprocessing at runtime\n" msgstr "" -" -z origen Marca objeto requiriendo inmediato $ORIGEN\n" -"\t\t\t\tprocesando en tiempo de ejecución\n" #: lexsup.c:1780 #, c-format msgid " -z relro Create RELRO program header (default)\n" -msgstr " -z relro Crea cabecera de programa RELRO (predet.) \n" +msgstr "" #: lexsup.c:1782 #, c-format msgid " -z norelro Don't create RELRO program header\n" -msgstr " -z norelro No crea cabecera RELRO de programa\n" +msgstr "" #: lexsup.c:1785 #, c-format msgid " -z relro Create RELRO program header\n" -msgstr " -z relro Crea cabeceras de programa RELRO\n" +msgstr "" #: lexsup.c:1787 #, c-format msgid " -z norelro Don't create RELRO program header (default)\n" -msgstr " -z norelro No crea código de cabecera del programa RELHO (predeterminado)\n" +msgstr "" #: lexsup.c:1790 #, c-format msgid " -z separate-code Create separate code program header\n" -msgstr " -z separate-code Crea cabeceras de programa del código separado\n" +msgstr "" #: lexsup.c:1792 #, c-format msgid " -z noseparate-code Don't create separate code program header (default)\n" -msgstr " -z noseparate-code No crea código de cabecera del programa separado (predeterminado)\n" +msgstr "" #: lexsup.c:1794 #, c-format msgid " -z common Generate common symbols with STT_COMMON type\n" -msgstr " -z common Genera símbolos comunes con tipo STT_COMMON\n" +msgstr " -z common Genera símbolos comunes con el tipo STT_COMMON\n" #: lexsup.c:1796 #, c-format msgid " -z nocommon Generate common symbols with STT_OBJECT type\n" -msgstr " -z nocommon Genera símbolos comunes con tipo STT_OBJECT\n" +msgstr " -z nocommon Genera símbolos comunes con el tipo STT_OBJECT\n" #: lexsup.c:1798 #, c-format msgid " -z stack-size=SIZE Set size of stack segment\n" -msgstr " -z tamaño de pila=TAMAÑO Establece del segmento de pila\n" +msgstr " -z stack-size=TAMAÑO Establece el tamaño de segmento de la pila\n" #: lexsup.c:1800 #, c-format msgid " -z text Treat DT_TEXTREL in shared object as error\n" -msgstr "" -" -z text Trata DT_TEXTREL dentro de objeto compartido como error\n" -"\n" +msgstr " -z text Trata DT_TEXTREL en objecto compartido como error\n" #: lexsup.c:1802 #, c-format msgid " -z notext Don't treat DT_TEXTREL in shared object as error\n" -msgstr " -z notext No trate DT_TEXTREL en objeto compartido como error\n" +msgstr " -z text No trata DT_TEXTREL en objecto compartido como error\n" #: lexsup.c:1804 #, c-format msgid " -z textoff Don't treat DT_TEXTREL in shared object as error\n" -msgstr " -z textoff No trate DT_TEXTREL enonjeto compartido como error\n" +msgstr " -z textoff No trata DT_TEXTREL en objecto compartido como error\n" #: lexsup.c:1811 #, c-format msgid " --build-id[=STYLE] Generate build ID note\n" -msgstr " --build-id[=ESTILO] Genera nota de ID de compilación\n" +msgstr " --build-id[=ESTILO] Genera nota de ID de «build»\n" #: lexsup.c:1813 #, c-format @@ -2485,12 +2477,13 @@ " Compress DWARF debug sections using zlib\n" msgstr "" " --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]\n" -" Comprime secciones de depuración DWARF empleando zlib\n" +" Comprime las secciones de depuración DWARF\n" +" mediante zlib\n" #: lexsup.c:1817 #, c-format msgid " Default: zlib-gabi\n" -msgstr " Predet.: zlib-gabi\n" +msgstr " Predeterminado: zlib-gabi\n" # DLL son las siglas en inglés de `Biblioteca de Enlace Dinámico'. # El problema es que las siglas en español (BED) no están muy extendidas. @@ -2498,22 +2491,24 @@ #: lexsup.c:1820 #, c-format msgid " Default: none\n" -msgstr " Predet.: ninguno\n" +msgstr " Predeterminado: none\n" #: lexsup.c:1823 #, c-format msgid " -z common-page-size=SIZE Set common page size to SIZE\n" -msgstr " -z common-page-size=TAMAÑO Establece tamaño de página común a TAMAÑO\n" +msgstr " -z common-page-size=TAMAÑO Establece el tamaño de página común a TAMAÑO\n" #: lexsup.c:1825 #, c-format msgid " -z max-page-size=SIZE Set maximum page size to SIZE\n" -msgstr " -z max-page-size=TAMAÑO Establece tamaño de página máxima a TAMAÑO\n" +msgstr " -z max-page-size=TAMAÑO Establece el tamaño de página máximo a TAMAÑO\n" #: lexsup.c:1827 #, c-format msgid " -z defs Report unresolved symbols in object files.\n" -msgstr " -z defs Devuelve símbolos no resueltos en ficheros objetos.\n" +msgstr "" +" -z defs Informa sobre símbolos no resueltos en los\n" +" ficheros objeto.\n" #: lexsup.c:1829 #, c-format @@ -2523,17 +2518,21 @@ #: lexsup.c:1831 #, c-format msgid " -z execstack Mark executable as requiring executable stack\n" -msgstr " -z execstack Marco ejecutable como requisito de pila ejecutable\n" +msgstr "" +" -z execstack Indica que el ejecutable requiere pila de\n" +" ejecutable\n" #: lexsup.c:1833 #, c-format msgid " -z noexecstack Mark executable as not requiring executable stack\n" -msgstr " -z noexecstack Marco ejecutable como no requisito de pila ejecutable\n" +msgstr "" +" -z noexecstack Indica que el ejecutable no requiere pila de\n" +" ejecutable\n" #: lexsup.c:1835 #, c-format msgid " -z globalaudit Mark executable requiring global auditing\n" -msgstr " -z globalaudit Marco ejecutable requiriendo auditorización global\n" +msgstr " -z globalaudit Indica que el ejecutable requiere auditoría global\n" #: lexsup.c:1842 #, c-format @@ -2542,9 +2541,10 @@ " --no-ld-generated-unwind-info\n" " Don't generate exception handling info for PLT\n" msgstr "" -" --ld-generated-unwind-info Genera informe de manipulación de excepción para PLT\n" +" --ld-generated-unwind-info Genera información de manejo de excepción para PLT\n" " --no-ld-generated-unwind-info\n" -" No genera manipulación de información de excepción para PLT\n" +" No genera información de manejo de excepción para\n" +"PLT\n" #: lexsup.c:1854 #, c-format @@ -2599,7 +2599,7 @@ #: pe-dll.c:445 msgid "%P%X: Unsupported PEI architecture: %s\n" -msgstr "%P%X: Arquitectura PEI no admitida: %s\n" +msgstr "%P%X: No se admite la arquitectura PEI: %s\n" #: pe-dll.c:814 msgid "%P%X: Cannot export %s: invalid export name\n" @@ -2618,23 +2618,21 @@ #: pe-dll.c:983 #, c-format msgid "%P%X: Cannot export %s: symbol not defined\n" -msgstr "%P%X: No se puede exportar %s: símbolo no definido\n" +msgstr "%P%X: No se puede exportar %s: símbolo sin definir\n" #: pe-dll.c:989 #, c-format msgid "%P%X: Cannot export %s: symbol wrong type (%d vs %d)\n" -msgstr "" -"%P%X: no puede exportar %s: símbolo de tipo equivocado (%d vs %d)\n" -"\n" +msgstr "%P%X: No se puede exportar %s: tipo erróneo del símbolo (%d vs %d)\n" #: pe-dll.c:996 #, c-format msgid "%P%X: Cannot export %s: symbol not found\n" -msgstr "%P%X: no se puede exportar %s: símbolo no encontrado\n" +msgstr "%P%X: No se puede exportar %s: no se encuentra el símbolo\n" #: pe-dll.c:1019 msgid "%X%P: can not create BFD: %E\n" -msgstr "%X%P: no se puede crear la BFD: %E\n" +msgstr "%X%P: no se puede crear BFD: %E\n" #: pe-dll.c:1034 msgid "%X%P: can not create .edata section: %E\n" @@ -2642,25 +2640,23 @@ #: pe-dll.c:1049 msgid "%X%P: can not create .reloc section: %E\n" -msgstr "" -"%X%P: no se puede crear sección reubicada .reloc: %E\n" -"\n" +msgstr "%X%P: no se puede crear la sección .reloc: %E\n" #: pe-dll.c:1110 #, c-format msgid "%P%X: Error: ordinal used twice: %d (%s vs %s)\n" -msgstr "%P%X: Error: ordinal utilizado dos veces: %d (%s vs %s)\n" +msgstr "%P%X: Error, ordinal utilizado dos veces: %d (%s vs %s)\n" #: pe-dll.c:1146 #, c-format msgid "%P%X: Error: export ordinal too large: %d\n" -msgstr "%P%X: error: exportación ordinal demasiado grande: %d\n" +msgstr "" #. Huh? Shouldn't happen, but punt if it does. #: pe-dll.c:1391 #, c-format msgid "zero vma section reloc detected: `%s' #%d f=%d\n" -msgstr "sección vma cero reubicado detectado: `%s' #%d f=%d\n" +msgstr "" #: pe-dll.c:1506 #, c-format @@ -2670,9 +2666,7 @@ #: pe-dll.c:1634 #, c-format msgid "%P: Can't open output def file %s\n" -msgstr "" -"%P: No se puede abrir salida del fichero def %s\n" -"\n" +msgstr "%P: No se puede abrir el fichero por defecto de salida %s\n" #: pe-dll.c:1785 #, c-format @@ -2681,7 +2675,7 @@ #: pe-dll.c:2704 msgid "%P%X%C: variable '%T' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.\n" -msgstr "%P%X%C: variable '%T' no puede ser autoimportado: Por favor vea el documento para Id --enable-auto-import para detalles.\n" +msgstr "%P%X%C: no se puede auto-importar la variable '%T'. Por favor lea la documentación de --enable-auto-import de ld para más detalles.\n" #: pe-dll.c:2732 #, c-format @@ -2699,7 +2693,7 @@ #: pe-dll.c:2779 msgid "%P%X: %s(%s): can't find member in non-archive file" -msgstr "%P%X: %s(%s): no se puede encontrar el miembro dentro de un fichero que no es archivo" +msgstr "%P%X: %s(%s): no se puede encontrar el miembro en un fichero que no es archivo" #: pe-dll.c:2791 msgid "%P%X: %s(%s): can't find member in archive" @@ -2707,7 +2701,7 @@ #: pe-dll.c:3053 msgid "%P%X: add symbols %s: %E\n" -msgstr "%P%X: añade símbolos %s: %E\n" +msgstr "%P%X: añade los símbolos %s: %E\n" #: pe-dll.c:3239 msgid "%P%X: open %s: %E\n" @@ -2715,11 +2709,11 @@ #: pe-dll.c:3246 msgid "%P%X: %s: this doesn't appear to be a DLL\n" -msgstr "%P%X: %s: esto no aparece para ser una DLL\n" +msgstr "%P%X: %s: no parece que esto sea una DLL\n" #: pe-dll.c:3417 msgid "%P%X: Error: can't use long section names on this arch\n" -msgstr "%P%X: Error: no se pueden emplear nombres de sección largos en esta arquitectura\n" +msgstr "%P%X: Error: no se pueden usar nombres de sección largos en esta arquitectura\n" #: plugin.c:231 plugin.c:277 msgid "" @@ -2727,11 +2721,11 @@ #: plugin.c:246 plugin.c:1017 msgid "%P%F: %s: error loading plugin: %s\n" -msgstr "%P%F: %s: error al cargar el complemento: %s\n" +msgstr "%P%F: %s: error al cargar el plugin: %s\n" #: plugin.c:253 msgid "%P: %s: duplicated plugin\n" -msgstr "%P: %s: complemento duplicado\n" +msgstr "%P: %s: plugin duplicado\n" #: plugin.c:339 #, c-format @@ -2748,12 +2742,14 @@ #: plugin.c:542 msgid "%P%F: unsupported input file size: %s (%ld bytes)\n" -msgstr "%P%X: tamaño de fichero de entrada no compatible: %s (%ld bytes)\n" +msgstr "%P%F: no se admite el tamaño de fichero de entrada: %s (%ld bytes)\n" #. We should not have a new, indirect or warning symbol here. #: plugin.c:726 +#, fuzzy +#| msgid "%P%F: %s: plugin reported error claiming file\n" msgid "%P%F: %s: plugin symbol table corrupt (sym type %d)\n" -msgstr "%P%F: %s: tabla de símbolo complementario corrupto (tipo simbólico %d)\n" +msgstr "%P%F: %s: el plugin reportó error al reclamar el fichero\n" #: plugin.c:786 msgid "%P: %B: symbol `%s' definition: %d, visibility: %d, resolution: %d\n" @@ -2761,15 +2757,15 @@ #: plugin.c:1024 msgid "%P%F: %s: plugin error: %d\n" -msgstr "%P%F: %s: error de complemento: %d\n" +msgstr "%P%F: %s: error en el plugin: %d\n" #: plugin.c:1083 msgid "%P%F: plugin_strdup failed to allocate memory: %s\n" -msgstr "%P%F: plugin_strdup fallado para reservar memoria: %s\n" +msgstr "%P%F: plugin_strdup no pudo asignar memoria: %s\n" #: plugin.c:1115 msgid "%P%F: plugin failed to allocate memory for input: %s\n" -msgstr "%P%F: complemento fallado al reservar memoria para entrada: %s\n" +msgstr "%P%F: plugin no pudo asignar memoria para entrada: %s\n" #: plugin.c:1148 msgid "%P%F: %s: plugin reported error claiming file\n" @@ -2777,16 +2773,14 @@ #: plugin.c:1258 msgid "%P: %s: error in plugin cleanup: %d (ignored)\n" -msgstr "" -"%P %s: error al desconectar complemento: %d (ignorado)\n" -"\n" - -#~ msgid " --out-implib Generate import library\n" -#~ msgstr " --out-implib Genera una biblioteca de importación\n" +msgstr "%P: %s: error en la limpieza de plugin: %d (se descarta)\n" #~ msgid "%s: data size %ld\n" #~ msgstr "%s: tamaño de los datos %ld\n" +#~ msgid " --out-implib Generate import library\n" +#~ msgstr " --out-implib Genera una biblioteca de importación\n" + #~ msgid "%F%P: bfd_hash_table_init failed: %E\n" #~ msgstr "%F%P: falló bfd_hash_table_init: %E\n" diff -Nru binutils-2.30.51.20180512/ld/scripttempl/elfm9s12z.sc binutils-2.30.52.20180613/ld/scripttempl/elfm9s12z.sc --- binutils-2.30.51.20180512/ld/scripttempl/elfm9s12z.sc 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/scripttempl/elfm9s12z.sc 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,444 @@ +# Copyright (C) 2014-2018 Free Software Foundation, Inc. +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. +# +# Unusual variables checked by this code: +# NOP - four byte opcode for no-op (defaults to 0) +# DATA_ADDR - if end-of-text-plus-one-page isn't right for data start +# OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ... +# (e.g., .PARISC.global) +# OTHER_SECTIONS - at the end +# EXECUTABLE_SYMBOLS - symbols that must be defined for an +# executable (e.g., _DYNAMIC_LINK) +# TEXT_START_SYMBOLS - symbols that appear at the start of the +# .text section. +# DATA_START_SYMBOLS - symbols that appear at the start of the +# .data section. +# OTHER_BSS_SYMBOLS - symbols that appear at the start of the +# .bss section besides __bss_start. +# EMBEDDED - whether this is for an embedded system. +# +# When adding sections, do note that the names of some sections are used +# when specifying the start address of the next. +# +test -z "$ENTRY" && ENTRY=_start +test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT} +test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT} +if [ -z "$MACHINE" ]; then OUTPUT_ARCH=${ARCH}; else OUTPUT_ARCH=${ARCH}:${MACHINE}; fi +test "$LD_FLAG" = "N" && DATA_ADDR=. + +CTOR=".ctors ${CONSTRUCTING-0} : + { + ${CONSTRUCTING+ PROVIDE (__CTOR_LIST__ = .); } + ${CONSTRUCTING+${CTOR_START}} + KEEP (*(.ctors)) + + ${CONSTRUCTING+${CTOR_END}} + ${CONSTRUCTING+ PROVIDE(__CTOR_END__ = .); } + } ${RELOCATING+ > ${TEXT_MEMORY}}" + +DTOR=" .dtors ${CONSTRUCTING-0} : + { + ${CONSTRUCTING+ PROVIDE(__DTOR_LIST__ = .); } + KEEP (*(.dtors)) + ${CONSTRUCTING+ PROVIDE(__DTOR_END__ = .); } + } ${RELOCATING+ > ${TEXT_MEMORY}}" + + +VECTORS=" + /* If the 'vectors_addr' symbol is defined, it indicates the start address + of interrupt vectors. + + In general, the vectors address is 0xfffe00. This can be overriden + with the '-defsym vectors_addr=0xbfc000' ld option. If you do this, + then your startup code should also set the IVBR register accordingly. + */ + + PROVIDE (_vectors_addr = DEFINED (vectors_addr) ? vectors_addr : 0xfffe00); + .vectors DEFINED (vectors_addr) ? vectors_addr : 0xfffe00 : + { + KEEP (*(.vectors)) + }" + +# +# We provide two emulations: a fixed on that defines some memory banks +# and a configurable one that includes a user provided memory definition. +# +case $GENERIC_BOARD in + yes|1|YES) + MEMORY_DEF=" +/* Get memory banks definition from some user configuration file. + This file must be located in some linker directory (search path + with -L). See fixed memory banks emulation script. */ +INCLUDE memory.x; +" + ;; + *) +MEMORY_DEF=" +/* Fixed definition of the available memory banks. + See generic emulation script for a user defined configuration. */ +MEMORY +{ + text (rx) : ORIGIN = $[$ROM_TOP - $ROM_SIZE + 1], LENGTH = ${ROM_SIZE} - 4 + data : ORIGIN = ${RAM_START_ADDR}, LENGTH = ${RAM_SIZE} + eeprom : ORIGIN = ${EEPROM_START_ADDR}, LENGTH = ${EEPROM_SIZE} + rvec : ORIGIN = 0xFFFFFC, LENGTH = 4 +} + +/* Setup the stack on the top of the data memory bank. */ +PROVIDE (_stack = ${RAM_START_ADDR} + ${RAM_SIZE} - 1); +" + ;; +esac + +STARTUP_CODE=" + /* Startup code. */ + KEEP (*(.install0)) /* Section should setup the stack pointer. */ + KEEP (*(.install1)) /* Place holder for applications. */ + KEEP (*(.install2)) /* Optional installation of data sections in RAM. */ + KEEP (*(.install3)) /* Place holder for applications. */ + KEEP (*(.install4)) /* Section that calls the main. */ +" + +FINISH_CODE=" + /* Finish code. */ + KEEP (*(.fini0)) /* Beginning of finish code (_exit symbol). */ + KEEP (*(.fini1)) /* Place holder for applications. */ + KEEP (*(.fini2)) /* C++ destructors. */ + KEEP (*(.fini3)) /* Place holder for applications. */ + KEEP (*(.fini4)) /* Runtime exit. */ +" + +PRE_COMPUTE_DATA_SIZE=" +/* SCz: this does not work yet... This is supposed to force the loading + of _map_data.o (from libgcc.a) when the .data section is not empty. + By doing so, this should bring the code that copies the .data section + from ROM to RAM at init time. + + ___pre_comp_data_size = SIZEOF(.data); + __install_data_sections = ___pre_comp_data_size > 0 ? + __map_data_sections : 0; +*/ +" + +INSTALL_RELOC=" + .install0 0 : { *(.install0) } + .install1 0 : { *(.install1) } + .install2 0 : { *(.install2) } + .install3 0 : { *(.install3) } + .install4 0 : { *(.install4) } +" + +FINISH_RELOC=" + .fini0 0 : { *(.fini0) } + .fini1 0 : { *(.fini1) } + .fini2 0 : { *(.fini2) } + .fini3 0 : { *(.fini3) } + .fini4 0 : { *(.fini4) } +" + +BSS_DATA_RELOC=" + .data1 0 : { *(.data1) } + + /* We want the small data sections together, so single-instruction offsets + can access them all, and initialized data all before uninitialized, so + we can shorten the on-disk segment size. */ + .sdata 0 : { *(.sdata) } + .sbss 0 : { *(.sbss) } + .scommon 0 : { *(.scommon) } +" + +SOFT_REGS_RELOC=" + .softregs 0 : { *(.softregs) } +" + +cat < ${TEXT_MEMORY}} + + .init ${RELOCATING-0} : + { + *(.init) + } ${RELOCATING+=${NOP-0}} + + ${RELOCATING-${INSTALL_RELOC}} + ${RELOCATING-${FINISH_RELOC}} + + .text ${RELOCATING-0}: + { + /* Put startup code at beginning so that _start keeps same address. */ + ${RELOCATING+${STARTUP_CODE}} + + ${RELOCATING+*(.init)} + *(.text) + ${RELOCATING+*(.text.*)} + /* .gnu.warning sections are handled specially by elf32.em. */ + *(.gnu.warning) + ${RELOCATING+*(.gnu.linkonce.t.*)} + ${RELOCATING+*(.tramp)} + ${RELOCATING+*(.tramp.*)} + + ${RELOCATING+${FINISH_CODE}} + + ${RELOCATING+_etext = .;} + ${RELOCATING+PROVIDE (etext = .);} + ${RELOCATING+. = ALIGN(2);} + } ${RELOCATING+ > ${TEXT_MEMORY} =${NOP}} + .rvec ${RELOCATING-0} : + { + ${RELOCATING+LONG(_start);} + } ${RELOCATING+ > rvec} + .eh_frame ${RELOCATING-0} : + { + KEEP (*(.eh_frame)) + } ${RELOCATING+ > ${TEXT_MEMORY}} + + .gcc_except_table ${RELOCATING-0} : + { + *(.gcc_except_table) + } ${RELOCATING+ > ${TEXT_MEMORY}} + + .rodata ${RELOCATING-0} : + { + *(.rodata) + ${RELOCATING+*(.rodata.*)} + ${RELOCATING+*(.gnu.linkonce.r*)} + ${RELOCATING+. = ALIGN(2);} + } ${RELOCATING+ > ${TEXT_MEMORY} =0xffffffff} + + .rodata1 ${RELOCATING-0} : + { + *(.rodata1) + ${RELOCATING+. = ALIGN(2);} + } ${RELOCATING+ > ${TEXT_MEMORY} =0xffffffff} + + /* Constructor and destructor tables are in ROM. */ + ${RELOCATING+${CTOR}} + ${RELOCATING+${DTOR}} + + .jcr ${RELOCATING-0} : + { + KEEP (*(.jcr)) + } ${RELOCATING+ > ${TEXT_MEMORY}} + + /* Start of the data section image in ROM. */ + ${RELOCATING+__data_image = .;} + ${RELOCATING+PROVIDE (__data_image = .);} + + /* All read-only sections that normally go in PROM must be above. + We construct the DATA image section in PROM at end of all these + read-only sections. The data image must be copied at init time. + Refer to GNU ld, Section 3.6.8.2 Output Section LMA. */ + .data ${RELOCATING-0} : ${RELOCATING+AT (__data_image)} + { + ${RELOCATING+__data_section_start = .;} + ${RELOCATING+PROVIDE (__data_section_start = .);} + + ${RELOCATING+${DATA_START_SYMBOLS}} + ${RELOCATING+*(.sdata)} + *(.data) + ${RELOCATING+*(.data.*)} + ${RELOCATING+*(.data1)} + ${RELOCATING+*(.gnu.linkonce.d.*)} + ${CONSTRUCTING+CONSTRUCTORS} + + ${RELOCATING+_edata = .;} + ${RELOCATING+PROVIDE (edata = .);} + ${RELOCATING+. = ALIGN(2);} + } ${RELOCATING+ > ${DATA_MEMORY} =0xffffffff} + + ${RELOCATING+__data_section_size = SIZEOF(.data);} + ${RELOCATING+PROVIDE (__data_section_size = SIZEOF(.data));} + ${RELOCATING+__data_image_end = __data_image + __data_section_size;} + + ${RELOCATING+${PRE_COMPUTE_DATA_SIZE}} + + /* .install ${RELOCATING-0}: + { + . = _data_image_end; + } ${RELOCATING+ > ${TEXT_MEMORY}} */ + + /* Relocation for some bss and data sections. */ + ${RELOCATING-${BSS_DATA_RELOC}} + ${RELOCATING-${SOFT_REGS_RELOC}} + + .bss ${RELOCATING-0} : + { + ${RELOCATING+__bss_start = .;} + ${RELOCATING+*(.softregs)} + ${RELOCATING+*(.sbss)} + ${RELOCATING+*(.scommon)} + + *(.dynbss) + *(.bss) + ${RELOCATING+*(.bss.*)} + ${RELOCATING+*(.gnu.linkonce.b.*)} + *(COMMON) + ${RELOCATING+PROVIDE (_end = .);} + } ${RELOCATING+ > ${DATA_MEMORY}} + ${RELOCATING+__bss_size = SIZEOF(.bss);} + ${RELOCATING+PROVIDE (__bss_size = SIZEOF(.bss));} + + .eeprom ${RELOCATING-0} : + { + *(.eeprom) + *(.eeprom.*) + } ${RELOCATING+ > ${EEPROM_MEMORY}} + + ${RELOCATING+${VECTORS}} + + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + + .comment 0 : { *(.comment) } + + /* Treatment of DWARF debug section must be at end of the linker + script to avoid problems when there are undefined symbols. It's necessary + to avoid that the DWARF section is relocated before such undefined + symbols are found. */ +EOF + +. $srcdir/scripttempl/DWARF.sc + +cat < +[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x1c0|0x208)@plt> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-aarch64/ifunc-1-local.d binutils-2.30.52.20180613/ld/testsuite/ld-aarch64/ifunc-1-local.d --- binutils-2.30.51.20180512/ld/testsuite/ld-aarch64/ifunc-1-local.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-aarch64/ifunc-1-local.d 2018-06-13 10:31:39.000000000 +0200 @@ -3,5 +3,5 @@ #target: aarch64*-*-* #... -[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x2a0|0x2f0)@plt> +[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x1a0|0x1f0)@plt> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-aarch64/ifunc-21.d binutils-2.30.52.20180613/ld/testsuite/ld-aarch64/ifunc-21.d --- binutils-2.30.51.20180512/ld/testsuite/ld-aarch64/ifunc-21.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-aarch64/ifunc-21.d 2018-06-13 10:31:39.000000000 +0200 @@ -11,7 +11,7 @@ [0-9a-f]+ .* Contents of section .got.plt: [0-9a-f]+ 0+ 0+ 0+ 0+ .* - (103b8|10408) 0+ 0+ [0-9a-f]+ [0-9a-f]+ .* + (102b8|10308) 0+ 0+ [0-9a-f]+ [0-9a-f]+ .* Disassembly of section .text: @@ -20,7 +20,7 @@ .* : .*: 90000080 adrp x0, 10000 <.*> - .*: .* ldr x0, \[x0, #(960|1040)\] + .*: .* ldr x0, \[x0, #(704|784)\] .*: d65f03c0 ret -#pass \ No newline at end of file +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-aarch64/ifunc-2.d binutils-2.30.52.20180613/ld/testsuite/ld-aarch64/ifunc-2.d --- binutils-2.30.51.20180512/ld/testsuite/ld-aarch64/ifunc-2.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-aarch64/ifunc-2.d 2018-06-13 10:31:39.000000000 +0200 @@ -3,7 +3,7 @@ #target: aarch64*-*-* #... -[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x2c0|0x308)@plt> +[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x1c0|0x108)@plt> [ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <.*> -[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #(0x2b0|0x2f8) +[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #(0x1b0|0x1f8) #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-aarch64/ifunc-2-local.d binutils-2.30.52.20180613/ld/testsuite/ld-aarch64/ifunc-2-local.d --- binutils-2.30.51.20180512/ld/testsuite/ld-aarch64/ifunc-2-local.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-aarch64/ifunc-2-local.d 2018-06-13 10:31:39.000000000 +0200 @@ -3,7 +3,7 @@ #target: aarch64*-*-* #... -[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x2a0|0x2f0)@plt> +[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x1a0|0x1f0)@plt> [ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <.*> -[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #(0x290|0x2e0) +[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #(0x190|0x1e0) #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-aarch64/ifunc-3a.d binutils-2.30.52.20180613/ld/testsuite/ld-aarch64/ifunc-3a.d --- binutils-2.30.51.20180512/ld/testsuite/ld-aarch64/ifunc-3a.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-aarch64/ifunc-3a.d 2018-06-13 10:31:39.000000000 +0200 @@ -4,5 +4,5 @@ #target: aarch64*-*-* #... -[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x2e0|0x330)@plt> +[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x1e0|0x230)@plt> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-alpha/tlsbin.rd binutils-2.30.52.20180613/ld/testsuite/ld-alpha/tlsbin.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-alpha/tlsbin.rd 2017-11-14 14:43:45.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-alpha/tlsbin.rd 2018-06-13 10:31:39.000000000 +0200 @@ -59,10 +59,7 @@ [0-9 ]+: [0-9a-f]+ +0 +NOTYPE +LOCAL +DEFAULT +UND * [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 [0-9 ]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND __tls_get_addr -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-alpha/tlsbinr.rd binutils-2.30.52.20180613/ld/testsuite/ld-alpha/tlsbinr.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-alpha/tlsbinr.rd 2017-11-14 14:43:45.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-alpha/tlsbinr.rd 2018-06-13 10:31:39.000000000 +0200 @@ -47,17 +47,14 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend [0-9a-f]+ +0+100000026 R_ALPHA_TPREL64 +0+ sG2 \+ 0 -[0-9a-f]+ +0+400000026 R_ALPHA_TPREL64 +0+ sG1 \+ 0 +[0-9a-f]+ +0+300000026 R_ALPHA_TPREL64 +0+ sG1 \+ 0 Symbol table '\.dynsym' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name [0-9 ]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND [0-9 ]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 [0-9 ]+: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND __tls_get_addr -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start [0-9 ]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-alpha/tlsbin.sd binutils-2.30.52.20180613/ld/testsuite/ld-alpha/tlsbin.sd --- binutils-2.30.51.20180512/ld/testsuite/ld-alpha/tlsbin.sd 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-alpha/tlsbin.sd 2018-06-13 10:31:39.000000000 +0200 @@ -10,7 +10,7 @@ Contents of section .got: [0-9a-f]+ 00000000 00000000 00000000 00000000 .* - [0-9a-f]+ 00000000 00000000 74030020 01000000 .* + [0-9a-f]+ 00000000 00000000 04030020 01000000 .* [0-9a-f]+ 56000000 00000000 00000000 00000000 .* [0-9a-f]+ 00000000 00000000 01000000 00000000 .* [0-9a-f]+ 00000000 00000000 01000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-alpha/tlspic.rd binutils-2.30.52.20180613/ld/testsuite/ld-alpha/tlspic.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-alpha/tlspic.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-alpha/tlspic.rd 2018-06-13 10:31:39.000000000 +0200 @@ -64,12 +64,9 @@ .* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg1 .* [0-9a-f]+ +172 +FUNC +GLOBAL +DEFAULT +\[: 88\] +7 fn1 -.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg2 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg6 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg7 -.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata -.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -122,9 +119,6 @@ .* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg1 .* [0-9a-f]+ +172 +FUNC +GLOBAL +DEFAULT +\[: 88\] +7 fn1 -.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg2 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg6 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg7 -.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata -.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-alpha/tlspic.sd binutils-2.30.52.20180613/ld/testsuite/ld-alpha/tlspic.sd --- binutils-2.30.51.20180512/ld/testsuite/ld-alpha/tlspic.sd 2017-03-15 09:28:02.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-alpha/tlspic.sd 2018-06-13 10:31:39.000000000 +0200 @@ -10,7 +10,7 @@ Contents of section .got: 11278 00000000 00000000 00000000 00000000 .* - 11288 44040000 00000000 00000000 00000000 .* + 11288 c4030000 00000000 00000000 00000000 .* 11298 00000000 00000000 71000000 00000000 .* 112a8 00000000 00000000 00000000 00000000 .* 112b8 00000000 00000000 44000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/dso12-pltdis.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/dso12-pltdis.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/dso12-pltdis.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/dso12-pltdis.d 2018-06-13 10:31:39.000000000 +0200 @@ -11,44 +11,44 @@ Disassembly of section \.plt: -0+1e4 <.plt>: +0+198 <.plt>: - 1e4: 84e2 subq 4,\$sp - 1e6: 0401 addoq 4,\$r0,\$acr - 1e8: 7e7a move \$mof,\[\$sp\] - 1ea: 3f7a move \[\$acr\],\$mof - 1ec: 04f2 addq 4,\$acr - 1ee: 6ffa move\.d \[\$acr\],\$acr - 1f0: bf09 jump \$acr - 1f2: b005 nop + 198: 84e2 subq 4,\$sp + 19a: 0401 addoq 4,\$r0,\$acr + 19c: 7e7a move \$mof,\[\$sp\] + 19e: 3f7a move \[\$acr\],\$mof + 1a0: 04f2 addq 4,\$acr + 1a2: 6ffa move\.d \[\$acr\],\$acr + 1a4: bf09 jump \$acr + 1a6: b005 nop \.\.\. -0+1fe : - 1fe: 6f0d 0c00 0000 addo\.d c <.*>,\$r0,\$acr - 204: 6ffa move\.d \[\$acr\],\$acr - 206: bf09 jump \$acr - 208: b005 nop - 20a: 3f7e 0000 0000 move 0 <.*>,\$mof - 210: bf0e d4ff ffff ba 1e4 <.*> - 216: b005 nop - -0+218 : - 218: 6f0d 1000 0000 addo\.d 10 <.*>,\$r0,\$acr - 21e: 6ffa move\.d \[\$acr\],\$acr - 220: bf09 jump \$acr - 222: b005 nop - 224: 3f7e 0c00 0000 move c <.*>,\$mof - 22a: bf0e baff ffff ba 1e4 <.*> - 230: b005 nop +0+1b2 : + 1b2: 6f0d 0c00 0000 addo\.d c <.*>,\$r0,\$acr + 1b8: 6ffa move\.d \[\$acr\],\$acr + 1ba: bf09 jump \$acr + 1bc: b005 nop + 1be: 3f7e 0000 0000 move 0 <.*>,\$mof + 1c4: bf0e d4ff ffff ba 198 <.*> + 1ca: b005 nop + +0+1cc : + 1cc: 6f0d 1000 0000 addo\.d 10 <.*>,\$r0,\$acr + 1d2: 6ffa move\.d \[\$acr\],\$acr + 1d4: bf09 jump \$acr + 1d6: b005 nop + 1d8: 3f7e 0c00 0000 move c <.*>,\$mof + 1de: bf0e baff ffff ba 198 <.*> + 1e4: b005 nop Disassembly of section \.text: #... -0+236 : - 236: bfbe e2ff ffff bsr 218 - 23c: b005 nop - -0+23e : - 23e: 7f0d a620 0000 lapc 22e4 <_GLOBAL_OFFSET_TABLE_>,\$r0 - 244: 5f0d 1400 addo\.w 0x14,\$r0,\$acr - 248: bfbe b6ff ffff bsr 1fe +0+1ea : + 1ea: bfbe e2ff ffff bsr 1cc + 1f0: b005 nop + +0+1f2 : + 1f2: 7f0d a620 0000 lapc 2298 <_GLOBAL_OFFSET_TABLE_>,\$r0 + 1f8: 5f0d 1400 addo\.w 0x14,\$r0,\$acr + 1fc: bfbe b6ff ffff bsr 1b2 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/dso-pltdis1.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/dso-pltdis1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/dso-pltdis1.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/dso-pltdis1.d 2018-06-13 10:31:39.000000000 +0200 @@ -20,42 +20,42 @@ Disassembly of section \.plt: -0+1b4 <.*>: - 1b4: 84e2 subq 4,\$sp - 1b6: 0401 addoq 4,\$r0,\$acr - 1b8: 7e7a move \$mof,\[\$sp\] - 1ba: 3f7a move \[\$acr\],\$mof - 1bc: 04f2 addq 4,\$acr - 1be: 6ffa move\.d \[\$acr\],\$acr - 1c0: bf09 jump \$acr - 1c2: b005 nop +0+160 <.*>: + 160: 84e2 subq 4,\$sp + 162: 0401 addoq 4,\$r0,\$acr + 164: 7e7a move \$mof,\[\$sp\] + 166: 3f7a move \[\$acr\],\$mof + 168: 04f2 addq 4,\$acr + 16a: 6ffa move\.d \[\$acr\],\$acr + 16c: bf09 jump \$acr + 16e: b005 nop \.\.\. #... - 1ce: 6f0d ..00 0000 addo\.d .* - 1d4: 6ffa move\.d \[\$acr\],\$acr - 1d6: bf09 jump \$acr - 1d8: b005 nop - 1da: 3f7e .... .... move .*,\$mof - 1e0: bf0e .... .... ba .* - 1e6: b005 nop + 17a: 6f0d ..00 0000 addo\.d .* + 180: 6ffa move\.d \[\$acr\],\$acr + 182: bf09 jump \$acr + 184: b005 nop + 186: 3f7e .... .... move .*,\$mof + 18c: bf0e .... .... ba .* + 192: b005 nop -0+1e8 : - 1e8: 6f0d ..00 0000 addo\.d .* - 1ee: 6ffa move\.d \[\$acr\],\$acr - 1f0: bf09 jump \$acr - 1f2: b005 nop - 1f4: 3f7e .... .... move .*,\$mof - 1fa: bf0e baff ffff ba 1b4 <.*> - 200: b005 nop +0+194 : + 194: 6f0d ..00 0000 addo\.d .* + 19a: 6ffa move\.d \[\$acr\],\$acr + 19c: bf09 jump \$acr + 19e: b005 nop + 1a0: 3f7e .... .... move .*,\$mof + 1a6: bf0e baff ffff ba 160 <.*> + 1ac: b005 nop Disassembly of section \.text: #... -0+202 : - 202: bfbe e6ff ffff bsr 1e8 - 208: b005 nop +0+1ae : + 1ae: bfbe e6ff ffff bsr 194 + 1b4: b005 nop -0+20a : - 20a: 7f0d ae20 0000 lapc 22b8 <_GLOBAL_OFFSET_TABLE_>,\$r0 - 210: 5f0d 1400 addo\.w 0x14,\$r0,\$acr - 214: bfbe baff ffff bsr 1ce <.*> +0+1b6 : + 1b6: 7f0d ae20 0000 lapc 2264 <_GLOBAL_OFFSET_TABLE_>,\$r0 + 1bc: 5f0d 1400 addo\.w 0x14,\$r0,\$acr + 1c0: bfbe baff ffff bsr 17a <.*> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/dso-pltdis2.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/dso-pltdis2.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/dso-pltdis2.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/dso-pltdis2.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,43 +12,43 @@ Disassembly of section \.plt: -0+1b4 <.*>: +0+160 <.*>: - 1b4: 84e2 subq 4,\$sp - 1b6: 0401 addoq 4,\$r0,\$acr - 1b8: 7e7a move \$mof,\[\$sp\] - 1ba: 3f7a move \[\$acr\],\$mof - 1bc: 04f2 addq 4,\$acr - 1be: 6ffa move\.d \[\$acr\],\$acr - 1c0: bf09 jump \$acr - 1c2: b005 nop + 160: 84e2 subq 4,\$sp + 162: 0401 addoq 4,\$r0,\$acr + 164: 7e7a move \$mof,\[\$sp\] + 166: 3f7a move \[\$acr\],\$mof + 168: 04f2 addq 4,\$acr + 16a: 6ffa move\.d \[\$acr\],\$acr + 16c: bf09 jump \$acr + 16e: b005 nop \.\.\. -000001ce : - 1ce: 6f0d ..00 0000 addo\.d .* - 1d4: 6ffa move\.d \[\$acr\],\$acr - 1d6: bf09 jump \$acr - 1d8: b005 nop - 1da: 3f7e .... .... move .*,\$mof - 1e0: bf0e .... .... ba .* - 1e6: b005 nop +0000017a : + 17a: 6f0d ..00 0000 addo\.d .* + 180: 6ffa move\.d \[\$acr\],\$acr + 182: bf09 jump \$acr + 184: b005 nop + 186: 3f7e .... .... move .*,\$mof + 18c: bf0e .... .... ba .* + 192: b005 nop #... - 1e8: 6f0d ..00 0000 addo\.d .* - 1ee: 6ffa move\.d \[\$acr\],\$acr - 1f0: bf09 jump \$acr - 1f2: b005 nop - 1f4: 3f7e .... .... move .*,\$mof - 1fa: bf0e .... .... ba .* - 200: b005 nop + 194: 6f0d ..00 0000 addo\.d .* + 19a: 6ffa move\.d \[\$acr\],\$acr + 19c: bf09 jump \$acr + 19e: b005 nop + 1a0: 3f7e .... .... move .*,\$mof + 1a6: bf0e .... .... ba .* + 1ac: b005 nop Disassembly of section \.text: #... -0+202 : - 202: bfbe e6ff ffff bsr 1e8 <.*> - 208: b005 nop - -0+20a : - 20a: 7f0d ae20 0000 lapc 22b8 <_GLOBAL_OFFSET_TABLE_>,\$r0 - 210: 5f0d ..00 addo\.w 0x..,\$r0,\$acr - 214: bfbe baff ffff bsr 1ce +0+1ae : + 1ae: bfbe e6ff ffff bsr 194 <.*> + 1b4: b005 nop + +0+1b6 : + 1b6: 7f0d ae20 0000 lapc 2264 <_GLOBAL_OFFSET_TABLE_>,\$r0 + 1bc: 5f0d ..00 addo\.w 0x..,\$r0,\$acr + 1c0: bfbe baff ffff bsr 17a #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/gotplt1.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/gotplt1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/gotplt1.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/gotplt1.d 2018-06-13 10:31:39.000000000 +0200 @@ -19,30 +19,30 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -00082280 R_CRIS_JUMP_SLOT dsofn +00082224 R_CRIS_JUMP_SLOT dsofn Contents of section .* #... Contents of section \.rela\.plt: - 80190 80220800 0b040000 00000000 .* + 80134 24220800 0b010000 00000000 .* Contents of section \.plt: - 8019c fce17e7e 7f0d7822 0800307a 7f0d7c22 .* - 801ac 08003009 7f0d8022 08003009 3f7e0000 .* - 801bc 00002ffe d8ffffff .* + 80140 fce17e7e 7f0d1c22 0800307a 7f0d2022 .* + 80150 08003009 7f0d2422 08003009 3f7e0000 .* + 80160 00002ffe d8ffffff .* Contents of section \.text: - 801c4 5f1d0c00 30096f1d 0c000000 30090000 .* - 801d4 6f0d1000 0000611a 6f2eb001 08000000 .* - 801e4 6f3e70df ffff0000 .* + 80168 5f1d0c00 30096f1d 0c000000 30090000 .* + 80178 6f0d1000 0000611a 6f2e5401 08000000 .* + 80188 6f3e70df ffff0000 .* Contents of section \.dynamic: - 821ec 01000000 01000000 04000000 e4000800 .* - 821fc 05000000 5c010800 06000000 0c010800 .* - 8220c 0a000000 32000000 0b000000 10000000 .* - 8221c 15000000 00000000 03000000 74220800 .* - 8222c 02000000 0c000000 14000000 07000000 .* - 8223c 17000000 90010800 00000000 00000000 .* - 8224c 00000000 00000000 00000000 00000000 .* - 8225c 00000000 00000000 00000000 00000000 .* - 8226c 00000000 00000000 .* + 82190 01000000 01000000 04000000 e4000800 .* + 821a0 05000000 18010800 06000000 f8000800 .* + 821b0 0a000000 1a000000 0b000000 10000000 .* + 821c0 15000000 00000000 03000000 18220800 .* + 821d0 02000000 0c000000 14000000 07000000 .* + 821e0 17000000 34010800 00000000 00000000 .* + 821f0 00000000 00000000 00000000 00000000 .* + 82200 00000000 00000000 00000000 00000000 .* + 82210 00000000 00000000 .* Contents of section \.got: - 82274 ec210800 00000000 00000000 b8010800 .* - 82284 b0010800 .* + 82218 90210800 00000000 00000000 5c010800 .* + 82228 54010800 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/gotplt2.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/gotplt2.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/gotplt2.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/gotplt2.d 2018-06-13 10:31:39.000000000 +0200 @@ -16,22 +16,22 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -00002230 R_CRIS_GLOB_DAT dsofn +000021e4 R_CRIS_GLOB_DAT dsofn Contents of section .* #... Contents of section \.rela\.got: - 0188 30220000 0a080000 00000000 .* + 013c e4210000 0a050000 00000000 .* Contents of section \.text: - 0194 5f1d0c00 30096f1d 0c000000 30090000 .* - 01a4 6f0d0c00 0000611a 6f3e88df ffff0000 .* + 0148 5f1d0c00 30096f1d 0c000000 30090000 .* + 0158 6f0d0c00 0000611a 6f3e88df ffff0000 .* Contents of section \.dynamic: - 21b4 04000000 94000000 05000000 5c010000 .* - 21c4 06000000 cc000000 0a000000 2a000000 .* - 21d4 0b000000 10000000 07000000 88010000 .* - 21e4 08000000 0c000000 09000000 0c000000 .* - 21f4 00000000 00000000 00000000 00000000 .* - 2204 00000000 00000000 00000000 00000000 .* - 2214 00000000 00000000 00000000 00000000 .* + 2168 04000000 94000000 05000000 20010000 .* + 2178 06000000 c0000000 0a000000 19000000 .* + 2188 0b000000 10000000 07000000 3c010000 .* + 2198 08000000 0c000000 09000000 0c000000 .* + 21a8 00000000 00000000 00000000 00000000 .* + 21b8 00000000 00000000 00000000 00000000 .* + 21c8 00000000 00000000 00000000 00000000 .* Contents of section \.got: - 2224 b4210000 00000000 00000000 00000000 .* + 21d8 68210000 00000000 00000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/gotplt3.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/gotplt3.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/gotplt3.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/gotplt3.d 2018-06-13 10:31:39.000000000 +0200 @@ -13,23 +13,23 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -00002234 R_CRIS_GLOB_DAT dsofn +000021e8 R_CRIS_GLOB_DAT dsofn Contents of section .* #... Contents of section \.rela\.got: - 0188 34220000 0a080000 00000000 .* + 013c e8210000 0a050000 00000000 .* Contents of section \.text: - 0194 5f1d0c00 30096f1d 0c000000 30090000 .* - 01a4 6f0d0c00 0000611a 6f3e84df ffff0000 .* - 01b4 0f050000 .* + 0148 5f1d0c00 30096f1d 0c000000 30090000 .* + 0158 6f0d0c00 0000611a 6f3e84df ffff0000 .* + 0168 0f050000 .* Contents of section \.dynamic: - 21b8 04000000 94000000 05000000 5c010000 .* - 21c8 06000000 cc000000 0a000000 2a000000 .* - 21d8 0b000000 10000000 07000000 88010000 .* - 21e8 08000000 0c000000 09000000 0c000000 .* - 21f8 00000000 00000000 00000000 00000000 .* - 2208 00000000 00000000 00000000 00000000 .* - 2218 00000000 00000000 00000000 00000000 .* + 216c 04000000 94000000 05000000 20010000 .* + 217c 06000000 c0000000 0a000000 19000000 .* + 218c 0b000000 10000000 07000000 3c010000 .* + 219c 08000000 0c000000 09000000 0c000000 .* + 21ac 00000000 00000000 00000000 00000000 .* + 21bc 00000000 00000000 00000000 00000000 .* + 21cc 00000000 00000000 00000000 00000000 .* Contents of section \.got: - 2228 b8210000 00000000 00000000 00000000 .* + 21dc 6c210000 00000000 00000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/hiddef1.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/hiddef1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/hiddef1.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/hiddef1.d 2018-06-13 10:31:39.000000000 +0200 @@ -22,7 +22,7 @@ #... [0-9a-f]+ 0+c R_CRIS_RELATIVE +[0-9a-f]+ #... -Symbol table '\.dynsym' contains 6 entries: +Symbol table '\.dynsym' contains 3 entries: #... -Symbol table '\.symtab' contains 18 entries: +Symbol table '\.symtab' contains 15 entries: #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-10.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-10.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-10.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-10.d 2018-06-13 10:31:39.000000000 +0200 @@ -9,29 +9,29 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+144 memsz 0x0+144 flags r-x - LOAD off 0x0+144 vaddr 0x0+2144 paddr 0x0+2144 align 2\*\*13 + filesz 0x0+e8 memsz 0x0+e8 flags r-x + LOAD off 0x0+e8 vaddr 0x0+20e8 paddr 0x0+20e8 align 2\*\*13 filesz 0x0+64 memsz 0x0+64 flags rw- - DYNAMIC off 0x0+144 vaddr 0x0+2144 paddr 0x0+2144 align 2\*\*2 + DYNAMIC off 0x0+e8 vaddr 0x0+20e8 paddr 0x0+20e8 align 2\*\*2 filesz 0x0+58 memsz 0x0+58 flags rw- Dynamic Section: HASH.*0x0*94 - STRTAB.*0x0*120 - SYMTAB.*0x0*c0 - STRSZ.*0x0*1f + STRTAB.*0x0*dc + SYMTAB.*0x0*ac + STRSZ.*0x0*7 SYMENT.*0x0*10 private flags = 2: \[v32\] Sections: Idx Name Size VMA LMA File off Algn - 0 \.hash 0+2c 0+94 0+94 0+94 2\*\*2 + 0 \.hash 0+18 0+94 0+94 0+94 2\*\*2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 1 \.dynsym 0+60 0+c0 0+c0 0+c0 2\*\*2 + 1 \.dynsym 0+30 0+ac 0+ac 0+ac 2\*\*2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 2 \.dynstr 0+1f 0+120 0+120 0+120 2\*\*0 + 2 \.dynstr 0+7 0+dc 0+dc 0+dc 2\*\*0 CONTENTS, ALLOC, LOAD, READONLY, DATA - 3 \.text 0+4 0+140 0+140 0+140 2\*\*1 + 3 \.text 0+4 0+e4 0+e4 0+e4 2\*\*1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 4 \.dynamic 0+58 0+2144 0+2144 0+144 2\*\*2 + 4 \.dynamic 0+58 0+20e8 0+20e8 0+e8 2\*\*2 CONTENTS, ALLOC, LOAD, DATA - 5 \.got 0+c 0+219c 0+219c 0+19c 2\*\*2 + 5 \.got 0+c 0+2140 0+2140 0+140 2\*\*2 CONTENTS, ALLOC, LOAD, DATA diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-11.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-11.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-11.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-11.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,20 +8,20 @@ DYNAMIC SYMBOL TABLE: #... -0+1a0 g DF \.text 0+8 dsofn3 +0+144 g DF \.text 0+8 dsofn3 #... -0+19c g DF \.text 0+2 dsofn +0+140 g DF \.text 0+2 dsofn #... Contents of section \.rela\.plt: - 015c 2c220000 0b060000 00000000 .* + 0100 d0210000 0b030000 00000000 .* Contents of section \.plt: - 0168 84e20401 7e7a3f7a 04f26ffa bf09b005 .* - 0178 00000000 00000000 00006f0d 0c000000 .* - 0188 6ffabf09 b0053f7e 00000000 bf0ed4ff .* - 0198 ffffb005 .* + 010c 84e20401 7e7a3f7a 04f26ffa bf09b005 .* + 011c 00000000 00000000 00006f0d 0c000000 .* + 012c 6ffabf09 b0053f7e 00000000 bf0ed4ff .* + 013c ffffb005 .* Contents of section \.text: - 019c b0050000 bfbee2ff ffffb005 .* + 0140 b0050000 bfbee2ff ffffb005 .* Contents of section \.dynamic: #... Contents of section \.got: - 2220 a8210000 00000000 00000000 8e010000 .* + 21c4 4c210000 00000000 00000000 32010000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-12b.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-12b.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-12b.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-12b.d 2018-06-13 10:31:39.000000000 +0200 @@ -11,40 +11,40 @@ DYNAMIC SYMBOL TABLE: #... -0+23e g DF \.text 0+12 dsofn4 -0+234 g DF \.text 0+2 expfn -0+22fc g DO \.data 0+4 expobj +0+1f2 g DF \.text 0+12 dsofn4 +0+1e8 g DF \.text 0+2 expfn +0+22b0 g DO \.data 0+4 expobj #... -0+236 g DF \.text 0+8 dsofn3 +0+1ea g DF \.text 0+8 dsofn3 #... 0+ D \*UND\* 0+ dsofn #... Contents of section \.rela\.dyn: - 01c0 f8220000 0a040000 00000000 .* + 0174 ac220000 0a040000 00000000 .* Contents of section \.rela\.plt: - 01cc f0220000 0b020000 00000000 f4220000 .* - 01dc 0b0a0000 00000000 .* + 0180 a4220000 0b020000 00000000 a8220000 .* + 0190 0b070000 00000000 .* Contents of section \.plt: - 01e4 84e20401 7e7a3f7a 04f26ffa bf09b005 .* - 01f4 00000000 00000000 00006f0d 0c000000 .* - 0204 6ffabf09 b0053f7e 00000000 bf0ed4ff .* - 0214 ffffb005 6f0d1000 00006ffa bf09b005 .* - 0224 3f7e0c00 0000bf0e baffffff b005 .* + 0198 84e20401 7e7a3f7a 04f26ffa bf09b005 .* + 01a8 00000000 00000000 00006f0d 0c000000 .* + 01b8 6ffabf09 b0053f7e 00000000 bf0ed4ff .* + 01c8 ffffb005 6f0d1000 00006ffa bf09b005 .* + 01d8 3f7e0c00 0000bf0e baffffff b005 .* Contents of section \.text: - 0232 b005b005 bfbee2ff ffffb005 7f0da620 .* - 0242 00005f0d 1400bfbe b6ffffff b0050000 .* + 01e6 b005b005 bfbee2ff ffffb005 7f0da620 .* + 01f6 00005f0d 1400bfbe b6ffffff b0050000 .* Contents of section \.dynamic: - 2254 04000000 94000000 05000000 84010000 .* - 2264 06000000 d4000000 0a000000 3a000000 .* - 2274 0b000000 10000000 03000000 e4220000 .* - 2284 02000000 18000000 14000000 07000000 .* - 2294 17000000 cc010000 07000000 c0010000 .* - 22a4 08000000 0c000000 09000000 0c000000 .* - 22b4 00000000 00000000 00000000 00000000 .* - 22c4 00000000 00000000 00000000 00000000 .* - 22d4 00000000 00000000 00000000 00000000 .* + 2208 04000000 94000000 05000000 48010000 .* + 2218 06000000 c8000000 0a000000 29000000 .* + 2228 0b000000 10000000 03000000 98220000 .* + 2238 02000000 18000000 14000000 07000000 .* + 2248 17000000 80010000 07000000 74010000 .* + 2258 08000000 0c000000 09000000 0c000000 .* + 2268 00000000 00000000 00000000 00000000 .* + 2278 00000000 00000000 00000000 00000000 .* + 2288 00000000 00000000 00000000 00000000 .* Contents of section \.got: - 22e4 54220000 00000000 00000000 0a020000 .* - 22f4 24020000 00000000 .* + 2298 08220000 00000000 00000000 be010000 .* + 22a8 d8010000 00000000 .* Contents of section \.data: - 22fc 00000000 .* + 22b0 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-12c.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-12c.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-12c.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-12c.d 2018-06-13 10:31:39.000000000 +0200 @@ -14,28 +14,28 @@ DYNAMIC SYMBOL TABLE: #... -0+202 g[ ]+DF \.text 0+2 Base[ ]+expfn -0+22bc g[ ]+DO \.data 0+4 Base[ ]+expobj +0+1ae g[ ]+DF \.text 0+2 Base[ ]+expfn +0+2268 g[ ]+DO \.data 0+4 Base[ ]+expobj #... -0+204 g[ ]+DF \.text 0+8 Base[ ]+dsofn3 +0+1b0 g[ ]+DF \.text 0+8 Base[ ]+dsofn3 #... Contents of section \.rela\.dyn: - 01f4 b8220000 0a040000 00000000 .* + 01a0 64220000 0a040000 00000000 .* Contents of section \.text: - 0200 b005b005 bfbe1c00 0000b005 7f0da020 .* - 0210 00005f0d 0c00bfbe f6ffffff b0050000 .* - 0220 b0050000 .* + 01ac b005b005 bfbe1c00 0000b005 7f0da020 .* + 01bc 00005f0d 0c00bfbe f6ffffff b0050000 .* + 01cc b0050000 .* Contents of section .dynamic: - 2224 04000000 94000000 05000000 70010000 .* - 2234 06000000 d0000000 0a000000 37000000 .* - 2244 0b000000 10000000 07000000 f4010000 .* - 2254 08000000 0c000000 09000000 0c000000 .* - 2264 fcffff6f bc010000 fdffff6f 02000000 .* - 2274 f0ffff6f a8010000 00000000 00000000 .* - 2284 00000000 00000000 00000000 00000000 .* - 2294 00000000 00000000 00000000 00000000 .* - 22a4 00000000 00000000 .* + 21d0 04000000 94000000 05000000 34010000 .* + 21e0 06000000 c4000000 0a000000 26000000 .* + 21f0 0b000000 10000000 07000000 a0010000 .* + 2200 08000000 0c000000 09000000 0c000000 .* + 2210 fcffff6f 68010000 fdffff6f 02000000 .* + 2220 f0ffff6f 5a010000 00000000 00000000 .* + 2230 00000000 00000000 00000000 00000000 .* + 2240 00000000 00000000 00000000 00000000 .* + 2250 00000000 00000000 .* Contents of section \.got: - 22ac 24220000 00000000 00000000 00000000 .* + 2258 d0210000 00000000 00000000 00000000 .* Contents of section \.data: - 22bc 00000000 .* + 2268 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-12.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-12.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-12.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-12.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,40 +12,40 @@ DYNAMIC SYMBOL TABLE: #... -0+23e g DF \.text 0+12 dsofn4 -0+234 g DF \.text 0+2 expfn -0+22fc g DO \.data 0+4 expobj +0+1f2 g DF \.text 0+12 dsofn4 +0+1e8 g DF \.text 0+2 expfn +0+22b0 g DO \.data 0+4 expobj #... -0+236 g DF \.text 0+8 dsofn3 +0+1ea g DF \.text 0+8 dsofn3 #... 0+ D \*UND\* 0+ dsofn #... Contents of section \.rela\.got: - 01c0 f8220000 0a040000 00000000 .* + 0174 ac220000 0a040000 00000000 .* Contents of section \.rela\.plt: - 01cc f0220000 0b020000 00000000 f4220000 .* - 01dc 0b0a0000 00000000 .* + 0180 a4220000 0b020000 00000000 a8220000 .* + 0190 0b070000 00000000 .* Contents of section \.plt: - 01e4 84e20401 7e7a3f7a 04f26ffa bf09b005 .* - 01f4 00000000 00000000 00006f0d 0c000000 .* - 0204 6ffabf09 b0053f7e 00000000 bf0ed4ff .* - 0214 ffffb005 6f0d1000 00006ffa bf09b005 .* - 0224 3f7e0c00 0000bf0e baffffff b005 .* + 0198 84e20401 7e7a3f7a 04f26ffa bf09b005 .* + 01a8 00000000 00000000 00006f0d 0c000000 .* + 01b8 6ffabf09 b0053f7e 00000000 bf0ed4ff .* + 01c8 ffffb005 6f0d1000 00006ffa bf09b005 .* + 01d8 3f7e0c00 0000bf0e baffffff b005 .* Contents of section \.text: - 0232 b005b005 bfbee2ff ffffb005 7f0da620 .* - 0242 00005f0d 1400bfbe b6ffffff b0050000 .* + 01e6 b005b005 bfbee2ff ffffb005 7f0da620 .* + 01f6 00005f0d 1400bfbe b6ffffff b0050000 .* Contents of section \.dynamic: - 2254 04000000 94000000 05000000 84010000 .* - 2264 06000000 d4000000 0a000000 3a000000 .* - 2274 0b000000 10000000 03000000 e4220000 .* - 2284 02000000 18000000 14000000 07000000 .* - 2294 17000000 cc010000 07000000 c0010000 .* - 22a4 08000000 0c000000 09000000 0c000000 .* - 22b4 00000000 00000000 00000000 00000000 .* - 22c4 00000000 00000000 00000000 00000000 .* - 22d4 00000000 00000000 00000000 00000000 .* + 2208 04000000 94000000 05000000 48010000 .* + 2218 06000000 c8000000 0a000000 29000000 .* + 2228 0b000000 10000000 03000000 98220000 .* + 2238 02000000 18000000 14000000 07000000 .* + 2248 17000000 80010000 07000000 74010000 .* + 2258 08000000 0c000000 09000000 0c000000 .* + 2268 00000000 00000000 00000000 00000000 .* + 2278 00000000 00000000 00000000 00000000 .* + 2288 00000000 00000000 00000000 00000000 .* Contents of section \.got: - 22e4 54220000 00000000 00000000 0a020000 .* - 22f4 24020000 00000000 .* + 2298 08220000 00000000 00000000 be010000 .* + 22a8 d8010000 00000000 .* Contents of section \.data: - 22fc 00000000 .* + 22b0 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-13b.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-13b.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-13b.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-13b.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,7 +8,7 @@ # script hiding the function called pcrel-without-plt. There should # be no warning, no relocations in the output and no TEXTREL marking. -Dynamic section at offset 0x1b0 contains 9 entries: +Dynamic section at offset 0x150 contains 9 entries: Tag Type Name/Value 0x00000004 \(HASH\) .* 0x00000005 \(STRTAB\) .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-13.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-13.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-13.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-13.d 2018-06-13 10:31:39.000000000 +0200 @@ -15,9 +15,9 @@ Dynamic section at offset 0x[0-9a-f][0-9a-f][0-9a-f] contains 11 entries: Tag[ ]+Type[ ]+Name/Value 0x0+4 \(HASH\)[ ]+0x94 - 0x0+5 \(STRTAB\)[ ]+0x[12][0-9a-f][0-9a-f] + 0x0+5 \(STRTAB\)[ ]+0x[0-9a-f][0-9a-f] 0x0+6 \(SYMTAB\)[ ]+0x[0-9a-f][0-9a-f] - 0x0+a \(STRSZ\)[ ]+38 \(bytes\) + 0x0+a \(STRSZ\)[ ]+14 \(bytes\) 0x0+b \(SYMENT\)[ ]+16 \(bytes\) 0x0+7 \(RELA\)[ ]+0x[12][0-9a-f][0-9a-f] 0x0+8 \(RELASZ\)[ ]+12 \(bytes\) diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-14.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-14.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-14.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-14.d 2018-06-13 10:31:39.000000000 +0200 @@ -7,12 +7,12 @@ # Checking that a bsr to a non-PLT-decorated nonvisible function # doesn't make the DSO textrel. -Dynamic section at offset 0x16c contains 6 entries: +Dynamic section at offset 0x110 contains 6 entries: Tag[ ]+Type[ ]+Name/Value 0x0+4 \(HASH\)[ ]+0x94 - 0x0+5 \(STRTAB\)[ ]+0x134 - 0x0+6 \(SYMTAB\)[ ]+0xc4 - 0x0+a \(STRSZ\)[ ]+38 \(bytes\) + 0x0+5 \(STRTAB\)[ ]+0xf0 + 0x0+6 \(SYMTAB\)[ ]+0xb0 + 0x0+a \(STRSZ\)[ ]+14 \(bytes\) 0x0+b \(SYMENT\)[ ]+16 \(bytes\) 0x0+ \(NULL\)[ ]+0x0 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-15b.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-15b.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-15b.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-15b.d 2018-06-13 10:31:39.000000000 +0200 @@ -22,17 +22,17 @@ 0+[ ]+DF \*UND\*[ ]+0+ TST3[ ]+expfn2 #... Contents of section .rela.dyn: - 01d4 fc220000 0a040000 00000000 00230000 .* - 01e4 0a050000 00000000 .* + 017c a4220000 0a040000 00000000 a8220000 .* + 018c 0a050000 00000000 .* Contents of section .plt: - 01ec fce17e7e 0401307a 08013009 00000000 .* - 01fc 00000000 6f0d0c00 00003009 3f7e0000 .* - 020c 00002ffe ecffffff 6f0d1000 00003009 .* - 021c 3f7e0000 00002ffe ecffffff .* + 0194 fce17e7e 0401307a 08013009 00000000 .* + 01a4 00000000 6f0d0c00 00003009 3f7e0000 .* + 01b4 00002ffe ecffffff 6f0d1000 00003009 .* + 01c4 3f7e0000 00002ffe ecffffff .* Contents of section .text: - 0228 6fae0c00 00006fae ccffffff 6fae1000 .* - 0238 00006fae d4ffffff .* + 01d0 6fae0c00 00006fae ccffffff 6fae1000 .* + 01e0 00006fae d4ffffff .* #... Contents of section .got: - 22f0 40220000 00000000 00000000 00000000 .* - 2300 00000000 .* + 2298 e8210000 00000000 00000000 00000000 .* + 22a8 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-15.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-15.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-15.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-15.d 2018-06-13 10:31:39.000000000 +0200 @@ -10,15 +10,15 @@ DYNAMIC SYMBOL TABLE: #... -0+2288 g[ ]+DO .data[ ]+0+4 TST3[ ]+__expobj2 -0+20a g[ ]+DF .text[ ]+0+2 TST3[ ]+__expfn2 -0+20a w[ ]+DF .text[ ]+0+2 TST3[ ]+expfn2 -0+2288 w[ ]+DO .data[ ]+0+4 TST3[ ]+expobj2 +0+2238 g[ ]+DO .data[ ]+0+4 TST3[ ]+__expobj2 +0+1ba g[ ]+DF .text[ ]+0+2 TST3[ ]+__expfn2 +0+1ba w[ ]+DF .text[ ]+0+2 TST3[ ]+expfn2 +0+2238 w[ ]+DO .data[ ]+0+4 TST3[ ]+expobj2 #... Contents of section .text: - 0208 0f050f05 .* + 01b8 0f050f05 .* #... Contents of section .got: - 227c 0c220000 00000000 00000000 .* + 222c bc210000 00000000 00000000 .* Contents of section .data: - 2288 00000000 .* + 2238 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-1c.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-1c.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-1c.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-1c.d 2018-06-13 10:31:39.000000000 +0200 @@ -19,17 +19,17 @@ 0+[ ]+DF \*UND\* 0+[ ]+TST2[ ]+expfn #... Contents of section .rela.dyn: - 01a4 cc220000 0a030000 00000000 d0220000 .* - 01b4 0a040000 00000000 .* + 0140 68220000 0a020000 00000000 6c220000 .* + 0150 0a030000 00000000 .* Contents of section .plt: - 01bc fce17e7e 0401307a 08013009 00000000 .* - 01cc 00000000 6f0d0c00 00003009 3f7e0000 .* - 01dc 00002ffe ecffffff 6f0d1000 00003009 .* - 01ec 3f7e0000 00002ffe ecffffff .* + 0158 fce17e7e 0401307a 08013009 00000000 .* + 0168 00000000 6f0d0c00 00003009 3f7e0000 .* + 0178 00002ffe ecffffff 6f0d1000 00003009 .* + 0188 3f7e0000 00002ffe ecffffff .* Contents of section .text: - 01f8 6fae0c00 00006fae ccffffff 6fae1000 .* - 0208 00006fae d4ffffff .* + 0194 6fae0c00 00006fae ccffffff 6fae1000 .* + 01a4 00006fae d4ffffff .* #... Contents of section .got: - 22c0 10220000 00000000 00000000 00000000 .* - 22d0 00000000 .* + 225c ac210000 00000000 00000000 00000000 .* + 226c 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-1.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-1.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-1.d 2018-06-13 10:31:39.000000000 +0200 @@ -4,10 +4,12 @@ #objdump: -T # Just check that we actually got a DSO with the dsofn symbol. +# The pattern also makes sure that the address (modulo 16) is non-zero +# and even. .*: file format elf32-cris DYNAMIC SYMBOL TABLE: #... -00000[12].[02468ace] g DF .text 0+2 dsofn +0+[^0]+0*[02468ace] g DF .text 0+2 dsofn #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-1d.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-1d.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-1d.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-1d.d 2018-06-13 10:31:39.000000000 +0200 @@ -13,24 +13,24 @@ DYNAMIC SYMBOL TABLE: #... -0+1f2 w DF .text 0+2 expfn -0+22a0 w DO .data 0+4 expobj +0+1a6 w DF .text 0+2 expfn +0+2254 w DO .data 0+4 expobj #... Contents of section .rela.dyn: - 0184 98220000 0a020000 00000000 9c220000 .* - 0194 0a030000 00000000 .* + 0138 4c220000 0a020000 00000000 50220000 .* + 0148 0a030000 00000000 .* Contents of section .plt: - 019c fce17e7e 0401307a 08013009 00000000 .* - 01ac 00000000 6f0d0c00 00003009 3f7e0000 .* - 01bc 00002ffe ecffffff 6f0d1000 00003009 .* - 01cc 3f7e0000 00002ffe ecffffff .* + 0150 fce17e7e 0401307a 08013009 00000000 .* + 0160 00000000 6f0d0c00 00003009 3f7e0000 .* + 0170 00002ffe ecffffff 6f0d1000 00003009 .* + 0180 3f7e0000 00002ffe ecffffff .* Contents of section .text: - 01d8 6fae1000 00006fae e0ffffff 6fae0c00 .* - 01e8 00006fae c0ffffff 0f050f05 .* + 018c 6fae1000 00006fae e0ffffff 6fae0c00 .* + 019c 00006fae c0ffffff 0f050f05 .* Contents of section .dynamic: #... Contents of section .got: - 228c f4210000 00000000 00000000 00000000 .* - 229c 00000000 .* + 2240 a8210000 00000000 00000000 00000000 .* + 2250 00000000 .* Contents of section .data: - 22a0 00000000 .* + 2254 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-2.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-2.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/libdso-2.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/libdso-2.d 2018-06-13 10:31:39.000000000 +0200 @@ -36,7 +36,7 @@ +2: 0+ +0 +OBJECT +GLOBAL +DEFAULT +ABS TST1 +3: 0+154 +0 +FUNC +GLOBAL +DEFAULT +7 export_1@@TST1 -Symbol table '\.symtab' contains 18 entries: +Symbol table '\.symtab' contains 15 entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +1: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +1 @@ -49,10 +49,7 @@ +8: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 +9: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 +10: 0+2..[046c] +0 +OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC - +11: 0+2..[046c] +0 +NOTYPE +LOCAL +DEFAULT +9 __bss_start - +12: 0+2..[046c] +0 +NOTYPE +LOCAL +DEFAULT +9 _edata - +13: 0+2..[046c] +0 +OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ - +14: 0+2..[046c] +0 +NOTYPE +LOCAL +DEFAULT +9 _end - +15: 0+150 +2 +FUNC +LOCAL +DEFAULT +7 dsofn - +16: 0+ +0 +OBJECT +GLOBAL +DEFAULT +ABS TST1 - +17: 0+154 +0 +FUNC +GLOBAL +DEFAULT +7 export_1 + +11: 0+2..[046c] +0 +OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ + +12: 0+150 +2 +FUNC +LOCAL +DEFAULT +7 dsofn + +13: 0+ +0 +OBJECT +GLOBAL +DEFAULT +ABS TST1 + +14: 0+154 +0 +FUNC +GLOBAL +DEFAULT +7 export_1 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/pic-gc-72.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/pic-gc-72.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/pic-gc-72.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/pic-gc-72.d 2018-06-13 10:31:39.000000000 +0200 @@ -19,11 +19,11 @@ Contents of section .dynstr: #... Contents of section .text: - 016e 0f050f05 .* + 0121 0f050f05 .* Contents of section .dynamic: - 2174 .* + 2128 .* #... Contents of section .got: - 21cc 74210000 00000000 00000000 .* + 2180 28210000 00000000 00000000 .* Contents of section .data: - 21d8 00000000 .* + 218c 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/pic-gc-73.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/pic-gc-73.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/pic-gc-73.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/pic-gc-73.d 2018-06-13 10:31:39.000000000 +0200 @@ -17,10 +17,10 @@ Contents of section .dynstr: #... Contents of section .text: - 016e 0f050f05 .* + 0121 0f050f05 .* Contents of section .dynamic: #... Contents of section .got: - 21cc 74210000 00000000 00000000 .* + 2180 28210000 00000000 00000000 .* Contents of section .data: - 21d8 00000000 .* + 218c 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/pr16044.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/pr16044.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/pr16044.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/pr16044.d 2018-06-13 10:31:39.000000000 +0200 @@ -25,19 +25,16 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entry: Offset[ ]+Info[ ]+Type[ ]+Sym\.Value Sym\. Name \+ Addend -[0-9a-f]+ 0+[0-9a-f]+ R_CRIS_RELATIVE[ ]+184 +[0-9a-f]+ 0+[0-9a-f]+ R_CRIS_RELATIVE[ ]+128 -Symbol table '\.dynsym' contains 7 entries: +Symbol table '\.dynsym' contains 4 entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +1: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +5 +2: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 export_1 - +3: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +7 __bss_start - +4: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +7 _edata - +5: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +7 _end - +6: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 export_2 + +3: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 export_2 Symbol table '\.symtab' contains [0-9]+ entries: #... - +[0-9]+: 0+184 +2 FUNC + LOCAL + DEFAULT + 5 dsofn + +[0-9]+: 0+128 +2 FUNC + LOCAL + DEFAULT + 5 dsofn #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/pv32-1.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/pv32-1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/pv32-1.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/pv32-1.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,33 +8,30 @@ .*: file format elf32-cris DYNAMIC SYMBOL TABLE: -0+8021e DF \*UND\* 0+ expfn -0+82324 g DO \.bss 0+4 expobj -0+82324 g D \.bss 0+ __bss_start -0+80238 DF \*UND\* 0+ dsofn3 -0+82324 g D \.got 0+ _edata -0+82340 g D \.bss 0+ _end -0+80264 g DF \.text 0+8 dsofn +0+801ca DF \*UND\* 0+ expfn +0+822d0 g DO \.bss 0+4 expobj +0+801e4 DF \*UND\* 0+ dsofn3 +0+80210 g DF \.text 0+8 dsofn Contents of section \.interp: 800d4 2f6c6962 2f6c642e 736f2e31 00 .* #... Contents of section \.rela\.dyn: - 801e0 24230800 09020000 00000000 .* + 8018c d0220800 09020000 00000000 .* Contents of section \.rela\.plt: - 801ec 1c230800 0b010000 00000000 20230800 .* - 801fc 0b040000 00000000 .* + 80198 c8220800 0b010000 00000000 cc220800 .* + 801a8 0b030000 00000000 .* Contents of section \.plt: - 80204 84e26ffe 14230800 7e7a3f7a 04f26ffa .* - 80214 bf09b005 00000000 00006ffe 1c230800 .* - 80224 6ffabf09 b0053f7e 00000000 bf0ed4ff .* - 80234 ffffb005 6ffe2023 08006ffa bf09b005 .* - 80244 3f7e0c00 0000bf0e baffffff b005 .* + 801b0 84e26ffe c0220800 7e7a3f7a 04f26ffa .* + 801c0 bf09b005 00000000 00006ffe c8220800 .* + 801d0 6ffabf09 b0053f7e 00000000 bf0ed4ff .* + 801e0 ffffb005 6ffecc22 08006ffa bf09b005 .* + 801f0 3f7e0c00 0000bf0e baffffff b005 .* Contents of section \.text: - 80252 b005bfbe caffffff b005bfbe dcffffff .* - 80262 b0056fae 24230800 b0050000 .* + 801fe b005bfbe caffffff b005bfbe dcffffff .* + 8020e b0056fae d0220800 b0050000 .* Contents of section \.dynamic: #... Contents of section \.got: - 82310 70220800 00000000 00000000 2a020800 .* - 82320 44020800 .* + 822bc 1c220800 00000000 00000000 d6010800 .* + 822cc f0010800 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-dso-dtpoffd2.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-dso-dtpoffd2.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-dso-dtpoffd2.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-dso-dtpoffd2.d 2018-06-13 10:31:39.000000000 +0200 @@ -23,13 +23,13 @@ 0+80 g .tdata 0+4 x #... Contents of section .rela.dyn: - 01a4 b8220000 17030000 00000000 .* + 0154 68220000 17030000 00000000 .* Contents of section .text: - 01b0 41b20000 5fae0c00 .* + 0160 41b20000 5fae0c00 .* #... Contents of section .got: - 22ac 3c220000 00000000 00000000 00000000 .* - 22bc 00000000 .* + 225c ec210000 00000000 00000000 00000000 .* + 226c 00000000 .* Contents of section .debug_info: 0000 80000000 .* #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-dso-dtpoffd4.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-dso-dtpoffd4.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-dso-dtpoffd4.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-dso-dtpoffd4.d 2018-06-13 10:31:39.000000000 +0200 @@ -23,13 +23,13 @@ 0+80 g .tbss 0+4 x #... Contents of section .rela.dyn: - 01a4 b4220000 17030000 00000000 .* + 0154 64220000 17030000 00000000 .* Contents of section .text: - 01b0 41b20000 5fae0c00 .* + 0160 41b20000 5fae0c00 .* #... Contents of section .got: - 22a8 38220000 00000000 00000000 00000000 .* - 22b8 00000000 .* + 2258 e8210000 00000000 00000000 00000000 .* + 2268 00000000 .* Contents of section .debug_info: 0000 80000000 .* #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d 2018-06-13 10:31:39.000000000 +0200 @@ -11,7 +11,7 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+1c8 memsz 0x0+1c8 flags r-x + filesz 0x0+178 memsz 0x0+178 flags r-x LOAD off .* filesz .* DYNAMIC off .* @@ -21,7 +21,7 @@ #... Sections: #... - 7 .got 0+14 0+2240 0+2240 0+240 2\*\*2 + 7 .got 0+14 0+21f0 0+21f0 0+1f0 2\*\*2 CONTENTS, ALLOC, LOAD, DATA SYMBOL TABLE: #... @@ -31,16 +31,16 @@ #... Contents of section .got: - 2240 c8210000 00000000 00000000 00000000 .* - 2250 00000000 .* + 21f0 78210000 00000000 00000000 00000000 .* + 2200 00000000 .* Disassembly of section \.text: -0+1b8 <_start>: - 1b8: 41b2 moveq 1,\$r11 +0+168 <_start>: + 168: 41b2 moveq 1,\$r11 \.\.\. -0+1bc : - 1bc: 2f0e 0c00 0000 add\.d c ,\$r0 - 1c2: 1f1e 1000 add\.w 0x10,\$r1 +0+16c : + 16c: 2f0e 0c00 0000 add\.d c ,\$r0 + 172: 1f1e 1000 add\.w 0x10,\$r1 \.\.\. diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-gc-71.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-gc-71.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-gc-71.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-gc-71.d 2018-06-13 10:31:39.000000000 +0200 @@ -15,18 +15,15 @@ filesz 0x0+80 memsz 0x0+80 flags r-- #... DYNAMIC SYMBOL TABLE: -0+18e l d \.text 0+ \.text -0+2194 l d \.tdata 0+ \.tdata -0+18e g DF \.text 0+2 _init -0+2280 g D \.got 0+ __bss_start +0+132 l d \.text 0+ \.text +0+2138 l d \.tdata 0+ \.tdata +0+132 g DF \.text 0+2 _init 0+ g D .tdata 0+80 tls128 -0+2280 g D \.got 0+ _edata -0+2280 g D \.got 0+ _end DYNAMIC RELOCATION RECORDS \(none\) #... Contents of section \.text: - 018e 0f050000 .* + 0132 0f050000 .* #... Contents of section \.got: - 2274 14220000 00000000 00000000 .* + 2218 b8210000 00000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-gd-1.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-gd-1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-gd-1.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-gd-1.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,21 +12,21 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+1a0 memsz 0x0+1a0 flags r-x - LOAD off 0x0+1a0 vaddr 0x0+21a0 paddr 0x0+21a0 align 2\*\*13 + filesz 0x0+144 memsz 0x0+144 flags r-x + LOAD off 0x0+144 vaddr 0x0+2144 paddr 0x0+2144 align 2\*\*13 filesz 0x0+108 memsz 0x0+108 flags rw- - DYNAMIC off 0x0+224 vaddr 0x0+2224 paddr 0x0+2224 align 2\*\*2 + DYNAMIC off 0x0+1c8 vaddr 0x0+21c8 paddr 0x0+21c8 align 2\*\*2 filesz 0x0+70 memsz 0x0+70 flags rw- - TLS off 0x0+1a0 vaddr 0x0+21a0 paddr 0x0+21a0 align 2\*\*2 + TLS off 0x0+144 vaddr 0x0+2144 paddr 0x0+2144 align 2\*\*2 filesz 0x0+84 memsz 0x0+84 flags r-- Dynamic Section: HASH 0x0+b4 - STRTAB 0x0+168 - SYMTAB 0x0+e8 - STRSZ 0x0+25 + STRTAB 0x0+124 + SYMTAB 0x0+d4 + STRSZ 0x0+d SYMENT 0x0+10 - RELA 0x0+190 + RELA 0x0+134 RELASZ 0x0+c RELAENT 0x0+c private flags = 0: @@ -42,13 +42,13 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+22a0 R_CRIS_DTP x +0+2244 R_CRIS_DTP x Contents of section \.hash: #... Contents of section \.text: - 019c 5fae0c00 .* + 0140 5fae0c00 .* #... Contents of section \.got: - 2294 24220+ 0+ 0+ 0+ .* - 22a4 0+ .* + 2238 c8210+ 0+ 0+ 0+ .* + 2248 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-gd-1h.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-gd-1h.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-gd-1h.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-gd-1h.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,21 +12,21 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+1a4 memsz 0x0+1a4 flags r-x - LOAD off 0x0+1a4 vaddr 0x0+21a4 paddr 0x0+21a4 align 2\*\*13 + filesz 0x0+148 memsz 0x0+148 flags r-x + LOAD off 0x0+148 vaddr 0x0+2148 paddr 0x0+2148 align 2\*\*13 filesz 0x0+108 memsz 0x0+108 flags rw- - DYNAMIC off 0x0+228 vaddr 0x0+2228 paddr 0x0+2228 align 2\*\*2 + DYNAMIC off 0x0+1cc vaddr 0x0+21cc paddr 0x0+21cc align 2\*\*2 filesz 0x0+70 memsz 0x0+70 flags rw- - TLS off 0x0+1a4 vaddr 0x0+21a4 paddr 0x0+21a4 align 2\*\*2 + TLS off 0x0+148 vaddr 0x0+2148 paddr 0x0+2148 align 2\*\*2 filesz 0x0+84 memsz 0x0+84 flags r-- Dynamic Section: HASH 0x0+b4 - STRTAB 0x0+168 - SYMTAB 0x0+e8 - STRSZ 0x0+2a + STRTAB 0x0+124 + SYMTAB 0x0+d4 + STRSZ 0x0+12 SYMENT 0x0+10 - RELA 0x0+194 + RELA 0x0+138 RELASZ 0x0+c RELAENT 0x0+c private flags = 0: @@ -38,13 +38,13 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+22a4 R_CRIS_DTP \*ABS\*\+0x0+80 +0+2248 R_CRIS_DTP \*ABS\*\+0x0+80 Contents of section \.hash: #... Contents of section \.text: - 01a0 5fae0c00 .* + 0144 5fae0c00 .* #... Contents of section \.got: - 2298 28220+ 0+ 0+ 0+ .* - 22a8 0+ .* + 223c cc210+ 0+ 0+ 0+ .* + 224c 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-gd-2.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-gd-2.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-gd-2.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-gd-2.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,21 +12,21 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+1bc memsz 0x0+1bc flags r-x - LOAD off 0x0+1bc vaddr 0x0+21bc paddr 0x0+21bc align 2\*\*13 + filesz 0x0+168 memsz 0x0+168 flags r-x + LOAD off 0x0+168 vaddr 0x0+2168 paddr 0x0+2168 align 2\*\*13 filesz 0x0+108 memsz 0x0+108 flags rw- - DYNAMIC off 0x0+240 vaddr 0x0+2240 paddr 0x0+2240 align 2\*\*2 + DYNAMIC off 0x0+1ec vaddr 0x0+21ec paddr 0x0+21ec align 2\*\*2 filesz 0x0+70 memsz 0x0+70 flags rw- - TLS off 0x0+1bc vaddr 0x0+21bc paddr 0x0+21bc align 2\*\*2 + TLS off 0x0+168 vaddr 0x0+2168 paddr 0x0+2168 align 2\*\*2 filesz 0x0+84 memsz 0x0+84 flags r-- Dynamic Section: HASH 0x0+b4 - STRTAB 0x0+17c - SYMTAB 0x0+ec - STRSZ 0x0+2c + STRTAB 0x0+140 + SYMTAB 0x0+e0 + STRSZ 0x0+14 SYMENT 0x0+10 - RELA 0x0+1a8 + RELA 0x0+154 RELASZ 0x0+c RELAENT 0x0+c private flags = 0: @@ -42,13 +42,13 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+22bc R_CRIS_DTP x +0+2268 R_CRIS_DTP x Contents of section \.hash: #... Contents of section \.text: - 01b4 6fae0c00 00000000 .* + 0160 6fae0c00 00000000 .* #... Contents of section \.got: - 22b0 40220+ 0+ 0+ 0+ .* - 22c0 0+ .* + 225c ec210+ 0+ 0+ 0+ .* + 226c 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-gd-2h.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-gd-2h.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-gd-2h.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-gd-2h.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,21 +12,21 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+1a8 memsz 0x0+1a8 flags r-x - LOAD off 0x0+1a8 vaddr 0x0+21a8 paddr 0x0+21a8 align 2\*\*13 + filesz 0x0+14c memsz 0x0+14c flags r-x + LOAD off 0x0+14c vaddr 0x0+214c paddr 0x0+214c align 2\*\*13 filesz 0x0+108 memsz 0x0+108 flags rw- - DYNAMIC off 0x0+22c vaddr 0x0+222c paddr 0x0+222c align 2\*\*2 + DYNAMIC off 0x0+1d0 vaddr 0x0+21d0 paddr 0x0+21d0 align 2\*\*2 filesz 0x0+70 memsz 0x0+70 flags rw- - TLS off 0x0+1a8 vaddr 0x0+21a8 paddr 0x0+21a8 align 2\*\*2 + TLS off 0x0+14c vaddr 0x0+214c paddr 0x0+214c align 2\*\*2 filesz 0x0+84 memsz 0x0+84 flags r-- Dynamic Section: HASH 0x0+b4 - STRTAB 0x0+168 - SYMTAB 0x0+e8 - STRSZ 0x0+2a + STRTAB 0x0+124 + SYMTAB 0x0+d4 + STRSZ 0x0+12 SYMENT 0x0+10 - RELA 0x0+194 + RELA 0x0+138 RELASZ 0x0+c RELAENT 0x0+c private flags = 0: @@ -38,13 +38,13 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+22a8 R_CRIS_DTP \*ABS\*\+0x0+80 +0+224c R_CRIS_DTP \*ABS\*\+0x0+80 Contents of section \.hash: #... Contents of section \.text: - 01a0 6fae0c00 00000000 .* + 0144 6fae0c00 00000000 .* #... Contents of section \.got: - 229c 2c220+ 0+ 0+ 0+ .* - 22ac 0+ .* + 2240 d0210+ 0+ 0+ 0+ .* + 2250 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ie-10.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ie-10.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ie-10.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ie-10.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,21 +12,21 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+1c0 memsz 0x0+1c0 flags r-x - LOAD off 0x0+1c0 vaddr 0x0+21c0 paddr 0x0+21c0 align 2\*\*13 + filesz 0x0+16c memsz 0x0+16c flags r-x + LOAD off 0x0+16c vaddr 0x0+216c paddr 0x0+216c align 2\*\*13 filesz 0x0+10c memsz 0x0+10c flags rw- - DYNAMIC off 0x0+244 vaddr 0x0+2244 paddr 0x0+2244 align 2\*\*2 + DYNAMIC off 0x0+1f0 vaddr 0x0+21f0 paddr 0x0+21f0 align 2\*\*2 filesz 0x0+78 memsz 0x0+78 flags rw- - TLS off 0x0+1c0 vaddr 0x0+21c0 paddr 0x0+21c0 align 2\*\*2 + TLS off 0x0+16c vaddr 0x0+216c paddr 0x0+216c align 2\*\*2 filesz 0x0+84 memsz 0x0+84 flags r-- Dynamic Section: HASH 0x0+b4 - STRTAB 0x0+17c - SYMTAB 0x0+ec - STRSZ 0x0+2d + STRTAB 0x0+140 + SYMTAB 0x0+e0 + STRSZ 0x0+15 SYMENT 0x0+10 - RELA 0x0+1ac + RELA 0x0+158 RELASZ 0x0+c RELAENT 0x0+c FLAGS 0x0+10 @@ -43,12 +43,12 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+22c8 R_CRIS_32_TPREL x +0+2274 R_CRIS_32_TPREL x Contents of section \.hash: #... Contents of section \.text: - 01b8 6fae0c00 00000000 .* + 0164 6fae0c00 00000000 .* #... Contents of section \.got: - 22bc 44220+ 0+ 0+ 0+ .* + 2268 f0210+ 0+ 0+ 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ie-11.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ie-11.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ie-11.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ie-11.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,21 +12,21 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+1e4 memsz 0x0+1e4 flags r-x - LOAD off 0x0+1e4 vaddr 0x0+21e4 paddr 0x0+21e4 align 2\*\*13 + filesz 0x0+190 memsz 0x0+190 flags r-x + LOAD off 0x0+190 vaddr 0x0+2190 paddr 0x0+2190 align 2\*\*13 filesz 0x0+114 memsz 0x0+114 flags rw- - DYNAMIC off 0x0+26c vaddr 0x0+226c paddr 0x0+226c align 2\*\*2 + DYNAMIC off 0x0+218 vaddr 0x0+2218 paddr 0x0+2218 align 2\*\*2 filesz 0x0+78 memsz 0x0+78 flags rw- - TLS off 0x0+1e4 vaddr 0x0+21e4 paddr 0x0+21e4 align 2\*\*2 + TLS off 0x0+190 vaddr 0x0+2190 paddr 0x0+2190 align 2\*\*2 filesz 0x0+88 memsz 0x0+88 flags r-- Dynamic Section: HASH 0x0+b4 - STRTAB 0x0+190 - SYMTAB 0x0+f0 - STRSZ 0x0+2f + STRTAB 0x0+154 + SYMTAB 0x0+e4 + STRSZ 0x0+17 SYMENT 0x0+10 - RELA 0x0+1c0 + RELA 0x0+16c RELASZ 0x0+18 RELAENT 0x0+c FLAGS 0x0+10 @@ -47,14 +47,14 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+22f0 R_CRIS_32_TPREL x2 -0+22f4 R_CRIS_32_TPREL x1 +0+229c R_CRIS_32_TPREL x2 +0+22a0 R_CRIS_32_TPREL x1 Contents of section \.hash: #... Contents of section \.text: - 01d8 6fae1000 00006fbe 0c000000 .* + 0184 6fae1000 00006fbe 0c000000 .* #... Contents of section \.got: - 22e4 6c220+ 0+ 0+ 0+ .* - 22f4 00000000 .* + 2290 18220+ 0+ 0+ 0+ .* + 22a0 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ie-78.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ie-78.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ie-78.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ie-78.d 2018-06-13 10:31:39.000000000 +0200 @@ -32,13 +32,13 @@ #... DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+822d4 R_CRIS_32_TPREL x +0+82278 R_CRIS_32_TPREL x Contents of section .interp: #... Contents of section \.text: - 801bc 41b20000 6faed422 08000000 .* + 80160 41b20000 6fae7822 08000000 .* Contents of section \.tdata: #... Contents of section \.got: - 822c8 48220800 00000000 00000000 00000000 .* + 8226c ec210800 00000000 00000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ie-8.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ie-8.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ie-8.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ie-8.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,21 +12,21 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+1b8 memsz 0x0+1b8 flags r-x - LOAD off 0x0+1b8 vaddr 0x0+21b8 paddr 0x0+21b8 align 2\*\*13 + filesz 0x0+164 memsz 0x0+164 flags r-x + LOAD off 0x0+164 vaddr 0x0+2164 paddr 0x0+2164 align 2\*\*13 filesz 0x0+10c memsz 0x0+10c flags rw- - DYNAMIC off 0x0+23c vaddr 0x0+223c paddr 0x0+223c align 2\*\*2 + DYNAMIC off 0x0+1e8 vaddr 0x0+21e8 paddr 0x0+21e8 align 2\*\*2 filesz 0x0+78 memsz 0x0+78 flags rw- - TLS off 0x0+1b8 vaddr 0x0+21b8 paddr 0x0+21b8 align 2\*\*2 + TLS off 0x0+164 vaddr 0x0+2164 paddr 0x0+2164 align 2\*\*2 filesz 0x0+84 memsz 0x0+84 flags r-- Dynamic Section: HASH 0x0+b4 - STRTAB 0x0+17c - SYMTAB 0x0+ec - STRSZ 0x0+2b + STRTAB 0x0+140 + SYMTAB 0x0+e0 + STRSZ 0x0+13 SYMENT 0x0+10 - RELA 0x0+1a8 + RELA 0x0+154 RELASZ 0x0+c RELAENT 0x0+c FLAGS 0x0+10 @@ -43,12 +43,12 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+22c0 R_CRIS_32_TPREL x +0+226c R_CRIS_32_TPREL x Contents of section \.hash: #... Contents of section \.text: - 01b4 5fae0c00 .* + 0160 5fae0c00 .* #... Contents of section \.got: - 22b4 3c220+ 0+ 0+ 0+ .* + 2260 e8210+ 0+ 0+ 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ie-9.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ie-9.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ie-9.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ie-9.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,21 +12,21 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+1e0 memsz 0x0+1e0 flags r-x - LOAD off 0x0+1e0 vaddr 0x0+21e0 paddr 0x0+21e0 align 2\*\*13 + filesz 0x0+18c memsz 0x0+18c flags r-x + LOAD off 0x0+18c vaddr 0x0+218c paddr 0x0+218c align 2\*\*13 filesz 0x0+114 memsz 0x0+114 flags rw- - DYNAMIC off 0x0+268 vaddr 0x0+2268 paddr 0x0+2268 align 2\*\*2 + DYNAMIC off 0x0+214 vaddr 0x0+2214 paddr 0x0+2214 align 2\*\*2 filesz 0x0+78 memsz 0x0+78 flags rw- - TLS off 0x0+1e0 vaddr 0x0+21e0 paddr 0x0+21e0 align 2\*\*2 + TLS off 0x0+18c vaddr 0x0+218c paddr 0x0+218c align 2\*\*2 filesz 0x0+88 memsz 0x0+88 flags r-- Dynamic Section: HASH 0x0+b4 - STRTAB 0x0+190 - SYMTAB 0x0+f0 - STRSZ 0x0+30 + STRTAB 0x0+154 + SYMTAB 0x0+e4 + STRSZ 0x0+18 SYMENT 0x0+10 - RELA 0x0+1c0 + RELA 0x0+16c RELASZ 0x0+18 RELAENT 0x0+c FLAGS 0x0+10 @@ -47,14 +47,14 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+22ec R_CRIS_32_TPREL x2 -0+22f0 R_CRIS_32_TPREL x1 +0+2298 R_CRIS_32_TPREL x2 +0+229c R_CRIS_32_TPREL x1 Contents of section \.hash: #... Contents of section \.text: - 01d8 5fae1000 5fbe0c00 .* + 0184 5fae1000 5fbe0c00 .* #... Contents of section \.got: - 22e0 68220+ 0+ 0+ 0+ .* - 22f0 00000000 .* + 228c 14220+ 0+ 0+ 0+ .* + 229c 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-js1.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-js1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-js1.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-js1.d 2018-06-13 10:31:39.000000000 +0200 @@ -16,17 +16,17 @@ # Making sure .rela.plt has the right contents; no R_CRIS_NONE entries. #... - .* .got[ ]+PROGBITS[ ]+0+2348 0+348 0+20 04 WA 0 0 4 + .* .got[ ]+PROGBITS[ ]+0+22f8 0+2f8 0+20 04 WA 0 0 4 #... -Relocation section '\.rela\.dyn' at offset 0x20c contains 2 entries: +Relocation section '\.rela\.dyn' at offset 0x1bc contains 2 entries: Offset Info Type Sym\.Value Sym\. Name \+ Addend -00002354 0000001e R_CRIS_DTPMOD +0 -00002364 0000050a R_CRIS_GLOB_DAT 00002368 expobj \+ 0 +00002304 0000001e R_CRIS_DTPMOD +0 +00002314 0000050a R_CRIS_GLOB_DAT 00002318 expobj \+ 0 -Relocation section '\.rela\.plt' at offset 0x224 contains 2 entries: +Relocation section '\.rela\.plt' at offset 0x1d4 contains 2 entries: Offset Info Type Sym\.Value Sym\. Name \+ Addend -0000235c 0000030b R_CRIS_JUMP_SLOT 00000296 dsofn4 \+ 0 -00002360 00000c0b R_CRIS_JUMP_SLOT 000002ae dsofn \+ 0 +0000230c 0000030b R_CRIS_JUMP_SLOT 00000246 dsofn4 \+ 0 +00002310 0000090b R_CRIS_JUMP_SLOT 0000025e dsofn \+ 0 The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ld-4.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ld-4.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ld-4.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ld-4.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,21 +12,21 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+1a4 memsz 0x0+1a4 flags r-x - LOAD off 0x0+1a4 vaddr 0x0+21a4 paddr 0x0+21a4 align 2\*\*13 + filesz 0x0+148 memsz 0x0+148 flags r-x + LOAD off 0x0+148 vaddr 0x0+2148 paddr 0x0+2148 align 2\*\*13 filesz 0x0+108 memsz 0x0+108 flags rw- - DYNAMIC off 0x0+228 vaddr 0x0+2228 paddr 0x0+2228 align 2\*\*2 + DYNAMIC off 0x0+1cc vaddr 0x0+21cc paddr 0x0+21cc align 2\*\*2 filesz 0x0+70 memsz 0x0+70 flags rw- - TLS off 0x0+1a4 vaddr 0x0+21a4 paddr 0x0+21a4 align 2\*\*2 + TLS off 0x0+148 vaddr 0x0+2148 paddr 0x0+2148 align 2\*\*2 filesz 0x0+84 memsz 0x0+84 flags r-- Dynamic Section: HASH 0x0+b4 - STRTAB 0x0+168 - SYMTAB 0x0+e8 - STRSZ 0x0+29 + STRTAB 0x0+124 + SYMTAB 0x0+d4 + STRSZ 0x0+11 SYMENT 0x0+10 - RELA 0x0+194 + RELA 0x0+138 RELASZ 0x0+c RELAENT 0x0+c private flags = 0: @@ -38,13 +38,13 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+22a4 R_CRIS_DTPMOD \*ABS\* +0+2248 R_CRIS_DTPMOD \*ABS\* Contents of section \.hash: #... Contents of section \.text: - 01a0 5fae8000 .* + 0144 5fae8000 .* #... Contents of section \.got: - 2298 28220+ 0+ 0+ 0+ .* - 22a8 0+ .* + 223c cc210+ 0+ 0+ 0+ .* + 224c 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ld-5.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ld-5.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ld-5.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ld-5.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,21 +12,21 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+1a8 memsz 0x0+1a8 flags r-x - LOAD off 0x0+1a8 vaddr 0x0+21a8 paddr 0x0+21a8 align 2\*\*13 + filesz 0x0+14c memsz 0x0+14c flags r-x + LOAD off 0x0+14c vaddr 0x0+214c paddr 0x0+214c align 2\*\*13 filesz 0x0+10c memsz 0x0+10c flags rw- - DYNAMIC off 0x0+230 vaddr 0x0+2230 paddr 0x0+2230 align 2\*\*2 + DYNAMIC off 0x0+1d4 vaddr 0x0+21d4 paddr 0x0+21d4 align 2\*\*2 filesz 0x0+70 memsz 0x0+70 flags rw- - TLS off 0x0+1a8 vaddr 0x0+21a8 paddr 0x0+21a8 align 2\*\*2 + TLS off 0x0+14c vaddr 0x0+214c paddr 0x0+214c align 2\*\*2 filesz 0x0+88 memsz 0x0+88 flags r-- Dynamic Section: HASH 0x0+b4 - STRTAB 0x0+168 - SYMTAB 0x0+e8 - STRSZ 0x0+29 + STRTAB 0x0+124 + SYMTAB 0x0+d4 + STRSZ 0x0+11 SYMENT 0x0+10 - RELA 0x0+194 + RELA 0x0+138 RELASZ 0x0+c RELAENT 0x0+c private flags = 0: @@ -39,13 +39,13 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+22ac R_CRIS_DTPMOD \*ABS\* +0+2250 R_CRIS_DTPMOD \*ABS\* Contents of section \.hash: #... Contents of section \.text: - 01a0 5fae8000 5fbe8400 .* + 0144 5fae8000 5fbe8400 .* #... Contents of section \.got: - 22a0 30220+ 0+ 0+ 0+ .* - 22b0 0+ .* + 2244 d4210+ 0+ 0+ 0+ .* + 2254 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ld-6.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ld-6.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ld-6.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ld-6.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,21 +12,21 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+1a8 memsz 0x0+1a8 flags r-x - LOAD off 0x0+1a8 vaddr 0x0+21a8 paddr 0x0+21a8 align 2\*\*13 + filesz 0x0+14c memsz 0x0+14c flags r-x + LOAD off 0x0+14c vaddr 0x0+214c paddr 0x0+214c align 2\*\*13 filesz 0x0+108 memsz 0x0+108 flags rw- - DYNAMIC off 0x0+22c vaddr 0x0+222c paddr 0x0+222c align 2\*\*2 + DYNAMIC off 0x0+1d0 vaddr 0x0+21d0 paddr 0x0+21d0 align 2\*\*2 filesz 0x0+70 memsz 0x0+70 flags rw- - TLS off 0x0+1a8 vaddr 0x0+21a8 paddr 0x0+21a8 align 2\*\*2 + TLS off 0x0+14c vaddr 0x0+214c paddr 0x0+214c align 2\*\*2 filesz 0x0+84 memsz 0x0+84 flags r-- Dynamic Section: HASH 0x0+b4 - STRTAB 0x0+168 - SYMTAB 0x0+e8 - STRSZ 0x0+29 + STRTAB 0x0+124 + SYMTAB 0x0+d4 + STRSZ 0x0+11 SYMENT 0x0+10 - RELA 0x0+194 + RELA 0x0+138 RELASZ 0x0+c RELAENT 0x0+c private flags = 0: @@ -38,13 +38,13 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+22a8 R_CRIS_DTPMOD \*ABS\* +0+224c R_CRIS_DTPMOD \*ABS\* Contents of section \.hash: #... Contents of section \.text: - 01a0 6fae8000 00000000 .* + 0144 6fae8000 00000000 .* #... Contents of section \.got: - 229c 2c220+ 0+ 0+ 0+ .* - 22ac 0+ .* + 2240 d0210+ 0+ 0+ 0+ .* + 2250 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ld-7.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ld-7.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ld-7.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ld-7.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,21 +12,21 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+1ac memsz 0x0+1ac flags r-x - LOAD off 0x0+1ac vaddr 0x0+21ac paddr 0x0+21ac align 2\*\*13 + filesz 0x0+150 memsz 0x0+150 flags r-x + LOAD off 0x0+150 vaddr 0x0+2150 paddr 0x0+2150 align 2\*\*13 filesz 0x0+10c memsz 0x0+10c flags rw- - DYNAMIC off 0x0+234 vaddr 0x0+2234 paddr 0x0+2234 align 2\*\*2 + DYNAMIC off 0x0+1d8 vaddr 0x0+21d8 paddr 0x0+21d8 align 2\*\*2 filesz 0x0+70 memsz 0x0+70 flags rw- - TLS off 0x0+1ac vaddr 0x0+21ac paddr 0x0+21ac align 2\*\*2 + TLS off 0x0+150 vaddr 0x0+2150 paddr 0x0+2150 align 2\*\*2 filesz 0x0+88 memsz 0x0+88 flags r-- Dynamic Section: HASH 0x0+b4 - STRTAB 0x0+168 - SYMTAB 0x0+e8 - STRSZ 0x0+29 + STRTAB 0x0+124 + SYMTAB 0x0+d4 + STRSZ 0x0+11 SYMENT 0x0+10 - RELA 0x0+194 + RELA 0x0+138 RELASZ 0x0+c RELAENT 0x0+c private flags = 0: @@ -39,13 +39,13 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+22b0 R_CRIS_DTPMOD \*ABS\* +0+2254 R_CRIS_DTPMOD \*ABS\* Contents of section \.hash: #... Contents of section \.text: - 01a0 6fae80+ 0+6fbe 840+ .* + 0144 6fae80+ 0+6fbe 840+ .* #... Contents of section \.got: - 22a4 34220+ 0+ 0+ 0+ .* - 22b4 0+ .* + 2248 d8210+ 0+ 0+ 0+ .* + 2258 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ldgd-14.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ldgd-14.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ldgd-14.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ldgd-14.d 2018-06-13 10:31:39.000000000 +0200 @@ -17,21 +17,21 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+230 memsz 0x0+230 flags r-x - LOAD off 0x0+230 vaddr 0x0+2230 paddr 0x0+2230 align 2\*\*13 + filesz 0x0+1dc memsz 0x0+1dc flags r-x + LOAD off 0x0+1dc vaddr 0x0+21dc paddr 0x0+21dc align 2\*\*13 filesz 0x0+124 memsz 0x0+124 flags rw- - DYNAMIC off 0x0+2c0 vaddr 0x0+22c0 paddr 0x0+22c0 align 2\*\*2 + DYNAMIC off 0x0+26c vaddr 0x0+226c paddr 0x0+226c align 2\*\*2 filesz 0x0+70 memsz 0x0+70 flags rw- - TLS off 0x0+230 vaddr 0x0+2230 paddr 0x0+2230 align 2\*\*2 + TLS off 0x0+1dc vaddr 0x0+21dc paddr 0x0+21dc align 2\*\*2 filesz 0x0+90 memsz 0x0+90 flags r-- Dynamic Section: HASH 0x0+b4 - STRTAB 0x0+1b8 - SYMTAB 0x0+f8 - STRSZ 0x0+42 + STRTAB 0x0+17c + SYMTAB 0x0+ec + STRSZ 0x0+2a SYMENT 0x0+10 - RELA 0x0+1fc + RELA 0x0+1a8 RELASZ 0x0+24 RELAENT 0x0+c private flags = 0: @@ -55,17 +55,17 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+233c R_CRIS_DTPMOD \*ABS\* -0+2344 R_CRIS_DTP x -0+234c R_CRIS_DTP z +0+22e8 R_CRIS_DTPMOD \*ABS\* +0+22f0 R_CRIS_DTP x +0+22f8 R_CRIS_DTP z Contents of section \.hash: #... Contents of section \.text: - 0220 5fae8800 5fbe8c00 5fae1400 5fae1c00 .* + 01cc 5fae8800 5fbe8c00 5fae1400 5fae1c00 .* Contents of section .tdata: #... Contents of section \.got: - 2330 c0220+ 0+ 0+ 0+ .* - 2340 0+ 0+ 0+ 0+ .* - 2350 0+ .* + 22dc 6c220+ 0+ 0+ 0+ .* + 22ec 0+ 0+ 0+ 0+ .* + 22fc 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ldgd-15.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ldgd-15.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ldgd-15.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ldgd-15.d 2018-06-13 10:31:39.000000000 +0200 @@ -17,21 +17,21 @@ Program Header: LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 - filesz 0x0+23c memsz 0x0+23c flags r-x - LOAD off 0x0+23c vaddr 0x0+223c paddr 0x0+223c align 2\*\*13 + filesz 0x0+1e8 memsz 0x0+1e8 flags r-x + LOAD off 0x0+1e8 vaddr 0x0+21e8 paddr 0x0+21e8 align 2\*\*13 filesz 0x0+124 memsz 0x0+124 flags rw- - DYNAMIC off 0x0+2cc vaddr 0x0+22cc paddr 0x0+22cc align 2\*\*2 + DYNAMIC off 0x0+278 vaddr 0x0+2278 paddr 0x0+2278 align 2\*\*2 filesz 0x0+70 memsz 0x0+70 flags rw- - TLS off 0x0+23c vaddr 0x0+223c paddr 0x0+223c align 2\*\*2 + TLS off 0x0+1e8 vaddr 0x0+21e8 paddr 0x0+21e8 align 2\*\*2 filesz 0x0+90 memsz 0x0+90 flags r-- Dynamic Section: HASH 0x0+b4 - STRTAB 0x0+1b8 - SYMTAB 0x0+f8 - STRSZ 0x0+42 + STRTAB 0x0+17c + SYMTAB 0x0+ec + STRSZ 0x0+2a SYMENT 0x0+10 - RELA 0x0+1fc + RELA 0x0+1a8 RELASZ 0x0+24 RELAENT 0x0+c private flags = 0: @@ -55,18 +55,18 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+2348 R_CRIS_DTPMOD \*ABS\* -0+2350 R_CRIS_DTP x -0+2358 R_CRIS_DTP z +0+22f4 R_CRIS_DTPMOD \*ABS\* +0+22fc R_CRIS_DTP x +0+2304 R_CRIS_DTP z Contents of section \.hash: #... Contents of section \.text: - 0220 6fae8800 00006fbe 8c000000 6fae1400 .* - 0230 0+ 6fae1c00 0+ .* + 01cc 6fae8800 00006fbe 8c000000 6fae1400 .* + 01dc 0+ 6fae1c00 0+ .* Contents of section .tdata: #... Contents of section \.got: - 233c cc220+ 0+ 0+ 0+ .* - 234c 0+ 0+ 0+ 0+ .* - 235c 0+ .* + 22e8 78220+ 0+ 0+ 0+ .* + 22f8 0+ 0+ 0+ 0+ .* + 2308 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ldgdex-14.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ldgdex-14.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ldgdex-14.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ldgdex-14.d 2018-06-13 10:31:39.000000000 +0200 @@ -38,17 +38,17 @@ #... DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0008230c R_CRIS_DTP x -00082314 R_CRIS_DTP z +000822b0 R_CRIS_DTP x +000822b8 R_CRIS_DTP z Contents of section .interp: #... Contents of section \.text: - 801dc 41b20000 5fae8000 5fbe8400 5fae1400 .* - 801ec 5fae1c00 .* + 80180 41b20000 5fae8000 5fbe8400 5fae1400 .* + 80190 5fae1c00 .* Contents of section \.tdata: #... Contents of section \.got: - 822f8 78220800 0+ 0+ 010+ .* - 82308 0+ 0+ 0+ 0+ .* - 82318 0+ .* + 8229c 1c220800 0+ 0+ 010+ .* + 822ac 0+ 0+ 0+ 0+ .* + 822bc 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ldgdex-15.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ldgdex-15.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ldgdex-15.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ldgdex-15.d 2018-06-13 10:31:39.000000000 +0200 @@ -38,17 +38,17 @@ #... DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -00082318 R_CRIS_DTP x -00082320 R_CRIS_DTP z +000822bc R_CRIS_DTP x +000822c4 R_CRIS_DTP z Contents of section \.interp: #... Contents of section \.text: - 801dc 41b20000 6fae8000 00006fbe 84000000 .* - 801ec 6fae1400 00000000 6fae1c00 00000000 .* + 80180 41b20000 6fae8000 00006fbe 84000000 .* + 80190 6fae1400 00000000 6fae1c00 00000000 .* Contents of section \.tdata: #... Contents of section \.got: - 82304 84220800 0+ 0+ 010+ .* - 82314 0+ 0+ 0+ 0+ .* - 82324 0+ .* + 822a8 28220800 0+ 0+ 010+ .* + 822b8 0+ 0+ 0+ 0+ .* + 822c8 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ldgdx-14.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ldgdx-14.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ldgdx-14.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ldgdx-14.d 2018-06-13 10:31:39.000000000 +0200 @@ -39,17 +39,17 @@ #... DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -00002338 R_CRIS_DTPMOD \*ABS\* -00002340 R_CRIS_DTP x -00002348 R_CRIS_DTP z +000022e4 R_CRIS_DTPMOD \*ABS\* +000022ec R_CRIS_DTP x +000022f4 R_CRIS_DTP z Contents of section \.hash: #... Contents of section \.text: - 021c 5fae8000 5fbe8400 5fae1400 5fae1c00 .* + 01c8 5fae8000 5fbe8400 5fae1400 5fae1c00 .* Contents of section .tdata: #... Contents of section \.got: - 232c b4220+ 0+ 0+ 0+ .* - 233c 0+ 0+ 0+ 0+ .* - 234c 0+ .* + 22d8 60220+ 0+ 0+ 0+ .* + 22e8 0+ 0+ 0+ 0+ .* + 22f8 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ldgdx-15.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ldgdx-15.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ldgdx-15.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ldgdx-15.d 2018-06-13 10:31:39.000000000 +0200 @@ -39,18 +39,18 @@ #... DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -00002344 R_CRIS_DTPMOD \*ABS\* -0000234c R_CRIS_DTP x -00002354 R_CRIS_DTP z +000022f0 R_CRIS_DTPMOD \*ABS\* +000022f8 R_CRIS_DTP x +00002300 R_CRIS_DTP z Contents of section \.hash: #... Contents of section \.text: - 021c 6fae8000 00006fbe 84000000 6fae1400 .* - 022c 0+ 6fae1c00 0+ .* + 01c8 6fae8000 00006fbe 84000000 6fae1400 .* + 01d8 0+ 6fae1c00 0+ .* Contents of section .tdata: #... Contents of section \.got: - 2338 c0220+ 0+ 0+ 0+ .* - 2348 0+ 0+ 0+ 0+ .* - 2358 0+ .* + 22e4 6c220+ 0+ 0+ 0+ .* + 22f4 0+ 0+ 0+ 0+ .* + 2304 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-legdx-16.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-legdx-16.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-legdx-16.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-legdx-16.d 2018-06-13 10:31:39.000000000 +0200 @@ -38,15 +38,15 @@ #... DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -00082310 R_CRIS_DTP x -00082318 R_CRIS_DTP z +000822b4 R_CRIS_DTP x +000822bc R_CRIS_DTP z Contents of section .interp: #... Contents of section \.text: - 801dc 41b20000 6faef8ff ffff6fae fcffffff .* - 801ec 6fae1023 08000000 6fae1823 08000000 .* + 80180 41b20000 6faef8ff ffff6fae fcffffff .* + 80190 6faeb422 08000000 6faebc22 08000000 .* #... Contents of section \.got: - 82304 84220800 0+ 0+ 0+ .* - 82314 0+ 0+ 0+ .* + 822a8 28220800 0+ 0+ 0+ .* + 822b8 0+ 0+ 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-legdx-17.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-legdx-17.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-legdx-17.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-legdx-17.d 2018-06-13 10:31:39.000000000 +0200 @@ -40,15 +40,15 @@ #... DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -00082308 R_CRIS_DTP x -00082310 R_CRIS_DTP z +000822ac R_CRIS_DTP x +000822b4 R_CRIS_DTP z Contents of section .interp: #... Contents of section \.text: - 801dc 41b20000 5faef8ff 5faefcff 6fae0c00 .* - 801ec 00000000 5fae1400 .* + 80180 41b20000 5faef8ff 5faefcff 6fae0c00 .* + 80190 00000000 5fae1400 .* #... Contents of section \.got: - 822fc 7c220800 0+ 0+ 0+ .* - 8230c 0+ 0+ 0+ .* + 822a0 20220800 0+ 0+ 0+ .* + 822b0 0+ 0+ 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-local-54.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-local-54.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-local-54.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-local-54.d 2018-06-13 10:31:39.000000000 +0200 @@ -15,13 +15,13 @@ #... DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -00002288 R_CRIS_DTP \*ABS\*\+0x0000002a +0000222c R_CRIS_DTP \*ABS\*\+0x0000002a Contents of section .hash: #... Contents of section \.text: - 0184 6fae0c00 00000000 .* + 0128 6fae0c00 00000000 .* #... Contents of section \.got: - 227c 0c220000 0+ 0+ 0+ .* - 228c 0+ .* + 2220 b0210000 0+ 0+ 0+ .* + 2230 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-local-60.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-local-60.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-local-60.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-local-60.d 2018-06-13 10:31:39.000000000 +0200 @@ -19,15 +19,15 @@ #... DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0000231c R_CRIS_32_TPREL \*ABS\*\+0x0+4 -00002320 R_CRIS_DTP \*ABS\*\+0x0+4 +000022c8 R_CRIS_32_TPREL \*ABS\*\+0x0+4 +000022cc R_CRIS_DTP \*ABS\*\+0x0+4 Contents of section \.hash: #... Contents of section \.text: - 0200 6fae1000 00006fae 0c000000 5fae1000 .* - 0210 5fae0c00 .* + 01ac 6fae1000 00006fae 0c000000 5fae1000 .* + 01bc 5fae0c00 .* #... Contents of section \.got: - 2310 98220+ 0+ 0+ 040+ .* - 2320 0+ 0+ .* + 22bc 44220+ 0+ 0+ 040+ .* + 22cc 0+ 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-local-61.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-local-61.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-local-61.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-local-61.d 2018-06-13 10:31:39.000000000 +0200 @@ -18,15 +18,15 @@ #... DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -00002304 R_CRIS_32_TPREL \*ABS\* -00002308 R_CRIS_DTP \*ABS\* +000022b0 R_CRIS_32_TPREL \*ABS\* +000022b4 R_CRIS_DTP \*ABS\* Contents of section \.hash: #... Contents of section \.text: - 01ec 6fae1000 00006fae 0c000000 5fae1000 .* - 01fc 5fae0c00 .* + 0198 6fae1000 00006fae 0c000000 5fae1000 .* + 01a8 5fae0c00 .* #... Contents of section \.got: - 22f8 80220+ 0+ 0+ 0+ .* - 2308 0+ 0+ .* + 22a4 2c220+ 0+ 0+ 0+ .* + 22b4 0+ 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-local-63.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-local-63.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-local-63.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-local-63.d 2018-06-13 10:31:39.000000000 +0200 @@ -10,22 +10,22 @@ #... Relocation section '.rela.dyn' at offset 0x.* contains 1 entry: Offset Info Type Sym.Value Sym. Name \+ Addend -00002210 0000001c R_CRIS_32_TPREL[ ]+0 +000021b4 0000001c R_CRIS_32_TPREL[ ]+0 The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. -Symbol table '.dynsym' contains 7 entries: +Symbol table '.dynsym' contains 4 entries: Num: Value Size Type Bind Vis Ndx Name #... -Symbol table '.symtab' contains 16 entries: +Symbol table '.symtab' contains 13 entries: #... .: 00000000 +4 +TLS +LOCAL +DEFAULT +6 x #... Hex dump of section '.text': - 0x00000184 5fae0c00 .* + 0x00000128 5fae0c00 .* #... Hex dump of section '.tdata': - 0x00002188 280+ .* + 0x0000212c 280+ .* #... Hex dump of section '.got': - 0x0+2204 8c210000 0+ 0+ 0+ .* + 0x0+21a8 30210000 0+ 0+ 0+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-local-64.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-local-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-local-64.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-local-64.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,11 +12,11 @@ #... Relocation section '.rela.dyn' at offset 0x.* contains 1 entry: Offset Info Type Sym.Value Sym. Name \+ Addend -00002290 0000001c R_CRIS_32_TPREL[ ]+80 +00002234 0000001c R_CRIS_32_TPREL[ ]+80 The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. -Symbol table '.dynsym' contains 7 entries: +Symbol table '.dynsym' contains 4 entries: Num: Value Size Type Bind Vis Ndx Name #... Symbol table '.symtab' contains [0-9]+ entries: @@ -24,14 +24,14 @@ ..: 00000080 +4 +TLS +LOCAL +DEFAULT +6 x #... Hex dump of section '.text': - 0x00000184 5fae0c00 .* + 0x00000128 5fae0c00 .* #... Hex dump of section '.tdata': - 0x00002188 2f0+ 0+ 0+ 0+ .* - 0x00002198 0+ 0+ 0+ 0+ .* + 0x0000212c 2f0+ 0+ 0+ 0+ .* + 0x0000213c 0+ 0+ 0+ 0+ .* #... - 0x000021f8 0+ 0+ 0+ 0+ .* - 0x00002208 280+ .* + 0x0000219c 0+ 0+ 0+ 0+ .* + 0x000021ac 280+ .* #... Hex dump of section '.got': - 0x0+2284 0c220000 0+ 0+ 80+ .* + 0x0+2228 b0210000 0+ 0+ 80+ .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ok-30.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ok-30.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ok-30.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ok-30.d 2018-06-13 10:31:39.000000000 +0200 @@ -11,19 +11,19 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -000b3910 R_CRIS_DTP x2814 +000b38bc R_CRIS_DTP x2814 #... -000b8350 R_CRIS_DTP x8190 +000b82fc R_CRIS_DTP x8190 #... -000c1308 R_CRIS_DTP x0 +000c12b4 R_CRIS_DTP x0 #... -000c3900 R_CRIS_DTP x1345 +000c38ac R_CRIS_DTP x1345 Contents of section .got: - b3904 94380b00 00000000 00000000 00000000 .* - b3914 00000000 00000000 00000000 00000000 .* + b38b0 40380b00 00000000 00000000 00000000 .* + b38c0 00000000 00000000 00000000 00000000 .* #... - c38e4 00000000 00000000 00000000 00000000 .* - c38f4 00000000 00000000 00000000 00000000 .* - c3904 00000000 .* + c3890 00000000 00000000 00000000 00000000 .* + c38a0 00000000 00000000 00000000 00000000 .* + c38b0 00000000 .* #PASS diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ok-32.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ok-32.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ok-32.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ok-32.d 2018-06-13 10:31:39.000000000 +0200 @@ -10,14 +10,14 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0000a220 R_CRIS_DTPMOD \*ABS\* +0000a1c4 R_CRIS_DTPMOD \*ABS\* Contents of section \.text: - 01a0 5faeff7f .* + 0144 5faeff7f .* Contents of section \.tdata: - 21a4 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a .* + 2148 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a .* #... - a194 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a .* + a138 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a .* Contents of section \.got: - a214 a4a10000 00000000 00000000 00000000 .* - a224 00000000 .* + a1b8 48a10000 00000000 00000000 00000000 .* + a1c8 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ok-34.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ok-34.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-ok-34.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-ok-34.d 2018-06-13 10:31:39.000000000 +0200 @@ -12,17 +12,17 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -000b3870 R_CRIS_32_TPREL x2814 +000b381c R_CRIS_32_TPREL x2814 #... -000b485c R_CRIS_32_TPREL x8188 +000b4808 R_CRIS_32_TPREL x8188 #... -000ba564 R_CRIS_32_TPREL x0 +000ba510 R_CRIS_32_TPREL x0 #... -000bb860 R_CRIS_32_TPREL x1345 +000bb80c R_CRIS_32_TPREL x1345 Contents of section .got: - b3864 ec370b00 00000000 00000000 00000000 .* - b3874 00000000 00000000 00000000 00000000 .* + b3810 98370b00 00000000 00000000 00000000 .* + b3820 00000000 00000000 00000000 00000000 .* #... - bb844 00000000 00000000 00000000 00000000 .* - bb854 00000000 00000000 00000000 00000000 .* + bb7f0 00000000 00000000 00000000 00000000 .* + bb800 00000000 00000000 00000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-und-38.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-und-38.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-und-38.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-und-38.d 2018-06-13 10:31:39.000000000 +0200 @@ -11,7 +11,7 @@ #... Relocation section '.rela.dyn' at offset 0x.* contains 1 entry: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend -000021ec +00000217 R_CRIS_DTP +00000000 +x \+ 0 +00002190 +00000217 R_CRIS_DTP +00000000 +x \+ 0 The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. @@ -23,5 +23,5 @@ Symbol table '.symtab' contains .. entries: #... Hex dump of section '.got': - 0x0+21e0 70210000 00000000 00000000 00000000 .* - 0x0+21f0 00000000 .* + 0x0+2184 14210000 00000000 00000000 00000000 .* + 0x0+2194 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-und-42.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-und-42.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-und-42.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-und-42.d 2018-06-13 10:31:39.000000000 +0200 @@ -11,7 +11,7 @@ #... Relocation section '.rela.dyn' at offset 0x.* contains 1 entry: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend -000021f4 +0000021c R_CRIS_32_TPREL +0+ +x \+ 0 +00002198 +0000021c R_CRIS_32_TPREL +0+ +x \+ 0 The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. @@ -23,4 +23,4 @@ Symbol table '.symtab' contains .. entries: #... Hex dump of section '.got': - 0x0+21e8 70210000 00000000 00000000 00000000 .* + 0x0+218c 14210000 00000000 00000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-und-46.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-und-46.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-und-46.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-und-46.d 2018-06-13 10:31:39.000000000 +0200 @@ -11,7 +11,7 @@ #... Relocation section '.rela.dyn' at offset 0x.* contains 1 entry: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend -000021e8 +00000217 R_CRIS_DTP +00000000 +x \+ 0 +0000218c +00000217 R_CRIS_DTP +00000000 +x \+ 0 The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. @@ -23,5 +23,5 @@ Symbol table '.symtab' contains .. entries: #... Hex dump of section '.got': - 0x0+21dc 6c210000 00000000 00000000 00000000 .* - 0x0+21ec 00000000 .* + 0x0+2180 10210000 00000000 00000000 00000000 .* + 0x0+2190 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-und-50.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-und-50.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/tls-und-50.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/tls-und-50.d 2018-06-13 10:31:39.000000000 +0200 @@ -11,7 +11,7 @@ #... Relocation section '.rela.dyn' at offset 0x.* contains 1 entry: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend -000021ec +0000021c R_CRIS_32_TPREL +0+ +x \+ 0 +00002190 +0000021c R_CRIS_32_TPREL +0+ +x \+ 0 The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. @@ -23,4 +23,4 @@ Symbol table '.symtab' contains .. entries: #... Hex dump of section '.got': - 0x0+21e0 68210000 00000000 00000000 00000000 .* + 0x0+2184 0c210000 00000000 00000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/weakhiddso.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/weakhiddso.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/weakhiddso.d 2017-10-16 14:02:36.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/weakhiddso.d 2018-06-13 10:31:39.000000000 +0200 @@ -9,21 +9,18 @@ .*: file format elf32-cris DYNAMIC SYMBOL TABLE: -0+2208 l d \.data 0+ \.data -0+2208 g DO \.data 0+c x +0+21b4 l d \.data 0+ \.data +0+21b4 g DO \.data 0+c x 0+ D \*UND\* 0+ xregobj -0+2214 g D \.data 0+ __bss_start 0+ w D \*UND\* 0+ xweakobj -0+2214 g D \.data 0+ _edata -0+2220 g D \.data 0+ _end DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE -0+220c R_CRIS_32 xweakobj -0+2210 R_CRIS_32 xregobj +0+21b8 R_CRIS_32 xweakobj +0+21bc R_CRIS_32 xregobj Contents of section \.hash: #... Contents of section \.data: - 2208 00000000 00000000 00000000 .* + 21b4 00000000 00000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-cris/weakref2.d binutils-2.30.52.20180613/ld/testsuite/ld-cris/weakref2.d --- binutils-2.30.51.20180512/ld/testsuite/ld-cris/weakref2.d 2017-09-06 08:53:53.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-cris/weakref2.d 2018-06-13 10:31:39.000000000 +0200 @@ -7,4 +7,4 @@ .*: file format elf32-cris Contents of section \.got: - 821e4 7c210800 00000000 00000000 00000000 .* + 82188 20210800 00000000 00000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-discard/static.d binutils-2.30.52.20180613/ld/testsuite/ld-discard/static.d --- binutils-2.30.51.20180512/ld/testsuite/ld-discard/static.d 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-discard/static.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,5 +3,5 @@ #error: `(\.data\.exit|data)' referenced in section `\.text' of tmpdir/static.o: defined in discarded section `\.data\.exit' of tmpdir/static.o #objdump: -p #xfail: d30v-*-* dlx-*-* pj*-*-* -#xfail: m68hc12-*-* m6812-*-* +#xfail: m68hc12-*-* m6812-*-* #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/elf.exp binutils-2.30.52.20180613/ld/testsuite/ld-elf/elf.exp --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/elf.exp 2018-02-01 10:48:06.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/elf.exp 2018-06-13 10:31:39.000000000 +0200 @@ -165,6 +165,8 @@ run_ld_link_tests { {"stack exec" "-z execstack" "" "" {stack.s} {{readelf {-Wl} stack-exec.rd}} "stack-exec.exe"} + {"stack noexec" "-z noexecstack" "" "" {stack.s} + {{readelf {-Wl} stack-noexec.rd}} "stack-noexec.exe"} {"stack size" "-z stack-size=0x123400" "" "" {stack.s} {{readelf {-Wl} stack-size.rd}} "stack-size.exe"} } diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/endsym.d binutils-2.30.52.20180613/ld/testsuite/ld-elf/endsym.d --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/endsym.d 2017-02-25 13:04:47.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/endsym.d 2018-06-04 21:27:35.000000000 +0200 @@ -2,7 +2,7 @@ #source: endsym.s #ld: --sort-common #nm: -n -#xfail: m68hc1*-* xgate-* cr16-*-* crx-*-* dlx-*-* nds32*-*-* visium-*-* +#xfail: m68hc1*-* xgate-* cr16-*-* crx-*-* dlx-*-* nds32*-*-* visium-*-* s12z-*-* #xfail: pru-*-* #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/merge.d binutils-2.30.52.20180613/ld/testsuite/ld-elf/merge.d --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/merge.d 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/merge.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,7 +4,7 @@ #xfail: "bfin-*-*" "cr16-*-*" "cris*-*-*" "crx-*-*" "d10v-*-*" "d30v-*-*" #xfail: "dlx-*-*" "fr30-*-*" "frv-*-*" "hppa*64*-*-*" "h8300-*-*" "score-*-*" #xfail: "ip2k-*-*" "iq2000-*-*" "lm32-*-*" -#xfail: "mcore-*-*" "mn102*-*-*" "ms1-*-*" "mep-*-*" "m68hc11-*-*" "nios2-*-*" +#xfail: "mcore-*-*" "mn102*-*-*" "ms1-*-*" "mep-*-*" "m68hc11-*-*" "nios2-*-*" s12z-*-* #xfail: "or32-*-*" "pj-*-*" "tic6x-*-*" "vax-*-*" "xstormy16-*-*" #xfail: "xtensa*-*-*" "metag-*-*" "ft32-*-*" "pru-*-*" diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/note1_1.s binutils-2.30.52.20180613/ld/testsuite/ld-elf/note1_1.s --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/note1_1.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/note1_1.s 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,17 @@ + .section .gnu.linkonce.t.thunk.ax,"ax",%progbits + .globl thunk.ax + .hidden thunk.ax + .p2align 4 + .type thunk.ax,%function +thunk.ax: + .dc.l 0 + .size thunk.ax, . - thunk.ax + + .p2align 4 + .globl foo + .type foo,%function +foo: + .dc.a thunk.ax + .dc.l 0 + .size foo, . - foo + diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/note1_2.s binutils-2.30.52.20180613/ld/testsuite/ld-elf/note1_2.s --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/note1_2.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/note1_2.s 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,17 @@ + + .section .gnu.linkonce.t.thunk.ax,"ax",%progbits + .globl thunk.ax + .hidden thunk.ax + .p2align 4 + .type thunk.ax,%function +thunk.ax: + .dc.l 0 + .size thunk.ax, . - thunk.ax + + .p2align 4 + .globl bar + .type bar,%function +bar: + .dc.a thunk.ax + .dc.l 0 + .size bar, . - bar diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/note1.r binutils-2.30.52.20180613/ld/testsuite/ld-elf/note1.r --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/note1.r 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/note1.r 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,6 @@ +#... +Displaying notes found in: .gnu.build.attributes +[ ]+Owner[ ]+Data size[ ]+Description +[ ]+GA\$3a1[ ]+0x000000(08|10)[ ]+OPEN[ ]+Applies to region from 0.* +[ ]+GA\$3a1[ ]+0x000000(08|10)[ ]+OPEN[ ]+Applies to region from 0.* +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/notes.exp binutils-2.30.52.20180613/ld/testsuite/ld-elf/notes.exp --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/notes.exp 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/notes.exp 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,45 @@ +# Expect script for various ELF based Note tests. +# Copyright (C) 2018 Free Software Foundation, Inc. +# +# This file is part of the GNU Binutils. +# +# 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 3 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., 51 Franklin Street - Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +# Exclude non-ELF targets. + +if ![is_elf_format] { + return +} + +set old_ldflags $LDFLAGS +if { [istarget spu*-*-*] } { + set LDFLAGS "$LDFLAGS --local-store 0:0" +} + +if { [is_remote host] } then { + remote_download host merge.ld +} + +run_ld_link_tests [list \ + [list "Linkonce sections with assembler generated notes" \ + "-r" "" "--generate-missing-build-notes=yes" \ + {note1_1.s note1_2.s} \ + {{readelf {--wide --notes} note1.r}} \ + "note1.so" ] \ +] + +set LDFLAGS $old_ldflags diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr14926.d binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr14926.d --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr14926.d 2017-01-03 05:33:04.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr14926.d 2018-06-04 21:27:35.000000000 +0200 @@ -1,6 +1,6 @@ #ld: -Ttext=0x60 #readelf: -S --wide -#notarget: d10v-* m68hc1*-* msp*-* visium-* xgate-* xstormy*-* pru-*-* +#notarget: d10v-* m68hc1*-* msp*-* visium-* xgate-* xstormy*-* pru-*-* s12z-*-* # the above targets use memory regions that don't allow 0x60 for .text #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161a.c binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161a.c --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161a.c 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161a.c 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,9 @@ +extern char *_end; +extern char *_edata; +extern char *__bss_start; + +int +foo (void) +{ + return _end[0] + _edata[0] + __bss_start[0]; +} diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161a.rd binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161a.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161a.rd 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161a.rd 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,19 @@ +Relocation section '\.rel(a|)\.dyn' at offset 0x[0-9a-f]+ contains [0-9]+ entries: + +Offset +Info +Type +Sym.* Value +Sym.* Name( \+ Addend|) +#... +[a-f0-9]+ +[0-9a-f]+ +R_.*_GLOB_DAT +[a-f0-9]+ +__bss_start(@@FOO|)( \+ 0|) +#... +[a-f0-9]+ +[0-9a-f]+ +R_.*_GLOB_DAT +[a-f0-9]+ +_edata(@@FOO|)( \+ 0|) +#... +[a-f0-9]+ +[0-9a-f]+ +R_.*_GLOB_DAT +[a-f0-9]+ +_end(@@FOO|)( \+ 0|) +#... +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name + +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND + +#... + +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_edata(@@FOO|) +#... + +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_end(@@FOO|) +#... + +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +__bss_start(@@FOO|) +#... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161b.c binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161b.c --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161b.c 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161b.c 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,23 @@ +static char *_edata_p; +static char *_end_p; +static char *__bss_start_p; +extern char *_end; +extern char *_edata; +extern char *__bss_start; + +extern int foo (void); + +void +bar (void) +{ + _edata_p = (char*) &_edata; + _end_p = (char*) &_end; + __bss_start_p = (char*) &__bss_start; +} + +void +_start () +{ + bar (); + foo (); +} diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161b.rd binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161b.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161b.rd 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161b.rd 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,14 @@ +Relocation section '\.rel(a|)\.plt' at offset 0x[0-9a-f]+ contains 1 entry: + +Offset +Info +Type +Sym.* Value +Sym.* Name( \+ Addend|) +[a-f0-9]+ +[0-9a-f]+ +R_.*_JUMP_SLOT +[a-f0-9]+ +foo(@FOO|)( \+ 0|) + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name + +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND + +#... + +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_edata +#... + +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_end +#... + +[0-9]+: +[a-f0-9]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +__bss_start +#... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161c.c binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161c.c --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161c.c 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161c.c 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,9 @@ +extern char *_end __attribute__ ((visibility("hidden"))); +extern char *_edata __attribute__ ((visibility("hidden"))); +extern char *__bss_start __attribute__ ((visibility("hidden"))); + +int +foo (void) +{ + return _end[0] + _edata[0] + __bss_start[0]; +} diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161c.rd binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161c.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161c.rd 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161c.rd 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,6 @@ +There are no relocations in this file. + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name + +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND + + +1: +[a-f0-9]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ +foo diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161d.rd binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161d.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161d.rd 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161d.rd 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,8 @@ +Relocation section '\.rel(a|)\.plt' at offset 0x[0-9a-f]+ contains 1 entry: + +Offset +Info +Type +Sym.* Value +Sym.* Name( \+ Addend|) +[a-f0-9]+ +[0-9a-f]+ +R_.*_JUMP_SLOT +[a-f0-9]+ +foo( \+ 0|) + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name + +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND + + +[0-9]+: +[a-f0-9]+ +0 +FUNC +GLOBAL +DEFAULT +UND +foo diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161.map binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161.map --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23161.map 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23161.map 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,4 @@ +FOO { + global: + *; +}; diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23162a.c binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23162a.c --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23162a.c 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23162a.c 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,4 @@ +void +foo (void) +{ +} diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23162b.c binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23162b.c --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23162b.c 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23162b.c 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,20 @@ +static char *_edata_p; +static char *_end_p; +static char *__bss_start_p; +extern char *_end; +extern char *_edata; +extern char *__bss_start; + +void +bar (void) +{ + _edata_p = (char*) &_edata; + _end_p = (char*) &_end; + __bss_start_p = (char*) &__bss_start; +} + +void +_start () +{ + bar (); +} diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23162.map binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23162.map --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23162.map 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23162.map 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,4 @@ +FOO { + global: + *; +}; diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23162.rd binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23162.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/pr23162.rd 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/pr23162.rd 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,5 @@ +There are no relocations in this file\. + +Symbol table '\.dynsym' contains 1 entry: + +Num: +Value +Size Type +Bind +Vis +Ndx Name + +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND + diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/provide-hidden-dynabs.nd binutils-2.30.52.20180613/ld/testsuite/ld-elf/provide-hidden-dynabs.nd --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/provide-hidden-dynabs.nd 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/provide-hidden-dynabs.nd 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -Symbol table '\.dynsym' contains [0-9]+ entries: -#... - *[0-9]+: 0*23400000 +0 (?:NOTYPE|OBJECT) +LOCAL +DEFAULT +ABS foo -#... -Symbol table '\.symtab' contains [0-9]+ entries: -#... - *[0-9]+: 0*23400000 +0 (?:NOTYPE|OBJECT) +LOCAL +DEFAULT +ABS foo -#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/provide-hidden-dynsec.nd binutils-2.30.52.20180613/ld/testsuite/ld-elf/provide-hidden-dynsec.nd --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/provide-hidden-dynsec.nd 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/provide-hidden-dynsec.nd 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -Symbol table '\.dynsym' contains [0-9]+ entries: -#... - *[0-9]+: 0*23400000 +0 (?:NOTYPE|OBJECT) +LOCAL +DEFAULT +[0-9]+ foo -#... -Symbol table '\.symtab' contains [0-9]+ entries: -#... - *[0-9]+: 0*23400000 +0 (?:NOTYPE|OBJECT) +LOCAL +DEFAULT +[0-9]+ foo -#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/provide-hidden.exp binutils-2.30.52.20180613/ld/testsuite/ld-elf/provide-hidden.exp --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/provide-hidden.exp 2018-02-01 10:48:06.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/provide-hidden.exp 2018-06-04 21:27:35.000000000 +0200 @@ -86,7 +86,9 @@ "$LFLAGS -T provide-hidden-1.ld" "tmpdir/provide-hidden-s.so" \ "" \ [list provide-hidden-3.s] \ - [list "readelf -s provide-hidden-dynsec.nd"] \ + [list \ + [list readelf -s provide-hidden-sec.nd] \ + [list readelf -s provide-hidden-dyn.nd]] \ "provide-hidden-4"] \ [list \ "$testname 5" \ @@ -138,7 +140,9 @@ "$LFLAGS -T provide-hidden-2.ld" "tmpdir/provide-hidden-s.so" \ "" \ [list provide-hidden-3.s] \ - [list "readelf -s provide-hidden-dynabs.nd"] \ + [list \ + [list readelf -s provide-hidden-abs.nd] \ + [list readelf -s provide-hidden-dyn.nd]] \ "provide-hidden-10"] \ [list \ "$testname 11" \ diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/sec64k.exp binutils-2.30.52.20180613/ld/testsuite/ld-elf/sec64k.exp --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/sec64k.exp 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/sec64k.exp 2018-06-04 21:27:35.000000000 +0200 @@ -40,6 +40,7 @@ || [istarget "h8300-*-*"] || [istarget "ip2k-*-*"] || [istarget "m68hc1*-*"] + || [istarget "s12z-*"] || [istarget "xgate-*"] } { return } diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/shared.exp binutils-2.30.52.20180613/ld/testsuite/ld-elf/shared.exp --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/shared.exp 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/shared.exp 2018-06-13 10:31:39.000000000 +0200 @@ -1349,3 +1349,109 @@ mix_pic_and_non_pic [list "arm*-*-*" "aarch64*-*-*"] "" "" "pr19719" mix_pic_and_non_pic [] "-fPIE" "-pie" "pr19719pie" + +if { ([istarget "i?86-*-*"] + || [istarget "x86_64-*-*"]) } { + run_ld_link_tests [list \ + [list \ + "Build libpr23162a.so" \ + "-shared" \ + "" \ + "$AFLAGS_PIC" \ + { pr23162a.c } \ + "" \ + "libpr23162a.so" \ + "-fPIC -O2" \ + ] \ + [list \ + "Build pr23162a" \ + "-pie --no-as-needed tmpdir/libpr23162a.so" \ + "" \ + "-mrelax-relocations=yes" \ + { pr23162b.c } \ + {{readelf {--dyn-syms -rW} pr23162.rd}} \ + "pr23162a" \ + "-fPIC -O0" \ + ] \ + [list \ + "Build libpr23162b.so" \ + "-shared --version-script=pr23162.map" \ + "" \ + "$AFLAGS_PIC" \ + { pr23162a.c } \ + "" \ + "libpr23162b.so" \ + "-fPIC -O2" \ + ] \ + [list \ + "Build pr23162b" \ + "-pie --no-as-needed tmpdir/libpr23162b.so" \ + "" \ + "-mrelax-relocations=yes" \ + { pr23162b.c } \ + {{readelf {--dyn-syms -rW} pr23162.rd}} \ + "pr23162b" \ + "-fPIC -O0" \ + ] \ + [list \ + "Build libpr23161a.so" \ + "-shared" \ + "" \ + "$AFLAGS_PIC" \ + { pr23161a.c } \ + {{readelf {--dyn-syms -rW} pr23161a.rd}} \ + "libpr23161a.so" \ + "-fPIC -O2" \ + ] \ + [list \ + "Build pr23161a" \ + "-pie --no-as-needed tmpdir/libpr23161a.so" \ + "" \ + "-mrelax-relocations=yes" \ + { pr23161b.c } \ + {{readelf {--dyn-syms -rW} pr23161b.rd}} \ + "pr23161a" \ + "-fPIC -O0" \ + ] \ + [list \ + "Build libpr23161b.so" \ + "-shared --version-script=pr23161.map" \ + "" \ + "$AFLAGS_PIC" \ + { pr23161a.c } \ + {{readelf {--dyn-syms -rW} pr23161a.rd}} \ + "libpr23161b.so" \ + "-fPIC -O2" \ + ] \ + [list \ + "Build pr23161b" \ + "-pie --no-as-needed tmpdir/libpr23161b.so" \ + "" \ + "-mrelax-relocations=yes" \ + { pr23161b.c } \ + {{readelf {--dyn-syms -rW} pr23161b.rd}} \ + "pr23161b" \ + "-fPIC -O0" \ + ] \ + [list \ + "Build libpr23161c.so" \ + "-shared" \ + "" \ + "$AFLAGS_PIC" \ + { pr23161c.c } \ + {{readelf {--dyn-syms -rW} pr23161c.rd}} \ + "libpr23161c.so" \ + "-fPIC -O2" \ + ] \ + [list \ + "Build pr23161c" \ + "-pie --no-as-needed tmpdir/libpr23161c.so" \ + "" \ + "-mrelax-relocations=yes" \ + { pr23161b.c } \ + {{readelf {--dyn-syms -rW} pr23161d.rd}} \ + "pr23161c" \ + "-fPIC -O0" \ + ] \ + ] +} diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-elf/stack-noexec.rd binutils-2.30.52.20180613/ld/testsuite/ld-elf/stack-noexec.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-elf/stack-noexec.rd 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-elf/stack-noexec.rd 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,3 @@ +#... + GNU_STACK 0x0+00000 0x0+000000 0x0+000000 0x0+000 0x.+0000 RW 0x[0-9a-f]+ +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-frv/fdpic-shared-1.d binutils-2.30.52.20180613/ld/testsuite/ld-frv/fdpic-shared-1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-frv/fdpic-shared-1.d 2016-10-17 09:59:28.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-frv/fdpic-shared-1.d 2018-06-13 10:31:39.000000000 +0200 @@ -23,9 +23,9 @@ [0-9a-f ]+: 80 fc ff f8 setlos 0xf+ff8,gr0 [0-9a-f ]+: 80 f4 ff f8 setlo 0xfff8,gr0 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0 -[0-9a-f ]+: 80 40 ff ec addi gr15,-20,gr0 -[0-9a-f ]+: 80 fc ff ec setlos 0xf+fec,gr0 -[0-9a-f ]+: 80 f4 ff ec setlo 0xffec,gr0 +[0-9a-f ]+: 80 40 ff (ec|f0) addi gr15,.*,gr0 +[0-9a-f ]+: 80 fc ff (ec|f0) setlos .*,gr0 +[0-9a-f ]+: 80 f4 ff (ec|f0) setlo .*,gr0 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0 [0-9a-f ]+: 80 f4 00 14 setlo 0x14,gr0 [0-9a-f ]+: 80 f8 00 00 sethi hi\(0x0\),gr0 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-frv/fdpic-shared-2.d binutils-2.30.52.20180613/ld/testsuite/ld-frv/fdpic-shared-2.d --- binutils-2.30.51.20180512/ld/testsuite/ld-frv/fdpic-shared-2.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-frv/fdpic-shared-2.d 2018-06-13 10:31:39.000000000 +0200 @@ -37,9 +37,9 @@ [0-9a-f ]+: 80 fc ff e8 setlos 0xf*ffffffe8,gr0 [0-9a-f ]+: 80 f4 ff e0 setlo 0xffe0,gr0 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0 -[0-9a-f ]+: 80 40 ff d8 addi gr15,-40,gr0 -[0-9a-f ]+: 80 fc ff d8 setlos 0xf+fd8,gr0 -[0-9a-f ]+: 80 f4 ff d8 setlo 0xffd8,gr0 +[0-9a-f ]+: 80 40 ff d4 addi gr15,-44,gr0 +[0-9a-f ]+: 80 fc ff d4 setlos 0xf+fd4,gr0 +[0-9a-f ]+: 80 f4 ff d4 setlo 0xffd4,gr0 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0 [0-9a-f ]+: 80 f4 00 1c setlo 0x1c,gr0 [0-9a-f ]+: 80 f8 00 00 sethi hi\(0x0\),gr0 @@ -56,16 +56,16 @@ [0-9A-F ]+isassembly of section \.got: [0-9a-f ]+<.got>: -[0-9a-f ]+: 00 00 04 a4 .* +[0-9a-f ]+: 00 00 04 20 .* [0-9a-f ]+: R_FRV_FUNCDESC_VALUE GF9 [0-9a-f ]+: 00 00 00 00 .* -[0-9a-f ]+: 00 00 04 9c .* +[0-9a-f ]+: 00 00 04 18 .* [0-9a-f ]+: R_FRV_FUNCDESC_VALUE GF8 [0-9a-f ]+: 00 00 00 00 .* -[0-9a-f ]+: 00 00 04 ac .* +[0-9a-f ]+: 00 00 04 28 .* [0-9a-f ]+: R_FRV_FUNCDESC_VALUE GF7 [0-9a-f ]+: 00 00 00 00 .* -[0-9a-f ]+: 00 00 04 94 .* +[0-9a-f ]+: 00 00 04 10 .* [0-9a-f ]+: R_FRV_FUNCDESC_VALUE GF0 [0-9a-f ]+: 00 00 00 00 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-frv/fdpic-shared-3.d binutils-2.30.52.20180613/ld/testsuite/ld-frv/fdpic-shared-3.d --- binutils-2.30.51.20180512/ld/testsuite/ld-frv/fdpic-shared-3.d 2016-10-17 09:59:28.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-frv/fdpic-shared-3.d 2018-06-13 10:31:39.000000000 +0200 @@ -23,9 +23,9 @@ [0-9a-f ]+: 80 fc ff e8 setlos 0xf*ffffffe8,gr0 [0-9a-f ]+: 80 f4 ff d8 setlo 0xffd8,gr0 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0 -[0-9a-f ]+: 80 40 ff bc addi gr15,-68,gr0 -[0-9a-f ]+: 80 fc ff bc setlos 0xf+fbc,gr0 -[0-9a-f ]+: 80 f4 ff bc setlo 0xffbc,gr0 +[0-9a-f ]+: 80 40 ff (bc|c0) addi gr15,.*,gr0 +[0-9a-f ]+: 80 fc ff (bc|c0) setlos .*,gr0 +[0-9a-f ]+: 80 f4 ff (bc|c0) setlo .*,gr0 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0 [0-9a-f ]+: 80 f4 00 24 setlo 0x24,gr0 [0-9a-f ]+: 80 f8 00 00 sethi hi\(0x0\),gr0 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-frv/fdpic-shared-4.d binutils-2.30.52.20180613/ld/testsuite/ld-frv/fdpic-shared-4.d --- binutils-2.30.51.20180512/ld/testsuite/ld-frv/fdpic-shared-4.d 2016-10-17 09:59:28.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-frv/fdpic-shared-4.d 2018-06-13 10:31:39.000000000 +0200 @@ -23,9 +23,9 @@ [0-9a-f ]+: 80 fc ff f0 setlos 0xf+ff0,gr0 [0-9a-f ]+: 80 f4 ff e8 setlo 0xffe8,gr0 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0 -[0-9a-f ]+: 80 40 ff dc addi gr15,-36,gr0 -[0-9a-f ]+: 80 fc ff dc setlos 0xf+fdc,gr0 -[0-9a-f ]+: 80 f4 ff dc setlo 0xffdc,gr0 +[0-9a-f ]+: 80 40 ff (dc|e0) addi gr15,.*,gr0 +[0-9a-f ]+: 80 fc ff (dc|e0) setlos .*,gr0 +[0-9a-f ]+: 80 f4 ff (dc|e0) setlo .*,gr0 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0 [0-9a-f ]+: 80 f4 00 14 setlo 0x14,gr0 [0-9a-f ]+: 80 f8 00 00 sethi hi\(0x0\),gr0 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-frv/fdpic-shared-5.d binutils-2.30.52.20180613/ld/testsuite/ld-frv/fdpic-shared-5.d --- binutils-2.30.51.20180512/ld/testsuite/ld-frv/fdpic-shared-5.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-frv/fdpic-shared-5.d 2018-06-13 10:31:39.000000000 +0200 @@ -49,16 +49,16 @@ Disassembly of section \.got: [0-9a-f ]+<.got>: -[0-9a-f ]+: 00 00 04 7c .* +[0-9a-f ]+: 00 00 03 f8 .* [0-9a-f ]+: R_FRV_FUNCDESC_VALUE UF9 [0-9a-f ]+: 00 00 00 00 .* -[0-9a-f ]+: 00 00 04 64 .* +[0-9a-f ]+: 00 00 03 e0 .* [0-9a-f ]+: R_FRV_FUNCDESC_VALUE UF8 [0-9a-f ]+: 00 00 00 00 .* -[0-9a-f ]+: 00 00 04 74 .* +[0-9a-f ]+: 00 00 03 f0 .* [0-9a-f ]+: R_FRV_FUNCDESC_VALUE UF0 [0-9a-f ]+: 00 00 00 00 .* -[0-9a-f ]+: 00 00 04 6c .* +[0-9a-f ]+: 00 00 03 e8 .* [0-9a-f ]+: R_FRV_FUNCDESC_VALUE UF7 [0-9a-f ]+: 00 00 00 00 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-frv/fdpic-shared-7.d binutils-2.30.52.20180613/ld/testsuite/ld-frv/fdpic-shared-7.d --- binutils-2.30.51.20180512/ld/testsuite/ld-frv/fdpic-shared-7.d 2016-10-17 09:59:28.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-frv/fdpic-shared-7.d 2018-06-13 10:31:39.000000000 +0200 @@ -23,9 +23,9 @@ [0-9a-f ]+: 80 fc ff f8 setlos 0xf*fffffff8,gr0 [0-9a-f ]+: 80 f4 ff f8 setlo 0xfff8,gr0 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0 -[0-9a-f ]+: 80 40 ff f0 addi gr15,-16,gr0 -[0-9a-f ]+: 80 fc ff f0 setlos 0xf+ff0,gr0 -[0-9a-f ]+: 80 f4 ff f0 setlo 0xfff0,gr0 +[0-9a-f ]+: 80 40 ff (f0|f4) addi gr15,.*,gr0 +[0-9a-f ]+: 80 fc ff (f0|f4) setlos .*,gr0 +[0-9a-f ]+: 80 f4 ff (f0|f4) setlo .*,gr0 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0 [0-9a-f ]+: 80 f4 00 14 setlo 0x14,gr0 [0-9a-f ]+: 80 f8 00 00 sethi hi\(0x0\),gr0 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-frv/fdpic-shared-8.d binutils-2.30.52.20180613/ld/testsuite/ld-frv/fdpic-shared-8.d --- binutils-2.30.51.20180512/ld/testsuite/ld-frv/fdpic-shared-8.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-frv/fdpic-shared-8.d 2018-06-13 10:31:39.000000000 +0200 @@ -23,9 +23,9 @@ [0-9a-f ]+: 80 fc ff f0 setlos 0xf+ff0,gr0 [0-9a-f ]+: 80 f4 ff c8 setlo 0xffc8,gr0 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0 -[0-9a-f ]+: 80 40 ff c0 addi gr15,-64,gr0 -[0-9a-f ]+: 80 fc ff c0 setlos 0xf+fc0,gr0 -[0-9a-f ]+: 80 f4 ff c0 setlo 0xffc0,gr0 +[0-9a-f ]+: 80 40 ff c4 addi gr15,-60,gr0 +[0-9a-f ]+: 80 fc ff c4 setlos 0xf+fc4,gr0 +[0-9a-f ]+: 80 f4 ff c4 setlo 0xffc4,gr0 [0-9a-f ]+: 80 f8 ff ff sethi 0xffff,gr0 [0-9a-f ]+: 80 f4 00 20 setlo 0x20,gr0 [0-9a-f ]+: 80 f8 00 00 sethi hi\(0x0\),gr0 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-frv/tls-dynamic-2.d binutils-2.30.52.20180613/ld/testsuite/ld-frv/tls-dynamic-2.d --- binutils-2.30.51.20180512/ld/testsuite/ld-frv/tls-dynamic-2.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-frv/tls-dynamic-2.d 2018-06-13 10:31:39.000000000 +0200 @@ -156,32 +156,32 @@ Disassembly of section \.got: [0-9a-f ]+<.*>: -[0-9a-f ]+: 00 01 02 c0 .* +[0-9a-f ]+: 00 01 02 38 .* [0-9a-f ]+: 00 00 08 21 .* -[0-9a-f ]+: 00 01 02 c0 .* +[0-9a-f ]+: 00 01 02 38 .* [0-9a-f ]+: 00 00 f8 21 .* -[0-9a-f ]+: 00 01 02 c0 .* +[0-9a-f ]+: 00 01 02 38 .* [0-9a-f ]+: 00 00 00 01 .* [0-9a-f ]+: 00 00 00 00 .* [0-9a-f ]+: R_FRV_TLSDESC_VALUE x [0-9a-f ]+: 00 00 00 01 .* -[0-9a-f ]+: 00 01 02 c0 .* +[0-9a-f ]+: 00 01 02 38 .* [0-9a-f ]+: ff ff f8 11 .* -[0-9a-f ]+: 00 01 02 c0 .* +[0-9a-f ]+: 00 01 02 38 .* [0-9a-f ]+: 00 00 10 01 .* [0-9a-f ]+: 00 00 00 00 .* [0-9a-f ]+: R_FRV_TLSDESC_VALUE x [0-9a-f ]+: 00 00 10 01 .* -[0-9a-f ]+: 00 01 02 c0 .* +[0-9a-f ]+: 00 01 02 38 .* [0-9a-f ]+: 00 00 08 11 .* -[0-9a-f ]+: 00 01 02 c0 .* +[0-9a-f ]+: 00 01 02 38 .* [0-9a-f ]+: 00 01 00 01 .* [0-9a-f ]+: 00 00 00 00 .* [0-9a-f ]+: R_FRV_TLSDESC_VALUE x [0-9a-f ]+: 00 01 00 01 .* -[0-9a-f ]+: 00 01 02 c0 .* +[0-9a-f ]+: 00 01 02 38 .* [0-9a-f ]+: 00 00 f8 11 .* -[0-9a-f ]+: 00 01 02 c0 .* +[0-9a-f ]+: 00 01 02 38 .* [0-9a-f ]+: ff ff f8 21 .* [0-9a-f ]+<_GLOBAL_OFFSET_TABLE_>: diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/i386.exp binutils-2.30.52.20180613/ld/testsuite/ld-i386/i386.exp --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/i386.exp 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/i386.exp 2018-06-04 21:27:35.000000000 +0200 @@ -458,6 +458,8 @@ run_dump_test "pr22135" run_dump_test "pr22782" run_dump_test "pr22929" +run_dump_test "pr23189" +run_dump_test "pr23194" if { !([istarget "i?86-*-linux*"] || [istarget "i?86-*-gnu*"] diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-1.d binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-1.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-1.d 2018-06-13 10:31:39.000000000 +0200 @@ -7,45 +7,45 @@ Disassembly of section .plt: -0+1b0 <.plt>: +0+160 <.plt>: +[a-f0-9]+: ff b3 04 00 00 00 pushl 0x4\(%ebx\) +[a-f0-9]+: ff a3 08 00 00 00 jmp \*0x8\(%ebx\) +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%eax\) +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: 68 00 00 00 00 push \$0x0 - +[a-f0-9]+: e9 e2 ff ff ff jmp 1b0 <.plt> + +[a-f0-9]+: e9 e2 ff ff ff jmp 160 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: 68 08 00 00 00 push \$0x8 - +[a-f0-9]+: e9 d2 ff ff ff jmp 1b0 <.plt> + +[a-f0-9]+: e9 d2 ff ff ff jmp 160 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .plt.sec: -0+1e0 : +0+190 : +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\) +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) -0+1f0 : +0+1a0 : +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: ff a3 10 00 00 00 jmp \*0x10\(%ebx\) +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) Disassembly of section .text: -0+200 : +0+1b0 : +[a-f0-9]+: 53 push %ebx - +[a-f0-9]+: e8 18 00 00 00 call 21e <__x86.get_pc_thunk.bx> + +[a-f0-9]+: e8 18 00 00 00 call 1ce <__x86.get_pc_thunk.bx> +[a-f0-9]+: 81 c3 36 11 00 00 add \$0x1136,%ebx +[a-f0-9]+: 83 ec 08 sub \$0x8,%esp - +[a-f0-9]+: e8 dc ff ff ff call 1f0 - +[a-f0-9]+: e8 c7 ff ff ff call 1e0 + +[a-f0-9]+: e8 dc ff ff ff call 1a0 + +[a-f0-9]+: e8 c7 ff ff ff call 190 +[a-f0-9]+: 83 c4 08 add \$0x8,%esp +[a-f0-9]+: 5b pop %ebx +[a-f0-9]+: c3 ret -0+21e <__x86.get_pc_thunk.bx>: +0+1ce <__x86.get_pc_thunk.bx>: +[a-f0-9]+: 8b 1c 24 mov \(%esp\),%ebx +[a-f0-9]+: c3 ret #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-2a.d binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-2a.d --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-2a.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-2a.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,45 +8,45 @@ Disassembly of section .plt: -0+1b0 <.plt>: +0+160 <.plt>: +[a-f0-9]+: ff b3 04 00 00 00 pushl 0x4\(%ebx\) +[a-f0-9]+: ff a3 08 00 00 00 jmp \*0x8\(%ebx\) +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%eax\) +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: 68 00 00 00 00 push \$0x0 - +[a-f0-9]+: e9 e2 ff ff ff jmp 1b0 <.plt> + +[a-f0-9]+: e9 e2 ff ff ff jmp 160 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: 68 08 00 00 00 push \$0x8 - +[a-f0-9]+: e9 d2 ff ff ff jmp 1b0 <.plt> + +[a-f0-9]+: e9 d2 ff ff ff jmp 160 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .plt.sec: -0+1e0 : +0+190 : +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\) +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) -0+1f0 : +0+1a0 : +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: ff a3 10 00 00 00 jmp \*0x10\(%ebx\) +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) Disassembly of section .text: -0+200 : +0+1b0 : +[a-f0-9]+: 53 push %ebx - +[a-f0-9]+: e8 18 00 00 00 call 21e <__x86.get_pc_thunk.bx> + +[a-f0-9]+: e8 18 00 00 00 call 1ce <__x86.get_pc_thunk.bx> +[a-f0-9]+: 81 c3 36 11 00 00 add \$0x1136,%ebx +[a-f0-9]+: 83 ec 08 sub \$0x8,%esp - +[a-f0-9]+: e8 dc ff ff ff call 1f0 - +[a-f0-9]+: e8 c7 ff ff ff call 1e0 + +[a-f0-9]+: e8 dc ff ff ff call 1a0 + +[a-f0-9]+: e8 c7 ff ff ff call 190 +[a-f0-9]+: 83 c4 08 add \$0x8,%esp +[a-f0-9]+: 5b pop %ebx +[a-f0-9]+: c3 ret -0+21e <__x86.get_pc_thunk.bx>: +0+1ce <__x86.get_pc_thunk.bx>: +[a-f0-9]+: 8b 1c 24 mov \(%esp\),%ebx +[a-f0-9]+: c3 ret #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-2b.d binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-2b.d --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-2b.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-2b.d 2018-06-13 10:31:39.000000000 +0200 @@ -18,31 +18,31 @@ DW_CFA_nop DW_CFA_nop -0+18 0000001c 0000001c FDE cie=00000000 pc=00000200..0000021e - DW_CFA_advance_loc: 1 to 00000201 +0+18 0000001c 0000001c FDE cie=00000000 pc=000001b0..000001ce + DW_CFA_advance_loc: 1 to 000001b1 DW_CFA_def_cfa_offset: 8 DW_CFA_offset: r3 \(ebx\) at cfa-8 - DW_CFA_advance_loc: 14 to 0000020f + DW_CFA_advance_loc: 14 to 000001bf DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 13 to 0000021c + DW_CFA_advance_loc: 13 to 000001cc DW_CFA_def_cfa_offset: 8 - DW_CFA_advance_loc: 1 to 0000021d + DW_CFA_advance_loc: 1 to 000001cd DW_CFA_restore: r3 \(ebx\) DW_CFA_def_cfa_offset: 4 -0+38 00000010 0000003c FDE cie=00000000 pc=0000021e..00000222 +0+38 00000010 0000003c FDE cie=00000000 pc=000001ce..000001d2 DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+4c 00000020 00000050 FDE cie=00000000 pc=000001b0..000001e0 +0+4c 00000020 00000050 FDE cie=00000000 pc=00000160..00000190 DW_CFA_def_cfa_offset: 8 - DW_CFA_advance_loc: 6 to 000001b6 + DW_CFA_advance_loc: 6 to 00000166 DW_CFA_def_cfa_offset: 12 - DW_CFA_advance_loc: 10 to 000001c0 + DW_CFA_advance_loc: 10 to 00000170 DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\) -0+70 00000010 00000074 FDE cie=00000000 pc=000001e0..00000200 +0+70 00000010 00000074 FDE cie=00000000 pc=00000190..000001b0 DW_CFA_nop DW_CFA_nop DW_CFA_nop diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-2c.d binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-2c.d --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-2c.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-2c.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,45 +8,45 @@ Disassembly of section .plt: -0+1b0 <.plt>: +0+160 <.plt>: +[a-f0-9]+: ff b3 04 00 00 00 pushl 0x4\(%ebx\) +[a-f0-9]+: ff a3 08 00 00 00 jmp \*0x8\(%ebx\) +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%eax\) +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: 68 00 00 00 00 push \$0x0 - +[a-f0-9]+: e9 e2 ff ff ff jmp 1b0 <.plt> + +[a-f0-9]+: e9 e2 ff ff ff jmp 160 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: 68 08 00 00 00 push \$0x8 - +[a-f0-9]+: e9 d2 ff ff ff jmp 1b0 <.plt> + +[a-f0-9]+: e9 d2 ff ff ff jmp 160 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .plt.sec: -0+1e0 : +0+190 : +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\) +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) -0+1f0 : +0+1a0 : +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: ff a3 10 00 00 00 jmp \*0x10\(%ebx\) +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) Disassembly of section .text: -0+200 : +0+1b0 : +[a-f0-9]+: 53 push %ebx - +[a-f0-9]+: e8 18 00 00 00 call 21e <__x86.get_pc_thunk.bx> + +[a-f0-9]+: e8 18 00 00 00 call 1ce <__x86.get_pc_thunk.bx> +[a-f0-9]+: 81 c3 36 11 00 00 add \$0x1136,%ebx +[a-f0-9]+: 83 ec 08 sub \$0x8,%esp - +[a-f0-9]+: e8 dc ff ff ff call 1f0 - +[a-f0-9]+: e8 c7 ff ff ff call 1e0 + +[a-f0-9]+: e8 dc ff ff ff call 1a0 + +[a-f0-9]+: e8 c7 ff ff ff call 190 +[a-f0-9]+: 83 c4 08 add \$0x8,%esp +[a-f0-9]+: 5b pop %ebx +[a-f0-9]+: c3 ret -0+21e <__x86.get_pc_thunk.bx>: +0+1ce <__x86.get_pc_thunk.bx>: +[a-f0-9]+: 8b 1c 24 mov \(%esp\),%ebx +[a-f0-9]+: c3 ret #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-2d.d binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-2d.d --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-2d.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-2d.d 2018-06-13 10:31:39.000000000 +0200 @@ -18,31 +18,31 @@ DW_CFA_nop DW_CFA_nop -0+18 0000001c 0000001c FDE cie=00000000 pc=00000200..0000021e - DW_CFA_advance_loc: 1 to 00000201 +0+18 0000001c 0000001c FDE cie=00000000 pc=000001b0..000001ce + DW_CFA_advance_loc: 1 to 000001b1 DW_CFA_def_cfa_offset: 8 DW_CFA_offset: r3 \(ebx\) at cfa-8 - DW_CFA_advance_loc: 14 to 0000020f + DW_CFA_advance_loc: 14 to 000001bf DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 13 to 0000021c + DW_CFA_advance_loc: 13 to 000001cc DW_CFA_def_cfa_offset: 8 - DW_CFA_advance_loc: 1 to 0000021d + DW_CFA_advance_loc: 1 to 000001cd DW_CFA_restore: r3 \(ebx\) DW_CFA_def_cfa_offset: 4 -0+38 00000010 0000003c FDE cie=00000000 pc=0000021e..00000222 +0+38 00000010 0000003c FDE cie=00000000 pc=000001ce..000001d2 DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+4c 00000020 00000050 FDE cie=00000000 pc=000001b0..000001e0 +0+4c 00000020 00000050 FDE cie=00000000 pc=00000160..00000190 DW_CFA_def_cfa_offset: 8 - DW_CFA_advance_loc: 6 to 000001b6 + DW_CFA_advance_loc: 6 to 00000166 DW_CFA_def_cfa_offset: 12 - DW_CFA_advance_loc: 10 to 000001c0 + DW_CFA_advance_loc: 10 to 00000170 DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\) -0+70 00000010 00000074 FDE cie=00000000 pc=000001e0..00000200 +0+70 00000010 00000074 FDE cie=00000000 pc=00000190..000001b0 DW_CFA_nop DW_CFA_nop DW_CFA_nop diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-3a.d binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-3a.d --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-3a.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-3a.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,45 +8,45 @@ Disassembly of section .plt: -0+190 <.plt>: +0+140 <.plt>: +[a-f0-9]+: ff b3 04 00 00 00 pushl 0x4\(%ebx\) +[a-f0-9]+: ff a3 08 00 00 00 jmp \*0x8\(%ebx\) +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%eax\) +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: 68 00 00 00 00 push \$0x0 - +[a-f0-9]+: e9 e2 ff ff ff jmp 190 <.plt> + +[a-f0-9]+: e9 e2 ff ff ff jmp 140 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: 68 08 00 00 00 push \$0x8 - +[a-f0-9]+: e9 d2 ff ff ff jmp 190 <.plt> + +[a-f0-9]+: e9 d2 ff ff ff jmp 140 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .plt.sec: -0+1c0 : +0+170 : +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\) +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) -0+1d0 : +0+180 : +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: ff a3 10 00 00 00 jmp \*0x10\(%ebx\) +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) Disassembly of section .text: -0+1e0 : +0+190 : +[a-f0-9]+: 53 push %ebx - +[a-f0-9]+: e8 18 00 00 00 call 1fe <__x86.get_pc_thunk.bx> + +[a-f0-9]+: e8 18 00 00 00 call 1ae <__x86.get_pc_thunk.bx> +[a-f0-9]+: 81 c3 1a 11 00 00 add \$0x111a,%ebx +[a-f0-9]+: 83 ec 08 sub \$0x8,%esp - +[a-f0-9]+: e8 dc ff ff ff call 1d0 - +[a-f0-9]+: e8 c7 ff ff ff call 1c0 + +[a-f0-9]+: e8 dc ff ff ff call 180 + +[a-f0-9]+: e8 c7 ff ff ff call 170 +[a-f0-9]+: 83 c4 08 add \$0x8,%esp +[a-f0-9]+: 5b pop %ebx +[a-f0-9]+: c3 ret -0+1fe <__x86.get_pc_thunk.bx>: +0+1ae <__x86.get_pc_thunk.bx>: +[a-f0-9]+: 8b 1c 24 mov \(%esp\),%ebx +[a-f0-9]+: c3 ret #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-3b.d binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-3b.d --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-3b.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-3b.d 2018-06-13 10:31:39.000000000 +0200 @@ -18,31 +18,31 @@ DW_CFA_nop DW_CFA_nop -0+18 0000001c 0000001c FDE cie=00000000 pc=000001e0..000001fe - DW_CFA_advance_loc: 1 to 000001e1 +0+18 0000001c 0000001c FDE cie=00000000 pc=00000190..000001ae + DW_CFA_advance_loc: 1 to 00000191 DW_CFA_def_cfa_offset: 8 DW_CFA_offset: r3 \(ebx\) at cfa-8 - DW_CFA_advance_loc: 14 to 000001ef + DW_CFA_advance_loc: 14 to 0000019f DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 13 to 000001fc + DW_CFA_advance_loc: 13 to 000001ac DW_CFA_def_cfa_offset: 8 - DW_CFA_advance_loc: 1 to 000001fd + DW_CFA_advance_loc: 1 to 000001ad DW_CFA_restore: r3 \(ebx\) DW_CFA_def_cfa_offset: 4 -0+38 00000010 0000003c FDE cie=00000000 pc=000001fe..00000202 +0+38 00000010 0000003c FDE cie=00000000 pc=000001ae..000001b2 DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+4c 00000020 00000050 FDE cie=00000000 pc=00000190..000001c0 +0+4c 00000020 00000050 FDE cie=00000000 pc=00000140..00000170 DW_CFA_def_cfa_offset: 8 - DW_CFA_advance_loc: 6 to 00000196 + DW_CFA_advance_loc: 6 to 00000146 DW_CFA_def_cfa_offset: 12 - DW_CFA_advance_loc: 10 to 000001a0 + DW_CFA_advance_loc: 10 to 00000150 DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\) -0+70 00000010 00000074 FDE cie=00000000 pc=000001c0..000001e0 +0+70 00000010 00000074 FDE cie=00000000 pc=00000170..00000190 DW_CFA_nop DW_CFA_nop DW_CFA_nop diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-3c.d binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-3c.d --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-3c.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-3c.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,45 +8,45 @@ Disassembly of section .plt: -0+190 <.plt>: +0+140 <.plt>: +[a-f0-9]+: ff b3 04 00 00 00 pushl 0x4\(%ebx\) +[a-f0-9]+: ff a3 08 00 00 00 jmp \*0x8\(%ebx\) +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%eax\) +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: 68 00 00 00 00 push \$0x0 - +[a-f0-9]+: e9 e2 ff ff ff jmp 190 <.plt> + +[a-f0-9]+: e9 e2 ff ff ff jmp 140 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: 68 08 00 00 00 push \$0x8 - +[a-f0-9]+: e9 d2 ff ff ff jmp 190 <.plt> + +[a-f0-9]+: e9 d2 ff ff ff jmp 140 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .plt.sec: -0+1c0 : +0+170 : +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\) +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) -0+1d0 : +0+180 : +[a-f0-9]+: f3 0f 1e fb endbr32 +[a-f0-9]+: ff a3 10 00 00 00 jmp \*0x10\(%ebx\) +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) Disassembly of section .text: -0+1e0 : +0+190 : +[a-f0-9]+: 53 push %ebx - +[a-f0-9]+: e8 18 00 00 00 call 1fe <__x86.get_pc_thunk.bx> + +[a-f0-9]+: e8 18 00 00 00 call 1ae <__x86.get_pc_thunk.bx> +[a-f0-9]+: 81 c3 1a 11 00 00 add \$0x111a,%ebx +[a-f0-9]+: 83 ec 08 sub \$0x8,%esp - +[a-f0-9]+: e8 dc ff ff ff call 1d0 - +[a-f0-9]+: e8 c7 ff ff ff call 1c0 + +[a-f0-9]+: e8 dc ff ff ff call 180 + +[a-f0-9]+: e8 c7 ff ff ff call 170 +[a-f0-9]+: 83 c4 08 add \$0x8,%esp +[a-f0-9]+: 5b pop %ebx +[a-f0-9]+: c3 ret -0+1fe <__x86.get_pc_thunk.bx>: +0+1ae <__x86.get_pc_thunk.bx>: +[a-f0-9]+: 8b 1c 24 mov \(%esp\),%ebx +[a-f0-9]+: c3 ret #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-3d.d binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-3d.d --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/ibt-plt-3d.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/ibt-plt-3d.d 2018-06-13 10:31:39.000000000 +0200 @@ -18,31 +18,31 @@ DW_CFA_nop DW_CFA_nop -0+18 0000001c 0000001c FDE cie=00000000 pc=00000200..0000021e - DW_CFA_advance_loc: 1 to 00000201 +0+18 0000001c 0000001c FDE cie=00000000 pc=000001b0..000001ce + DW_CFA_advance_loc: 1 to 000001b1 DW_CFA_def_cfa_offset: 8 DW_CFA_offset: r3 \(ebx\) at cfa-8 - DW_CFA_advance_loc: 14 to 0000020f + DW_CFA_advance_loc: 14 to 000001bf DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 13 to 0000021c + DW_CFA_advance_loc: 13 to 000001cc DW_CFA_def_cfa_offset: 8 - DW_CFA_advance_loc: 1 to 0000021d + DW_CFA_advance_loc: 1 to 000001cd DW_CFA_restore: r3 \(ebx\) DW_CFA_def_cfa_offset: 4 -0+38 00000010 0000003c FDE cie=00000000 pc=0000021e..00000222 +0+38 00000010 0000003c FDE cie=00000000 pc=000001ce..000001d2 DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+4c 00000020 00000050 FDE cie=00000000 pc=000001b0..000001e0 +0+4c 00000020 00000050 FDE cie=00000000 pc=00000160..00000190 DW_CFA_def_cfa_offset: 8 - DW_CFA_advance_loc: 6 to 000001b6 + DW_CFA_advance_loc: 6 to 00000166 DW_CFA_def_cfa_offset: 12 - DW_CFA_advance_loc: 10 to 000001c0 + DW_CFA_advance_loc: 10 to 00000170 DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\) -0+70 00000010 00000074 FDE cie=00000000 pc=000001e0..00000200 +0+70 00000010 00000074 FDE cie=00000000 pc=00000190..000001b0 DW_CFA_nop DW_CFA_nop DW_CFA_nop diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/plt2.dd binutils-2.30.52.20180613/ld/testsuite/ld-i386/plt2.dd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/plt2.dd 2017-05-16 02:03:49.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/plt2.dd 2018-06-13 10:31:39.000000000 +0200 @@ -9,26 +9,26 @@ Disassembly of section .plt: -0+80481c0 <.plt>: - +[a-f0-9]+: ff 35 a0 92 04 08 pushl 0x80492a0 - +[a-f0-9]+: ff 25 a4 92 04 08 jmp \*0x80492a4 +0+8048160 <.plt>: + +[a-f0-9]+: ff 35 40 92 04 08 pushl 0x8049240 + +[a-f0-9]+: ff 25 44 92 04 08 jmp \*0x8049244 +[a-f0-9]+: 00 00 add %al,\(%eax\) ... -0+80481d0 : - +[a-f0-9]+: ff 25 a8 92 04 08 jmp \*0x80492a8 +0+8048170 : + +[a-f0-9]+: ff 25 48 92 04 08 jmp \*0x8049248 +[a-f0-9]+: 68 00 00 00 00 push \$0x0 - +[a-f0-9]+: e9 e0 ff ff ff jmp 80481c0 <.plt> + +[a-f0-9]+: e9 e0 ff ff ff jmp 8048160 <.plt> -0+80481e0 : - +[a-f0-9]+: ff 25 ac 92 04 08 jmp \*0x80492ac +0+8048180 : + +[a-f0-9]+: ff 25 4c 92 04 08 jmp \*0x804924c +[a-f0-9]+: 68 08 00 00 00 push \$0x8 - +[a-f0-9]+: e9 d0 ff ff ff jmp 80481c0 <.plt> + +[a-f0-9]+: e9 d0 ff ff ff jmp 8048160 <.plt> Disassembly of section .text: -0+80481f0 <_start>: - +[a-f0-9]+: e8 db ff ff ff call 80481d0 - +[a-f0-9]+: e8 e6 ff ff ff call 80481e0 - +[a-f0-9]+: 81 7c 24 04 d0 81 04 08 cmpl \$0x80481d0,0x4\(%esp\) +0+8048190 <_start>: + +[a-f0-9]+: e8 db ff ff ff call 8048170 + +[a-f0-9]+: e8 e6 ff ff ff call 8048180 + +[a-f0-9]+: 81 7c 24 04 70 81 04 08 cmpl \$0x8048170,0x4\(%esp\) #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/pr20830.d binutils-2.30.52.20180613/ld/testsuite/ld-i386/pr20830.d --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/pr20830.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/pr20830.d 2018-06-13 10:31:39.000000000 +0200 @@ -20,19 +20,19 @@ DW_CFA_nop DW_CFA_nop -0+18 00000010 0000001c FDE cie=00000000 pc=00000188..00000193 +0+18 00000010 0000001c FDE cie=00000000 pc=00000128..00000133 DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+2c 00000020 00000030 FDE cie=00000000 pc=00000170..00000180 +0+2c 00000020 00000030 FDE cie=00000000 pc=00000110..00000120 DW_CFA_def_cfa_offset: 8 - DW_CFA_advance_loc: 6 to 00000176 + DW_CFA_advance_loc: 6 to 00000116 DW_CFA_def_cfa_offset: 12 - DW_CFA_advance_loc: 10 to 00000180 + DW_CFA_advance_loc: 10 to 00000120 DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\) -0+50 00000010 00000054 FDE cie=00000000 pc=00000180..00000188 +0+50 00000010 00000054 FDE cie=00000000 pc=00000120..00000128 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -40,7 +40,7 @@ Disassembly of section .plt: -0+170 <.plt>: +0+110 <.plt>: +[a-f0-9]+: ff b3 04 00 00 00 pushl 0x4\(%ebx\) +[a-f0-9]+: ff a3 08 00 00 00 jmp \*0x8\(%ebx\) +[a-f0-9]+: 00 00 add %al,\(%eax\) @@ -48,13 +48,13 @@ Disassembly of section .plt.got: -0+180 : +0+120 : +[a-f0-9]+: ff a3 fc ff ff ff jmp \*-0x4\(%ebx\) +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .text: -0+188 : - +[a-f0-9]+: e8 f3 ff ff ff call 180 +0+128 : + +[a-f0-9]+: e8 f3 ff ff ff call 120 +[a-f0-9]+: 8b 83 fc ff ff ff mov -0x4\(%ebx\),%eax #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/pr23189.d binutils-2.30.52.20180613/ld/testsuite/ld-i386/pr23189.d --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/pr23189.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/pr23189.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,5 @@ +#as: --32 -mrelax-relocations=yes +#ld: -shared -melf_i386 -T pr23189.t +#readelf: -r --wide + +There are no relocations in this file. diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/pr23189.s binutils-2.30.52.20180613/ld/testsuite/ld-i386/pr23189.s --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/pr23189.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/pr23189.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,5 @@ + .globl _start + .type _start, @function +_start: + movl __hidden_sym@GOT(%eax), %eax + .size _start, .-_start diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/pr23189.t binutils-2.30.52.20180613/ld/testsuite/ld-i386/pr23189.t --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/pr23189.t 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/pr23189.t 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,11 @@ +EXTERN(_start) +ENTRY(_start) + +SECTIONS +{ + .text : + { + HIDDEN (__hidden_sym = .); + *(.text*) + } +} diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/pr23194.d binutils-2.30.52.20180613/ld/testsuite/ld-i386/pr23194.d --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/pr23194.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/pr23194.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,7 @@ +#as: --32 -mrelax-relocations=yes +#ld: -shared -melf_i386 --version-script pr23194.map +#readelf: -r --wide + +Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entry: + Offset Info Type Sym. Value Symbol's Name +[0-9a-f]+ +[0-9a-f]+ +R_386_GLOB_DAT +[0-9a-f]+ +foobar@@FOO diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/pr23194.map binutils-2.30.52.20180613/ld/testsuite/ld-i386/pr23194.map --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/pr23194.map 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/pr23194.map 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,7 @@ +FOO { + global: + bar; + foobar; + local: + *; +}; diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/pr23194.s binutils-2.30.52.20180613/ld/testsuite/ld-i386/pr23194.s --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/pr23194.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/pr23194.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,13 @@ + .text + .symver foo,foo@FOO + .globl foo + .type foo, @function +foo: + movl foobar@GOT(%ebx), %eax + .size foo, .-foo + .globl bar + .type bar, @function +bar: + jmp *foo@GOT(%eax) + .size bar, .-bar + .comm foobar,30,4 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsbin2-nacl.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsbin2-nacl.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsbin2-nacl.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsbin2-nacl.rd 2018-06-13 10:31:39.000000000 +0200 @@ -73,11 +73,8 @@ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND ___tls_get_addr diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsbin2.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsbin2.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsbin2.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsbin2.rd 2018-06-13 10:31:39.000000000 +0200 @@ -71,11 +71,8 @@ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND ___tls_get_addr diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsbindesc-nacl.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsbindesc-nacl.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsbindesc-nacl.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsbindesc-nacl.rd 2018-06-13 10:31:39.000000000 +0200 @@ -60,9 +60,9 @@ 0*100310ec +00000425 R_386_TLS_TPOFF32 0+ +sG2 0*100310f0 +00000525 R_386_TLS_TPOFF32 0+ +sG4 0*100310f4 +0000050e R_386_TLS_TPOFF +0+ +sG4 -0*100310f8 +00000725 R_386_TLS_TPOFF32 0+ +sG6 -0*100310fc +00000825 R_386_TLS_TPOFF32 0+ +sG1 -0*10031100 +00000b0e R_386_TLS_TPOFF +0+ +sG8 +0*100310f8 +00000625 R_386_TLS_TPOFF32 0+ +sG6 +0*100310fc +00000725 R_386_TLS_TPOFF32 0+ +sG1 +0*10031100 +0000080e R_386_TLS_TPOFF +0+ +sG8 Symbol table '\.dynsym' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx Name @@ -72,11 +72,8 @@ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8 Symbol table '\.symtab' contains [0-9]+ entries: diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsbindesc.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsbindesc.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsbindesc.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsbindesc.rd 2018-06-13 10:31:39.000000000 +0200 @@ -58,9 +58,9 @@ 0+804a0ec +00000425 R_386_TLS_TPOFF32 0+ +sG2 0+804a0f0 +00000525 R_386_TLS_TPOFF32 0+ +sG4 0+804a0f4 +0000050e R_386_TLS_TPOFF +0+ +sG4 -0+804a0f8 +00000725 R_386_TLS_TPOFF32 0+ +sG6 -0+804a0fc +00000825 R_386_TLS_TPOFF32 0+ +sG1 -0+804a100 +00000b0e R_386_TLS_TPOFF +0+ +sG8 +0+804a0f8 +00000625 R_386_TLS_TPOFF32 0+ +sG6 +0+804a0fc +00000725 R_386_TLS_TPOFF32 0+ +sG1 +0+804a100 +0000080e R_386_TLS_TPOFF +0+ +sG8 Symbol table '\.dynsym' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx Name @@ -70,11 +70,8 @@ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8 Symbol table '\.symtab' contains [0-9]+ entries: diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsbin-nacl.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsbin-nacl.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsbin-nacl.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsbin-nacl.rd 2018-06-13 10:31:39.000000000 +0200 @@ -78,11 +78,8 @@ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND ___tls_get_addr diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsbin.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsbin.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsbin.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsbin.rd 2018-06-13 10:31:39.000000000 +0200 @@ -76,11 +76,8 @@ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND ___tls_get_addr diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsdesc-nacl.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsdesc-nacl.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsdesc-nacl.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsdesc-nacl.rd 2018-06-13 10:31:39.000000000 +0200 @@ -87,12 +87,9 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +1 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -143,9 +140,6 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +1 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsdesc.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsdesc.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsdesc.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsdesc.rd 2018-06-13 10:31:39.000000000 +0200 @@ -85,12 +85,9 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +6 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -141,9 +138,6 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +6 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsgdesc-nacl.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsgdesc-nacl.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsgdesc-nacl.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsgdesc-nacl.rd 2018-06-13 10:31:39.000000000 +0200 @@ -67,12 +67,9 @@ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr Symbol table '\.symtab' contains [0-9]+ entries: @@ -94,10 +91,7 @@ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsgdesc.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsgdesc.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsgdesc.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsgdesc.rd 2018-06-13 10:31:39.000000000 +0200 @@ -65,12 +65,9 @@ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr Symbol table '\.symtab' contains [0-9]+ entries: @@ -92,10 +89,7 @@ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsnopic.dd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsnopic.dd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsnopic.dd 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsnopic.dd 2018-06-13 10:31:39.000000000 +0200 @@ -16,14 +16,14 @@ +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+c,%eax + +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+(c|8),%eax # ->R_386_TLS_TPOFF sg1 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # @indntpoff direct %gs access IE against global var - +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+0,%edx + +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+(0|c),%edx # ->R_386_TLS_TPOFF sg2 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -36,14 +36,14 @@ +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+4,%eax + +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+(4|0),%eax # ->R_386_TLS_TPOFF [0x14000000] +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # @indntpoff direct %gs access IE against hidden var - +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+8,%edx + +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+(8|4),%edx # ->R_386_TLS_TPOFF [0x18000000] +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -56,14 +56,14 @@ +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+4,%eax + +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+(4|0),%eax # ->R_386_TLS_TPOFF [0x00000000] +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # @indntpoff direct %gs access IE against local var - +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+8,%edx + +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+(8|4),%edx # ->R_386_TLS_TPOFF [0x04000000] +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsnopic-nacl.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsnopic-nacl.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsnopic-nacl.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsnopic-nacl.rd 2018-06-13 10:31:39.000000000 +0200 @@ -16,9 +16,9 @@ +\[[ 0-9]+\] \.dynstr +.* +\[[ 0-9]+\] \.rel.dyn +.* +\[[ 0-9]+\] \.tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ 000024 00 WAT +0 +0 +1 - +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10010284 .* - +\[[ 0-9]+\] \.got +PROGBITS +0*10010304 .* - +\[[ 0-9]+\] \.got.plt +PROGBITS +0*1001031c .* + +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10010230 .* + +\[[ 0-9]+\] \.got +PROGBITS +0*100102b0 .* + +\[[ 0-9]+\] \.got.plt +PROGBITS +0*100102c8 .* +\[[ 0-9]+\] \.symtab +.* +\[[ 0-9]+\] \.strtab +.* +\[[ 0-9]+\] \.shstrtab +.* @@ -77,10 +77,7 @@ +[0-9]+: 0+ +0 +FUNC +GLOBAL +DEFAULT +1 fn3 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -105,14 +102,11 @@ +[0-9]+: 0+1c +0 +TLS +LOCAL +DEFAULT +6 sh3 +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +6 sh4 +[0-9]+: 0+14 +0 +TLS +LOCAL +DEFAULT +6 sh1 - +[0-9]+: 0*1001031c +0 +OBJECT +LOCAL +DEFAULT +9 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0*100102c8 +0 +OBJECT +LOCAL +DEFAULT +9 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+18 +0 +TLS +LOCAL +DEFAULT +6 sh2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg3 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg4 +[0-9]+: 0+ +0 +FUNC +GLOBAL +DEFAULT +1 fn3 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsnopic.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsnopic.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsnopic.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsnopic.rd 2018-06-13 10:31:39.000000000 +0200 @@ -75,10 +75,7 @@ +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +5 fn3 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -110,7 +107,4 @@ +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +5 fn3 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsnopic.sd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsnopic.sd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlsnopic.sd 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlsnopic.sd 2018-06-13 10:31:39.000000000 +0200 @@ -8,5 +8,5 @@ .*: file format elf32-i386.* Contents of section \.got: - [0-9a-f]+4 00000000 04000000 00000000 00000000 .* - [0-9a-f]+4 14000000 18000000 +.* + [0-9a-f]+(4|0) 00000000 04000000 00000000 00000000 .* + [0-9a-f]+(4|0) 14000000 18000000 +.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlspic2-nacl.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlspic2-nacl.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlspic2-nacl.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlspic2-nacl.rd 2018-06-13 10:31:39.000000000 +0200 @@ -85,12 +85,9 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +6 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +6 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +1 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +6 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +6 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +6 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr Symbol table '\.symtab' contains [0-9]+ entries: @@ -140,10 +137,7 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +6 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +6 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +1 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +6 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +6 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +6 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlspic2.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlspic2.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlspic2.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlspic2.rd 2018-06-13 10:31:39.000000000 +0200 @@ -83,12 +83,9 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +6 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +6 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +6 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +6 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +6 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr Symbol table '\.symtab' contains [0-9]+ entries: @@ -138,10 +135,7 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +6 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +6 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +6 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +6 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +6 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlspic-nacl.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlspic-nacl.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlspic-nacl.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlspic-nacl.rd 2018-06-13 10:31:39.000000000 +0200 @@ -90,12 +90,9 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr Symbol table '\.symtab' contains [0-9]+ entries: @@ -147,10 +144,7 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlspic.rd binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlspic.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-i386/tlspic.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-i386/tlspic.rd 2018-06-13 10:31:39.000000000 +0200 @@ -88,12 +88,9 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr Symbol table '\.symtab' contains [0-9]+ entries: @@ -145,10 +142,7 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ia64/merge1.d binutils-2.30.52.20180613/ld/testsuite/ld-ia64/merge1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ia64/merge1.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ia64/merge1.d 2018-06-13 10:31:39.000000000 +0200 @@ -4,7 +4,7 @@ #objdump: -d #... -0+1e0 <.text>: +0+160 <.text>: [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;; [ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1 [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;; diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ia64/merge2.d binutils-2.30.52.20180613/ld/testsuite/ld-ia64/merge2.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ia64/merge2.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ia64/merge2.d 2018-06-13 10:31:39.000000000 +0200 @@ -4,7 +4,7 @@ #objdump: -d #... -0+1e0 <.text>: +0+160 <.text>: [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;; [ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1 [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;; diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ia64/merge3.d binutils-2.30.52.20180613/ld/testsuite/ld-ia64/merge3.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ia64/merge3.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ia64/merge3.d 2018-06-13 10:31:39.000000000 +0200 @@ -4,7 +4,7 @@ #objdump: -d #... -0+210 <.text>: +0+190 <.text>: [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;; [ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1 [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;; diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ia64/merge4.d binutils-2.30.52.20180613/ld/testsuite/ld-ia64/merge4.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ia64/merge4.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ia64/merge4.d 2018-06-13 10:31:39.000000000 +0200 @@ -4,7 +4,7 @@ #objdump: -d #... -0+240 <.text>: +0+1c0 <.text>: [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;; [ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1 [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;; diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ia64/merge5.d binutils-2.30.52.20180613/ld/testsuite/ld-ia64/merge5.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ia64/merge5.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ia64/merge5.d 2018-06-13 10:31:39.000000000 +0200 @@ -4,7 +4,7 @@ #objdump: -d #... -0+270 <.text>: +0+1f0 <.text>: [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;; [ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1 [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;; diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ia64/tlsbin.rd binutils-2.30.52.20180613/ld/testsuite/ld-ia64/tlsbin.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-ia64/tlsbin.rd 2017-11-14 14:43:45.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ia64/tlsbin.rd 2018-06-13 10:31:39.000000000 +0200 @@ -61,10 +61,7 @@ .* NOTYPE +LOCAL +DEFAULT +UND * .* TLS +GLOBAL +DEFAULT +UND sG2 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr -.* NOTYPE +GLOBAL +DEFAULT +15 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG1 -.* NOTYPE +GLOBAL +DEFAULT +15 _edata -.* NOTYPE +GLOBAL +DEFAULT +15 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ia64/tlspic.rd binutils-2.30.52.20180613/ld/testsuite/ld-ia64/tlspic.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-ia64/tlspic.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ia64/tlspic.rd 2018-06-13 10:31:39.000000000 +0200 @@ -66,12 +66,9 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +10 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +14 __bss_start .* TLS +GLOBAL +DEFAULT +10 sg2 .* TLS +GLOBAL +DEFAULT +10 sg6 .* TLS +GLOBAL +DEFAULT +10 sg7 -.* NOTYPE +GLOBAL +DEFAULT +14 _edata -.* NOTYPE +GLOBAL +DEFAULT +14 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size Type +Bind +Vis +Ndx Name @@ -125,9 +122,6 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +10 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +14 __bss_start .* TLS +GLOBAL +DEFAULT +10 sg2 .* TLS +GLOBAL +DEFAULT +10 sg6 .* TLS +GLOBAL +DEFAULT +10 sg7 -.* NOTYPE +GLOBAL +DEFAULT +14 _edata -.* NOTYPE +GLOBAL +DEFAULT +14 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-10-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-10-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-10-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-10-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -2,5 +2,6 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* There are no relocations in this file. diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-10-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-10-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-10-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-10-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -2,5 +2,6 @@ #as: --64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* There are no relocations in this file. diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-11-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-11-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-11-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-11-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -2,5 +2,6 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* There are no relocations in this file. diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-11-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-11-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-11-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-11-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -2,5 +2,6 @@ #as: --64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* There are no relocations in this file. diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-12-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-12-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-12-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-12-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -2,5 +2,6 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* There are no relocations in this file. diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-12-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-12-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-12-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-12-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -2,5 +2,6 @@ #as: --64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* There are no relocations in this file. diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-13-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-13-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-13-i386.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-13-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --32 -mrelax-relocations=yes #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.ifunc' at offset 0x[0-9a-f]+ contains 1 entry: [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.ifunc' at offset 0x[0-9a-f]+ contains 1 entry: [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14a-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14a-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14a-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14a-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --32 #readelf: -d --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* #failif #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14a-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14a-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14a-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14a-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --64 #readelf: -d #target: x86_64-*-* +#notarget: x86_64-*-nacl* #failif #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14b-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14b-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14b-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14b-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --32 #readelf: -d --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* #failif #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14b-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14b-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14b-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14b-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --64 #readelf: -d #target: x86_64-*-* +#notarget: x86_64-*-nacl* #failif #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14c-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14c-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14c-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14c-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* #failif #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14c-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14c-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14c-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14c-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* #failif #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14d-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14d-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14d-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14d-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* #failif #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14d-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14d-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14d-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14d-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* #failif #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14e-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14e-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14e-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14e-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -5,6 +5,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* #failif #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14e-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14e-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14e-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14e-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -5,6 +5,7 @@ #as: --64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* #failif #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14f-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14f-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14f-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14f-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -5,6 +5,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* #failif #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14f-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14f-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-14f-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-14f-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -5,6 +5,7 @@ #as: --64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* #failif #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-15-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-15-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-15-i386.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-15-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.got' at offset 0x[0-9a-f]+ contains 1 entry: [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-15-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-15-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-15-x86-64.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-15-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #as: --64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.got' at offset 0x[0-9a-f]+ contains 1 entry: [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-16-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-16-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-16-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-16-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-16-i386-now.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-16-i386-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-16-i386-now.d 2017-05-16 02:03:49.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-16-i386-now.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-16-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-16-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-16-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-16-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #ld: -shared -melf_x86_64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-16-x86-64-now.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-16-x86-64-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-16-x86-64-now.d 2017-05-16 02:03:49.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-16-x86-64-now.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #ld: -z now -shared -melf_x86_64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-17a-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-17a-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-17a-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-17a-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --32 #readelf: -s --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* #... +[0-9]+: +[0-9a-f]+ +4 +OBJECT +GLOBAL +DEFAULT +[1-9] foo diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-17a-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-17a-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-17a-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-17a-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --64 #readelf: -s --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* #... +[0-9]+: +[0-9a-f]+ +4 +OBJECT +GLOBAL +DEFAULT +[1-9] foo diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-17b-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-17b-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-17b-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-17b-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --32 #readelf: -s --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* #... +[0-9]+: +[0-9a-f]+ +4 +OBJECT +GLOBAL +DEFAULT +[1-9] foo diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-17b-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-17b-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-17b-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-17b-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --64 #readelf: -s --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* #... +[0-9]+: +[0-9a-f]+ +4 +OBJECT +GLOBAL +DEFAULT +[1-9] foo diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-18a-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-18a-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-18a-i386.d 2016-06-22 11:49:07.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-18a-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.ifunc' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-18a-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-18a-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-18a-x86-64.d 2016-06-22 11:49:07.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-18a-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #ld: -shared -melf_x86_64 -z nocombreloc #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.ifunc' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-18b-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-18b-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-18b-i386.d 2016-06-22 11:49:07.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-18b-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.ifunc' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-18b-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-18b-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-18b-x86-64.d 2016-06-22 11:49:07.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-18b-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #ld: -shared -melf_x86_64 -z nocombreloc #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.ifunc' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-19a-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-19a-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-19a-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-19a-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.ifunc' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-19a-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-19a-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-19a-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-19a-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #ld: -shared -melf_x86_64 -z nocombreloc #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.ifunc' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-19b-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-19b-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-19b-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-19b-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.ifunc' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-19b-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-19b-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-19b-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-19b-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #ld: -shared -melf_x86_64 -z nocombreloc #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.ifunc' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-20-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-20-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-20-i386.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-20-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.ifunc' at offset 0x[0-9a-f]+ contains 1 entry: [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-20-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-20-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-20-x86-64.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-20-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #as: --64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.ifunc' at offset 0x[0-9a-f]+ contains 1 entry: [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-21-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-21-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-21-i386.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-21-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -2,6 +2,7 @@ #as: --32 -mrelax-relocations=yes #objdump: -dw #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* .*: +file format .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-21-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-21-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-21-x86-64.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-21-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -2,6 +2,7 @@ #ld: -melf_x86_64 -z max-page-size=0x200000 -z noseparate-code #objdump: -dw #target: x86_64-*-* +#notarget: x86_64-*-nacl* .*: +file format .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-22-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-22-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-22-i386.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-22-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -2,6 +2,7 @@ #as: --32 -mrelax-relocations=yes #objdump: -dw #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* .*: +file format .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-22-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-22-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-22-x86-64.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-22-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -2,6 +2,7 @@ #ld: -melf_x86_64 -z max-page-size=0x200000 -z noseparate-code #objdump: -dw #target: x86_64-*-* +#notarget: x86_64-*-nacl* .*: +file format .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-26.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-26.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-26.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-26.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,7 @@ +#ld: -shared +#readelf: -h + +ELF Header: +#... + OS/ABI: UNIX - GNU +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-26.s binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-26.s --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-26.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-26.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,8 @@ + .text + .type resolve_do_it, %function +resolve_do_it: + .byte 0 + .size resolve_do_it, .-resolve_do_it + .globl do_it + .type do_it, %gnu_indirect_function + .set do_it,resolve_do_it diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -2,6 +2,7 @@ #as: --32 #objdump: -dw #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* #... [ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-f]+<\*ABS\*@plt> diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-i386-now.d 2018-06-13 10:31:39.000000000 +0200 @@ -10,27 +10,27 @@ Disassembly of section .plt: -0+150 <.plt>: +0+f0 <.plt>: +[a-f0-9]+: ff b3 04 00 00 00 pushl 0x4\(%ebx\) +[a-f0-9]+: ff a3 08 00 00 00 jmp \*0x8\(%ebx\) +[a-f0-9]+: 00 00 add %al,\(%eax\) ... -0+160 <\*ABS\*@plt>: +0+100 <\*ABS\*@plt>: +[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\) +[a-f0-9]+: 68 00 00 00 00 push \$0x0 - +[a-f0-9]+: e9 e0 ff ff ff jmp 150 <.plt> + +[a-f0-9]+: e9 e0 ff ff ff jmp f0 <.plt> Disassembly of section .text: -0+170 : +0+110 : +[a-f0-9]+: c3 ret -0+171 : - +[a-f0-9]+: e8 00 00 00 00 call 176 +0+111 : + +[a-f0-9]+: e8 00 00 00 00 call 116 +[a-f0-9]+: 5b pop %ebx +[a-f0-9]+: 81 c3 9e 10 00 00 add \$0x109e,%ebx - +[a-f0-9]+: e8 de ff ff ff call 160 <\*ABS\*@plt> + +[a-f0-9]+: e8 de ff ff ff call 100 <\*ABS\*@plt> +[a-f0-9]+: 8d 83 4c ef ff ff lea -0x10b4\(%ebx\),%eax +[a-f0-9]+: c3 ret #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-local-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-local-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-local-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-local-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -2,6 +2,7 @@ #as: --32 #objdump: -dw #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* #... [ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-f]+<\*ABS\*@plt> diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-local-i386-now.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-local-i386-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-local-i386-now.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-local-i386-now.d 2018-06-13 10:31:39.000000000 +0200 @@ -10,27 +10,27 @@ Disassembly of section .plt: -0+140 <.plt>: +0+e0 <.plt>: +[a-f0-9]+: ff b3 04 00 00 00 pushl 0x4\(%ebx\) +[a-f0-9]+: ff a3 08 00 00 00 jmp \*0x8\(%ebx\) +[a-f0-9]+: 00 00 add %al,\(%eax\) ... -0+150 <\*ABS\*@plt>: +0+f0 <\*ABS\*@plt>: +[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\) +[a-f0-9]+: 68 00 00 00 00 push \$0x0 - +[a-f0-9]+: e9 e0 ff ff ff jmp 140 <.plt> + +[a-f0-9]+: e9 e0 ff ff ff jmp e0 <.plt> Disassembly of section .text: -0+160 <__GI_foo>: +0+100 <__GI_foo>: +[a-f0-9]+: c3 ret -0+161 : - +[a-f0-9]+: e8 00 00 00 00 call 166 +0+101 : + +[a-f0-9]+: e8 00 00 00 00 call 106 +[a-f0-9]+: 5b pop %ebx +[a-f0-9]+: 81 c3 9e 10 00 00 add \$0x109e,%ebx - +[a-f0-9]+: e8 de ff ff ff call 150 <\*ABS\*@plt> + +[a-f0-9]+: e8 de ff ff ff call f0 <\*ABS\*@plt> +[a-f0-9]+: 8d 83 4c ef ff ff lea -0x10b4\(%ebx\),%eax +[a-f0-9]+: c3 ret #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d 2018-06-13 10:31:39.000000000 +0200 @@ -2,8 +2,9 @@ #ld: -shared -melf_x86_64 --hash-style=sysv -z noseparate-code #objdump: -dw #target: x86_64-*-* +#notarget: x86_64-*-nacl* #... -[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x210@plt> -[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x210@plt> +[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x190@plt> +[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x190@plt> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d 2018-06-13 10:31:39.000000000 +0200 @@ -10,23 +10,23 @@ Disassembly of section .plt: -0+1f0 <.plt>: - +[a-f0-9]+: ff 35 42 01 20 00 pushq 0x200142\(%rip\) # 200338 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: ff 25 44 01 20 00 jmpq \*0x200144\(%rip\) # 200340 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+170 <.plt>: + +[a-f0-9]+: ff 35 42 01 20 00 pushq 0x200142\(%rip\) # 2002b8 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: ff 25 44 01 20 00 jmpq \*0x200144\(%rip\) # 2002c0 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) -0+200 <\*ABS\*\+0x210@plt>: - +[a-f0-9]+: ff 25 42 01 20 00 jmpq \*0x200142\(%rip\) # 200348 <_GLOBAL_OFFSET_TABLE_\+0x18> +0+180 <\*ABS\*\+0x190@plt>: + +[a-f0-9]+: ff 25 42 01 20 00 jmpq \*0x200142\(%rip\) # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x18> +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: e9 e0 ff ff ff jmpq 1f0 <.plt> + +[a-f0-9]+: e9 e0 ff ff ff jmpq 170 <.plt> Disassembly of section .text: -0+210 : +0+190 : +[a-f0-9]+: c3 retq -0+211 : - +[a-f0-9]+: e8 ea ff ff ff callq 200 <\*ABS\*\+0x210@plt> - +[a-f0-9]+: 48 8d 05 e3 ff ff ff lea -0x1d\(%rip\),%rax # 200 <\*ABS\*\+0x210@plt> +0+191 : + +[a-f0-9]+: e8 ea ff ff ff callq 180 <\*ABS\*\+0x190@plt> + +[a-f0-9]+: 48 8d 05 e3 ff ff ff lea -0x1d\(%rip\),%rax # 180 <\*ABS\*\+0x190@plt> +[a-f0-9]+: c3 retq #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d 2018-06-13 10:31:39.000000000 +0200 @@ -2,8 +2,9 @@ #ld: -shared -melf_x86_64 --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code #objdump: -dw #target: x86_64-*-* +#notarget: x86_64-*-nacl* #... -[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x210@plt> -[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x210@plt> +[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x190@plt> +[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x190@plt> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-2-x86-64-now.d 2018-06-13 10:31:39.000000000 +0200 @@ -10,23 +10,23 @@ Disassembly of section .plt: -0+1f0 <.plt>: - +[a-f0-9]+: ff 35 42 01 20 00 pushq 0x200142\(%rip\) # 200338 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: ff 25 44 01 20 00 jmpq \*0x200144\(%rip\) # 200340 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+170 <.plt>: + +[a-f0-9]+: ff 35 42 01 20 00 pushq 0x200142\(%rip\) # 2002b8 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: ff 25 44 01 20 00 jmpq \*0x200144\(%rip\) # 2002c0 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) -0+200 <\*ABS\*\+0x210@plt>: - +[a-f0-9]+: ff 25 42 01 20 00 jmpq \*0x200142\(%rip\) # 200348 <_GLOBAL_OFFSET_TABLE_\+0x18> +0+180 <\*ABS\*\+0x190@plt>: + +[a-f0-9]+: ff 25 42 01 20 00 jmpq \*0x200142\(%rip\) # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x18> +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: e9 e0 ff ff ff jmpq 1f0 <.plt> + +[a-f0-9]+: e9 e0 ff ff ff jmpq 170 <.plt> Disassembly of section .text: -0+210 : +0+190 : +[a-f0-9]+: c3 retq -0+211 : - +[a-f0-9]+: e8 ea ff ff ff callq 200 <\*ABS\*\+0x210@plt> - +[a-f0-9]+: 48 8d 05 e3 ff ff ff lea -0x1d\(%rip\),%rax # 200 <\*ABS\*\+0x210@plt> +0+191 : + +[a-f0-9]+: e8 ea ff ff ff callq 180 <\*ABS\*\+0x190@plt> + +[a-f0-9]+: 48 8d 05 e3 ff ff ff lea -0x1d\(%rip\),%rax # 180 <\*ABS\*\+0x190@plt> +[a-f0-9]+: c3 retq #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5a-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5a-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5a-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5a-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5a-local-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5a-local-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5a-local-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5a-local-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5a-local-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5a-local-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5a-local-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5a-local-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #ld: -melf_x86_64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5a-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5a-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5a-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5a-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #ld: -melf_x86_64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5b-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5b-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5b-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5b-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.got' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5b-local-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5b-local-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5b-local-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5b-local-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5b-local-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5b-local-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5b-local-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5b-local-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #ld: -melf_x86_64 -shared -z nocombreloc #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5b-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5b-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5b-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5b-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #ld: -melf_x86_64 -shared -z nocombreloc #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.got' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5r-local-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5r-local-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5r-local-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5r-local-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.text' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5r-local-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5r-local-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-5r-local-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-5r-local-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #ld: -r -melf_x86_64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.text' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-6a-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-6a-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-6a-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-6a-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-6a-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-6a-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-6a-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-6a-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #ld: -melf_x86_64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-6b-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-6b-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-6b-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-6b-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.got' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-6b-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-6b-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-6b-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-6b-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #ld: -melf_x86_64 -shared -z nocombreloc #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.got' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-7a-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-7a-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-7a-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-7a-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-7a-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-7a-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-7a-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-7a-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #ld: -melf_x86_64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-7b-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-7b-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-7b-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-7b-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-7b-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-7b-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-7b-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-7b-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -3,6 +3,7 @@ #ld: -melf_x86_64 -shared #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-8-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-8-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-8-i386.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-8-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #as: --32 #readelf: -r --wide #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* Relocation section '.rel.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-8-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-8-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-8-x86-64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-8-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -4,6 +4,7 @@ #ld: -melf_x86_64 #readelf: -r --wide #target: x86_64-*-* +#notarget: x86_64-*-nacl* Relocation section '.rela.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-9-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-9-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-9-i386.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-9-i386.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,10 @@ +#source: ifunc-9-x86.s +#as: --32 +#ld: -m elf_i386 --export-dynamic +#readelf: -r --wide +#target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* + +Relocation section '.rel.plt' at .* +[ ]+Offset[ ]+Info[ ]+Type[ ]+.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_IRELATIVE[ ]* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-9-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-9-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-9-x86-64.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-9-x86-64.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,10 @@ +#source: ifunc-9-x86.s +#as: --64 +#ld: -melf_x86_64 --export-dynamic +#readelf: -r --wide +#target: x86_64-*-* +#notarget: x86_64-*-nacl* + +Relocation section '.rela.plt' at .* +[ ]+Offset[ ]+Info[ ]+Type[ ]+.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_IRELATIVE[ ]+[0-9a-f]* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-9-x86.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-9-x86.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc-9-x86.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc-9-x86.d 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -#ld: --export-dynamic -#error: .*dynamic STT_GNU_IFUNC symbol `foo' with pointer equality in `.*.o' can not be used when making an executable; recompile with -fPIE and relink with -pie -#target: x86_64-*-* i?86-*-* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc.exp binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc.exp --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/ifunc.exp 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/ifunc.exp 2018-06-04 21:27:35.000000000 +0200 @@ -48,6 +48,13 @@ # This test does not need a compiler... run_dump_test "ifuncmod5" +set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]] +foreach t $test_list { + # We need to strip the ".d", but can leave the dirname. + verbose [file rootname $t] + run_dump_test [file rootname $t] +} + # We need a working compiler. (Strictly speaking this is # not true, we could use target specific assembler files). if { [which $CC] == 0 } { @@ -425,13 +432,6 @@ ] \ ] -set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]] -foreach t $test_list { - # We need to strip the ".d", but can leave the dirname. - verbose [file rootname $t] - run_dump_test [file rootname $t] -} - # Run-time tests which require working IFUNC support. if { ![check_ifunc_available] } { return @@ -581,6 +581,76 @@ {} \ "libpr18841cn.so" \ ] \ + [list \ + "Build libpr23169a.so" \ + "-shared" \ + "-fPIC -O2 -g" \ + { pr23169a.c } \ + {} \ + "libpr23169a.so" \ + ] \ + [list \ + "Build libpr23169b.so" \ + "-shared -Wl,-z,now" \ + "-fPIC -O2 -g" \ + { pr23169a.c } \ + {} \ + "libpr23169b.so" \ + ] \ + [list \ + "Build pr23169a" \ + "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libpr23169a.so" \ + "$NOPIE_CFLAGS -O2 -g" \ + { pr23169b.c pr23169c.c } \ + {{readelf {--dyn-syms} pr23169a.rd} \ + {readelf {-r -W} pr23169b.rd}} \ + "pr23169a" \ + ] \ + [list \ + "Build pr23169b" \ + "-pie -Wl,--no-as-needed tmpdir/libpr23169a.so" \ + "-fPIE -O2 -g" \ + { pr23169b.c pr23169c.c } \ + {{readelf {--dyn-syms} pr23169c.rd} \ + {readelf {-r -W} pr23169b.rd}} \ + "pr23169b" \ + ] \ + [list \ + "Build pr23169c" \ + "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libpr23169a.so" \ + "-fPIE -O2 -g" \ + { pr23169b.c pr23169c.c } \ + {{readelf {--dyn-syms} pr23169c.rd} \ + {readelf {-r -W} pr23169b.rd}} \ + "pr23169c" \ + ] \ + [list \ + "Build pr23169d" \ + "$NOPIE_LDFLAGS -Wl,--no-as-needed,-z,now tmpdir/libpr23169b.so" \ + "$NOPIE_CFLAGS -O2 -g" \ + { pr23169b.c pr23169c.c } \ + {{readelf {--dyn-syms} pr23169a.rd} \ + {readelf {-r -W} pr23169b.rd}} \ + "pr23169d" \ + ] \ + [list \ + "Build pr23169e" \ + "-pie -Wl,--no-as-needed,-z,now tmpdir/libpr23169b.so" \ + "-fPIE -O2 -g" \ + { pr23169b.c pr23169c.c } \ + {{readelf {--dyn-syms} pr23169c.rd} \ + {readelf {-r -W} pr23169b.rd}} \ + "pr23169e" \ + ] \ + [list \ + "Build pr23169f" \ + "$NOPIE_LDFLAGS -Wl,--no-as-needed,-z,now tmpdir/libpr23169b.so" \ + "-fPIE -O2 -g" \ + { pr23169b.c pr23169c.c } \ + {{readelf {--dyn-syms} pr23169c.rd} \ + {readelf {-r -W} pr23169b.rd}} \ + "pr23169f" \ + ] \ ] run_ld_link_exec_tests [list \ @@ -632,4 +702,58 @@ "pr18841cn" \ "pr18841.out" \ ] \ + [list \ + "Run pr23169a" \ + "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libpr23169a.so" \ + "" \ + { pr23169b.c pr23169c.c } \ + "pr23169a" \ + "pass.out" \ + "$NOPIE_CFLAGS -O2 -g" \ + ] \ + [list \ + "Run pr23169b" \ + "-pie -Wl,--no-as-needed tmpdir/libpr23169a.so" \ + "" \ + { pr23169b.c pr23169c.c } \ + "pr23169b" \ + "pass.out" \ + "-fPIE -O2 -g" \ + ] \ + [list \ + "Run pr23169c" \ + "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libpr23169a.so" \ + "" \ + { pr23169b.c pr23169c.c } \ + "pr23169c" \ + "pass.out" \ + "-fPIE -O2 -g" \ + ] \ + [list \ + "Run pr23169d" \ + "$NOPIE_LDFLAGS -Wl,--no-as-needed,-z,now tmpdir/libpr23169b.so" \ + "" \ + { pr23169b.c pr23169c.c } \ + "pr23169d" \ + "pass.out" \ + "$NOPIE_CFLAGS -O2 -g" \ + ] \ + [list \ + "Run pr23169e" \ + "-pie -Wl,--no-as-needed,-z,now tmpdir/libpr23169b.so" \ + "" \ + { pr23169b.c pr23169c.c } \ + "pr23169e" \ + "pass.out" \ + "-fPIE -O2 -g" \ + ] \ + [list \ + "Run pr23169f" \ + "$NOPIE_LDFLAGS -Wl,--no-as-needed,-z,now tmpdir/libpr23169b.so" \ + "" \ + { pr23169b.c pr23169c.c } \ + "pr23169f" \ + "pass.out" \ + "-fPIE -O2 -g" \ + ] \ ] diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr17154-i386.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr17154-i386.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr17154-i386.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr17154-i386.d 2018-06-13 10:31:39.000000000 +0200 @@ -3,45 +3,46 @@ #as: --32 #objdump: -dw #target: x86_64-*-* i?86-*-* +#notarget: x86_64-*-nacl* i?86-*-nacl* #... -0+1d0 <.*>: +0+180 <.*>: [ ]*[a-f0-9]+: ff b3 04 00 00 00 pushl 0x4\(%ebx\) [ ]*[a-f0-9]+: ff a3 08 00 00 00 jmp \*0x8\(%ebx\) [ ]*[a-f0-9]+: 00 00 add %al,\(%eax\) ... -0+1e0 <\*ABS\*@plt>: +0+190 <\*ABS\*@plt>: [ ]*[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\) [ ]*[a-f0-9]+: 68 18 00 00 00 push \$0x18 -[ ]*[a-f0-9]+: e9 e0 ff ff ff jmp 1d0 <.*> +[ ]*[a-f0-9]+: e9 e0 ff ff ff jmp 180 <.plt> -0+1f0 : +0+1a0 : [ ]*[a-f0-9]+: ff a3 10 00 00 00 jmp \*0x10\(%ebx\) [ ]*[a-f0-9]+: 68 00 00 00 00 push \$0x0 -[ ]*[a-f0-9]+: e9 d0 ff ff ff jmp 1d0 <.*> +[ ]*[a-f0-9]+: e9 d0 ff ff ff jmp 180 <.plt> -0+200 : +0+1b0 : [ ]*[a-f0-9]+: ff a3 14 00 00 00 jmp \*0x14\(%ebx\) [ ]*[a-f0-9]+: 68 08 00 00 00 push \$0x8 -[ ]*[a-f0-9]+: e9 c0 ff ff ff jmp 1d0 <.*> +[ ]*[a-f0-9]+: e9 c0 ff ff ff jmp 180 <.plt> -0+210 <\*ABS\*@plt>: +0+1c0 <\*ABS\*@plt>: [ ]*[a-f0-9]+: ff a3 18 00 00 00 jmp \*0x18\(%ebx\) [ ]*[a-f0-9]+: 68 10 00 00 00 push \$0x10 -[ ]*[a-f0-9]+: e9 b0 ff ff ff jmp 1d0 <.*> +[ ]*[a-f0-9]+: e9 b0 ff ff ff jmp 180 <.plt> Disassembly of section .text: -0+220 : -[ ]*[a-f0-9]+: e8 cb ff ff ff call 1f0 +0+1d0 : +[ ]*[a-f0-9]+: e8 cb ff ff ff call 1a0 -0+225 : -[ ]*[a-f0-9]+: e9 e6 ff ff ff jmp 210 <\*ABS\*@plt> +0+1d5 : +[ ]*[a-f0-9]+: e9 e6 ff ff ff jmp 1c0 <\*ABS\*@plt> -0+22a : -[ ]*[a-f0-9]+: e8 d1 ff ff ff call 200 +0+1da : +[ ]*[a-f0-9]+: e8 d1 ff ff ff call 1b0 -0+22f : -[ ]*[a-f0-9]+: e9 ac ff ff ff jmp 1e0 <\*ABS\*@plt> +0+1df : +[ ]*[a-f0-9]+: e9 ac ff ff ff jmp 190 <\*ABS\*@plt> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr17154-i386-now.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr17154-i386-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr17154-i386-now.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr17154-i386-now.d 2018-06-13 10:31:39.000000000 +0200 @@ -10,43 +10,43 @@ Disassembly of section .plt: -0+1d0 <.plt>: +0+180 <.plt>: +[a-f0-9]+: ff b3 04 00 00 00 pushl 0x4\(%ebx\) +[a-f0-9]+: ff a3 08 00 00 00 jmp \*0x8\(%ebx\) +[a-f0-9]+: 00 00 add %al,\(%eax\) ... -0+1e0 <\*ABS\*@plt>: +0+190 <\*ABS\*@plt>: +[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\) +[a-f0-9]+: 68 18 00 00 00 push \$0x18 - +[a-f0-9]+: e9 e0 ff ff ff jmp 1d0 <.plt> + +[a-f0-9]+: e9 e0 ff ff ff jmp 180 <.plt> -0+1f0 : +0+1a0 : +[a-f0-9]+: ff a3 10 00 00 00 jmp \*0x10\(%ebx\) +[a-f0-9]+: 68 00 00 00 00 push \$0x0 - +[a-f0-9]+: e9 d0 ff ff ff jmp 1d0 <.plt> + +[a-f0-9]+: e9 d0 ff ff ff jmp 180 <.plt> -0+200 : +0+1b0 : +[a-f0-9]+: ff a3 14 00 00 00 jmp \*0x14\(%ebx\) +[a-f0-9]+: 68 08 00 00 00 push \$0x8 - +[a-f0-9]+: e9 c0 ff ff ff jmp 1d0 <.plt> + +[a-f0-9]+: e9 c0 ff ff ff jmp 180 <.plt> -0+210 <\*ABS\*@plt>: +0+1c0 <\*ABS\*@plt>: +[a-f0-9]+: ff a3 18 00 00 00 jmp \*0x18\(%ebx\) +[a-f0-9]+: 68 10 00 00 00 push \$0x10 - +[a-f0-9]+: e9 b0 ff ff ff jmp 1d0 <.plt> + +[a-f0-9]+: e9 b0 ff ff ff jmp 180 <.plt> Disassembly of section .text: -0+220 : - +[a-f0-9]+: e8 cb ff ff ff call 1f0 +0+1d0 : + +[a-f0-9]+: e8 cb ff ff ff call 1a0 -0+225 : - +[a-f0-9]+: e9 e6 ff ff ff jmp 210 <\*ABS\*@plt> +0+1d5 : + +[a-f0-9]+: e9 e6 ff ff ff jmp 1c0 <\*ABS\*@plt> -0+22a : - +[a-f0-9]+: e8 d1 ff ff ff call 200 +0+1da : + +[a-f0-9]+: e8 d1 ff ff ff call 1b0 -0+22f : - +[a-f0-9]+: e9 ac ff ff ff jmp 1e0 <\*ABS\*@plt> +0+1df : + +[a-f0-9]+: e9 ac ff ff ff jmp 190 <\*ABS\*@plt> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr17154-x86-64.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr17154-x86-64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr17154-x86-64.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr17154-x86-64.d 2018-06-13 10:31:39.000000000 +0200 @@ -3,44 +3,45 @@ #ld: -shared -melf_x86_64 --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code #objdump: -dw #target: x86_64-*-* +#notarget: x86_64-*-nacl* #... -0+2b0 <.*>: -[ ]*[a-f0-9]+: ff 35 5a 01 20 00 pushq 0x20015a\(%rip\) # 200410 <.*> -[ ]*[a-f0-9]+: ff 25 5c 01 20 00 jmpq \*0x20015c\(%rip\) # 200418 <.*> -[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) - -0+2c0 <\*ABS\*\+0x30a@plt>: -[ ]*[a-f0-9]+: ff 25 5a 01 20 00 jmpq \*0x20015a\(%rip\) # 200420 <.*> -[ ]*[a-f0-9]+: 68 03 00 00 00 pushq \$0x3 -[ ]*[a-f0-9]+: e9 e0 ff ff ff jmpq 2b0 <.*> - -0+2d0 : -[ ]*[a-f0-9]+: ff 25 52 01 20 00 jmpq \*0x200152\(%rip\) # 200428 <.*> -[ ]*[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 -[ ]*[a-f0-9]+: e9 d0 ff ff ff jmpq 2b0 <.*> - -0+2e0 : -[ ]*[a-f0-9]+: ff 25 4a 01 20 00 jmpq \*0x20014a\(%rip\) # 200430 <.*> -[ ]*[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 -[ ]*[a-f0-9]+: e9 c0 ff ff ff jmpq 2b0 <.*> - -0+2f0 <\*ABS\*\+0x300@plt>: -[ ]*[a-f0-9]+: ff 25 42 01 20 00 jmpq \*0x200142\(%rip\) # 200438 <.*> -[ ]*[a-f0-9]+: 68 02 00 00 00 pushq \$0x2 -[ ]*[a-f0-9]+: e9 b0 ff ff ff jmpq 2b0 <.*> +0+240 <.*>: + +[a-f0-9]+: ff 35 5a 01 20 00 pushq 0x20015a\(%rip\) # 2003a0 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: ff 25 5c 01 20 00 jmpq \*0x20015c\(%rip\) # 2003a8 <_GLOBAL_OFFSET_TABLE_\+0x10> + +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) + +0+250 <\*ABS\*\+0x29a@plt>: + +[a-f0-9]+: ff 25 5a 01 20 00 jmpq \*0x20015a\(%rip\) # 2003b0 <_GLOBAL_OFFSET_TABLE_\+0x18> + +[a-f0-9]+: 68 03 00 00 00 pushq \$0x3 + +[a-f0-9]+: e9 e0 ff ff ff jmpq 240 <.plt> + +0+260 : + +[a-f0-9]+: ff 25 52 01 20 00 jmpq \*0x200152\(%rip\) # 2003b8 + +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 + +[a-f0-9]+: e9 d0 ff ff ff jmpq 240 <.plt> + +0+270 : + +[a-f0-9]+: ff 25 4a 01 20 00 jmpq \*0x20014a\(%rip\) # 2003c0 + +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 + +[a-f0-9]+: e9 c0 ff ff ff jmpq 240 <.plt> + +0+280 <\*ABS\*\+0x290@plt>: + +[a-f0-9]+: ff 25 42 01 20 00 jmpq \*0x200142\(%rip\) # 2003c8 <_GLOBAL_OFFSET_TABLE_\+0x30> + +[a-f0-9]+: 68 02 00 00 00 pushq \$0x2 + +[a-f0-9]+: e9 b0 ff ff ff jmpq 240 <.plt> Disassembly of section .text: -0+300 : -[ ]*[a-f0-9]+: e8 cb ff ff ff callq 2d0 +0+290 : + +[a-f0-9]+: e8 cb ff ff ff callq 260 -0+305 : -[ ]*[a-f0-9]+: e9 e6 ff ff ff jmpq 2f0 <\*ABS\*\+0x300@plt> +0+295 : + +[a-f0-9]+: e9 e6 ff ff ff jmpq 280 <\*ABS\*\+0x290@plt> -0+30a : -[ ]*[a-f0-9]+: e8 d1 ff ff ff callq 2e0 +0+29a : + +[a-f0-9]+: e8 d1 ff ff ff callq 270 -0+30f : -[ ]*[a-f0-9]+: e9 ac ff ff ff jmpq 2c0 <\*ABS\*\+0x30a@plt> +0+29f : + +[a-f0-9]+: e9 ac ff ff ff jmpq 250 <\*ABS\*\+0x29a@plt> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr17154-x86-64-now.d 2018-06-13 10:31:39.000000000 +0200 @@ -4,48 +4,49 @@ #objdump: -dw #target: x86_64-*-* #notarget: x86_64-*-nacl* +#notarget: x86_64-*-nacl* .*: +file format .* Disassembly of section .plt: -0+2b0 <.plt>: - +[a-f0-9]+: ff 35 7a 01 20 00 pushq 0x20017a\(%rip\) # 200430 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: ff 25 7c 01 20 00 jmpq \*0x20017c\(%rip\) # 200438 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+240 <.plt>: + +[a-f0-9]+: ff 35 7a 01 20 00 pushq 0x20017a\(%rip\) # 2003c0 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: ff 25 7c 01 20 00 jmpq \*0x20017c\(%rip\) # 2003c8 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) -0+2c0 <\*ABS\*\+0x30a@plt>: - +[a-f0-9]+: ff 25 7a 01 20 00 jmpq \*0x20017a\(%rip\) # 200440 <_GLOBAL_OFFSET_TABLE_\+0x18> +0+250 <\*ABS\*\+0x29a@plt>: + +[a-f0-9]+: ff 25 7a 01 20 00 jmpq \*0x20017a\(%rip\) # 2003d0 <_GLOBAL_OFFSET_TABLE_\+0x18> +[a-f0-9]+: 68 03 00 00 00 pushq \$0x3 - +[a-f0-9]+: e9 e0 ff ff ff jmpq 2b0 <.plt> + +[a-f0-9]+: e9 e0 ff ff ff jmpq 240 <.plt> -0+2d0 : - +[a-f0-9]+: ff 25 72 01 20 00 jmpq \*0x200172\(%rip\) # 200448 +0+260 : + +[a-f0-9]+: ff 25 72 01 20 00 jmpq \*0x200172\(%rip\) # 2003d8 +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: e9 d0 ff ff ff jmpq 2b0 <.plt> + +[a-f0-9]+: e9 d0 ff ff ff jmpq 240 <.plt> -0+2e0 : - +[a-f0-9]+: ff 25 6a 01 20 00 jmpq \*0x20016a\(%rip\) # 200450 +0+270 : + +[a-f0-9]+: ff 25 6a 01 20 00 jmpq \*0x20016a\(%rip\) # 2003e0 +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 - +[a-f0-9]+: e9 c0 ff ff ff jmpq 2b0 <.plt> + +[a-f0-9]+: e9 c0 ff ff ff jmpq 240 <.plt> -0+2f0 <\*ABS\*\+0x300@plt>: - +[a-f0-9]+: ff 25 62 01 20 00 jmpq \*0x200162\(%rip\) # 200458 <_GLOBAL_OFFSET_TABLE_\+0x30> +0+280 <\*ABS\*\+0x290@plt>: + +[a-f0-9]+: ff 25 62 01 20 00 jmpq \*0x200162\(%rip\) # 2003e8 <_GLOBAL_OFFSET_TABLE_\+0x30> +[a-f0-9]+: 68 02 00 00 00 pushq \$0x2 - +[a-f0-9]+: e9 b0 ff ff ff jmpq 2b0 <.plt> + +[a-f0-9]+: e9 b0 ff ff ff jmpq 240 <.plt> Disassembly of section .text: -0+300 : - +[a-f0-9]+: e8 cb ff ff ff callq 2d0 +0+290 : + +[a-f0-9]+: e8 cb ff ff ff callq 260 -0+305 : - +[a-f0-9]+: e9 e6 ff ff ff jmpq 2f0 <\*ABS\*\+0x300@plt> +0+295 : + +[a-f0-9]+: e9 e6 ff ff ff jmpq 280 <\*ABS\*\+0x290@plt> -0+30a : - +[a-f0-9]+: e8 d1 ff ff ff callq 2e0 +0+29a : + +[a-f0-9]+: e8 d1 ff ff ff callq 270 -0+30f : - +[a-f0-9]+: e9 ac ff ff ff jmpq 2c0 <\*ABS\*\+0x30a@plt> +0+29f : + +[a-f0-9]+: e9 ac ff ff ff jmpq 250 <\*ABS\*\+0x29a@plt> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr23169a.c binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr23169a.c --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr23169a.c 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr23169a.c 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,9 @@ +int (*func_p) (void); +extern int func (void); + +void +foo (void) +{ + if (func_p != &func || func_p () != 0xbadbeef) + __builtin_abort (); +} diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr23169a.rd binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr23169a.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr23169a.rd 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr23169a.rd 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,6 @@ + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name +#... + +[0-9]+: +[a-f0-9]+ +0 +FUNC +GLOBAL +DEFAULT +[0-9]+ +func +#... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr23169b.c binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr23169b.c --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr23169b.c 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr23169b.c 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,23 @@ +#include + +extern int (*func_p) (void); +extern int func (void); +extern void foo (void); + + +void +bar (void) +{ + if (func_p != &func || func_p () != 0xbadbeef) + __builtin_abort (); +} + +int +main () +{ + func_p = &func; + foo (); + bar (); + printf ("PASS\n"); + return 0; +} diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr23169b.rd binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr23169b.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr23169b.rd 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr23169b.rd 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,3 @@ +#failif +[a-f0-9]+ +[0-9a-f]+ +R_.*_* +[a-f0-9]+ +func(| \+ 0) +... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr23169c.c binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr23169c.c --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr23169c.c 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr23169c.c 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,13 @@ +static int +ifunc (void) +{ + return 0xbadbeef; +} + +void func(void) __attribute__((ifunc("resolve_func"))); + +static void * +resolve_func (void) +{ + return ifunc; +} diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr23169c.rd binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr23169c.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-ifunc/pr23169c.rd 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-ifunc/pr23169c.rd 2018-05-16 15:49:14.000000000 +0200 @@ -0,0 +1,6 @@ + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name +#... + +[0-9]+: +[a-f0-9]+ +[0-9]+ +IFUNC +GLOBAL +DEFAULT +[0-9]+ +func +#... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-m68k/tls-def-1.d binutils-2.30.52.20180613/ld/testsuite/ld-m68k/tls-def-1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-m68k/tls-def-1.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-m68k/tls-def-1.d 2018-06-13 10:31:39.000000000 +0200 @@ -1,4 +1 @@ 00000000 B x -.* -.* -.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-m68k/tls-gd-1.d2 binutils-2.30.52.20180613/ld/testsuite/ld-m68k/tls-gd-1.d2 --- binutils-2.30.51.20180512/ld/testsuite/ld-m68k/tls-gd-1.d2 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-m68k/tls-gd-1.d2 2018-06-13 10:31:39.000000000 +0200 @@ -1,5 +1,2 @@ .* U x .* -.* -.* -.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-metag/shared.d binutils-2.30.52.20180613/ld/testsuite/ld-metag/shared.d --- binutils-2.30.51.20180512/ld/testsuite/ld-metag/shared.d 2016-10-17 09:59:28.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-metag/shared.d 2018-06-13 10:31:39.000000000 +0200 @@ -17,7 +17,7 @@ .*: 82120780 ADD A0.2,A0.2,#0x40f0 .*: c600806a GETD PC,\[A0.2\] .*: 03000004 MOV D1Re0,#0 - .*: a0fffee0 B 184 <.*> + .*: a0fffee0 B .* <\.plt> Disassembly of section .text: .* : @@ -28,7 +28,7 @@ .*: 82000040 ADD A0StP,A0StP,#0x8 .*: 83880001 ADDT A1LbP,CPC1,#0 .*: 830b0660 ADD A1LbP,A1LbP,#0x60cc - .*: abfffe94 CALLR D1RtP,198 + .*: abfffe94 CALLR D1RtP,.* .*: a70c018d GETD D0Ar6,\[A1LbP\+#-8180\] .*: 00000200 ADD D0Re0,D0Re0,D0Ar6 .*: 01000205 MOV D1Re0,A1LbP diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-metag/stub_pic_app.d binutils-2.30.52.20180613/ld/testsuite/ld-metag/stub_pic_app.d --- binutils-2.30.51.20180512/ld/testsuite/ld-metag/stub_pic_app.d 2016-10-17 09:59:28.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-metag/stub_pic_app.d 2018-06-13 10:31:39.000000000 +0200 @@ -7,22 +7,22 @@ .* <.*>: .*: 02008105 MOVT D0Re0,#0x1020 -.*: 02049720 ADD D0Re0,D0Re0,#0x92e4 +.*: 02049480 ADD D0Re0,D0Re0,#0x9290 .*: b70001e3 SETL \[A0StP\+\+\],D0Re0,D1Re0 .*: c600012a GETD PC,\[D0Re0\+#4\] .*: a0fffffe NOP .* <_lib_func@plt>: .*: 82108105 MOVT A0.2,#0x1020 -.*: 821496e0 ADD A0.2,A0.2,#0x92dc +.*: 82149440 ADD A0.2,A0.2,#0x9288 .*: c600806a GETD PC,\[A0.2\] .*: 03000004 MOV D1Re0,#0 .*: a0fffee0 B .* <.*> Disassembly of section .text: .* <__start-0x10>: .*: 82188105 MOVT A0.3,#0x1020 -.*: ac1a91a3 JUMP A0.3,#0x5234 +.*: ac1a8f03 JUMP A0.3,#0x51e0 .*: 82188105 MOVT A0.3,#0x1020 -.*: ac1a9183 JUMP A0.3,#0x5230 +.*: ac1a8ee3 JUMP A0.3,#0x51dc .* <__start>: .*: abffff94 CALLR D1RtP,.* <_lib_func@plt\+0x14> .*: abfffed4 CALLR D1RtP,.* <_lib_func@plt> diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/mips-elf.exp binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/mips-elf.exp --- binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/mips-elf.exp 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/mips-elf.exp 2018-06-13 10:31:39.000000000 +0200 @@ -782,28 +782,35 @@ run_dump_test "hash1c" if {[istarget mips*-*-linux*]} { - # The number of symbols that are always included in the symbol table - # for these tests. The 4 are: - # - # the null symbol entry - # the .MIPS.stubs section symbol - set base_syms 2 - foreach dynsym { 7fff 8000 fff0 10000 2fe80 } { - run_ld_link_tests \ - [list [list \ - "Stub for dynsym 0x$dynsym" \ - "-shared -melf32btsmip -T stub-dynsym-1.ld" "" \ - [concat \ - "-EB -march=mips1 -32 -KPIC" \ - "--defsym base_syms=$base_syms" \ - "--defsym dynsym=0x$dynsym"] \ - [list "stub-dynsym-1.s"] \ - [list [list \ - "objdump" "-dz" \ - "stub-dynsym-1-$dynsym.d"]] \ - "stub-dynsym-1-$dynsym"]] - } - } + # The number of symbols that are always included in the symbol table + # for these tests. The 2 are: + # + # the null symbol entry + # the .MIPS.stubs section symbol + set base_syms 2 + foreach { isa aflag lflag suffix } \ + { MIPS -march=mips1 "" "" \ + microMIPS -mmicromips "" -micromips \ + "microMIPS insn32" "-mmicromips -minsn32" --insn32 \ + -micromips-insn32 } { + foreach dynsym { 7fff 8000 fff0 10000 2fe80 } { + run_ld_link_tests \ + [list [list \ + "Stub for dynsym 0x$dynsym ($isa)" \ + "-shared -melf32btsmip -T stub-dynsym-1.ld $lflag" \ + "" \ + [concat \ + "-EB $aflag -32 -KPIC" \ + "--defsym base_syms=$base_syms" \ + "--defsym dynsym=0x$dynsym"] \ + [list "stub-dynsym-1.s"] \ + [list [list \ + "objdump" "-dz" \ + "stub-dynsym$suffix-1-$dynsym.d"]] \ + "stub-dynsym$suffix-1-$dynsym"]] + } + } +} # For tests which may involve multiple files, use run_ld_link_tests. diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/rel32-n32.d binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/rel32-n32.d --- binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/rel32-n32.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/rel32-n32.d 2018-06-13 10:31:39.000000000 +0200 @@ -10,6 +10,6 @@ [0-9a-f ]+R_MIPS_REL32 Hex dump of section '.text': - 0x000002e0 00000000 00000000 00000000 00000000 ................ - 0x000002f0 000002f0 00000000 00000000 00000000 ................ - 0x00000300 00000000 00000000 00000000 00000000 ................ + 0x00000230 00000000 00000000 00000000 00000000 .* + 0x00000240 00000240 00000000 00000000 00000000 .* + 0x00000250 00000000 00000000 00000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/rel32-o32.d binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/rel32-o32.d --- binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/rel32-o32.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/rel32-o32.d 2018-06-13 10:31:39.000000000 +0200 @@ -10,6 +10,6 @@ [0-9a-f ]+R_MIPS_REL32 Hex dump of section '.text': - 0x000002e0 00000000 00000000 00000000 00000000 ................ - 0x000002f0 000002f0 00000000 00000000 00000000 ................ - 0x00000300 00000000 00000000 00000000 00000000 ................ + 0x00000230 00000000 00000000 00000000 00000000 .* + 0x00000240 00000240 00000000 00000000 00000000 .* + 0x00000250 00000000 00000000 00000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/rel64.d binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/rel64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/rel64.d 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/rel64.d 2018-06-13 10:31:39.000000000 +0200 @@ -14,6 +14,6 @@ +Type3: R_MIPS_NONE Hex dump of section '.text': - 0x00000450 00000000 00000000 00000000 00000000 ................ - 0x00000460 00000000 00000460 00000000 00000000 ................ - 0x00000470 00000000 00000000 00000000 00000000 ................ + 0x00000380 00000000 00000000 00000000 00000000 .* + 0x00000390 00000000 00000390 00000000 00000000 .* + 0x000003a0 00000000 00000000 00000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-10000.d binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-10000.d --- binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-10000.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-10000.d 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,17 @@ +.*: +file format .*mips.* + +Disassembly of section \.MIPS\.stubs: + +.* <_MIPS_STUBS_>: +.*: ff3c 8010 lw t9,-32752\(gp\) +.*: 0dff move t7,ra +.*: 41b8 0001 lui t8,0x1 +.*: 45d9 jalr t9 +.*: 5318 0000 ori t8,t8,0x0 +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop + +Disassembly of section \.text: +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-2fe80.d binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-2fe80.d --- binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-2fe80.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-2fe80.d 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,17 @@ +.*: +file format .*mips.* + +Disassembly of section \.MIPS\.stubs: + +.* <_MIPS_STUBS_>: +.*: ff3c 8010 lw t9,-32752\(gp\) +.*: 0dff move t7,ra +.*: 41b8 0002 lui t8,0x2 +.*: 45d9 jalr t9 +.*: 5318 fe80 ori t8,t8,0xfe80 +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop + +Disassembly of section \.text: +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-7fff.d binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-7fff.d --- binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-7fff.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-7fff.d 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,15 @@ +.*: +file format .*mips.* + +Disassembly of section \.MIPS\.stubs: + +.* <_MIPS_STUBS_>: +.*: ff3c 8010 lw t9,-32752\(gp\) +.*: 0dff move t7,ra +.*: 45d9 jalr t9 +.*: 3300 7fff li t8,32767 +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop + +Disassembly of section \.text: +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-8000.d binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-8000.d --- binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-8000.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-8000.d 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,15 @@ +.*: +file format .*mips.* + +Disassembly of section \.MIPS\.stubs: + +.* <_MIPS_STUBS_>: +.*: ff3c 8010 lw t9,-32752\(gp\) +.*: 0dff move t7,ra +.*: 45d9 jalr t9 +.*: 5300 8000 li t8,0x8000 +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop + +Disassembly of section \.text: +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-fff0.d binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-fff0.d --- binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-fff0.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-1-fff0.d 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,15 @@ +.*: +file format .*mips.* + +Disassembly of section \.MIPS\.stubs: + +.* <_MIPS_STUBS_>: +.*: ff3c 8010 lw t9,-32752\(gp\) +.*: 0dff move t7,ra +.*: 45d9 jalr t9 +.*: 5300 fff0 li t8,0xfff0 +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop + +Disassembly of section \.text: +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-10000.d binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-10000.d --- binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-10000.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-10000.d 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,18 @@ +.*: +file format .*mips.* + +Disassembly of section \.MIPS\.stubs: + +.* <_MIPS_STUBS_>: +.*: ff3c 8010 lw t9,-32752\(gp\) +.*: 001f 7a90 move t7,ra +.*: 41b8 0001 lui t8,0x1 +.*: 03f9 0f3c jalr t9 +.*: 5318 0000 ori t8,t8,0x0 +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop + +Disassembly of section \.text: +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-2fe80.d binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-2fe80.d --- binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-2fe80.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-2fe80.d 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,18 @@ +.*: +file format .*mips.* + +Disassembly of section \.MIPS\.stubs: + +.* <_MIPS_STUBS_>: +.*: ff3c 8010 lw t9,-32752\(gp\) +.*: 001f 7a90 move t7,ra +.*: 41b8 0002 lui t8,0x2 +.*: 03f9 0f3c jalr t9 +.*: 5318 fe80 ori t8,t8,0xfe80 +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop + +Disassembly of section \.text: +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-7fff.d binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-7fff.d --- binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-7fff.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-7fff.d 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,16 @@ +.*: +file format .*mips.* + +Disassembly of section \.MIPS\.stubs: + +.* <_MIPS_STUBS_>: +.*: ff3c 8010 lw t9,-32752\(gp\) +.*: 001f 7a90 move t7,ra +.*: 03f9 0f3c jalr t9 +.*: 3300 7fff li t8,32767 +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop + +Disassembly of section \.text: +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-8000.d binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-8000.d --- binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-8000.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-8000.d 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,16 @@ +.*: +file format .*mips.* + +Disassembly of section \.MIPS\.stubs: + +.* <_MIPS_STUBS_>: +.*: ff3c 8010 lw t9,-32752\(gp\) +.*: 001f 7a90 move t7,ra +.*: 03f9 0f3c jalr t9 +.*: 5300 8000 li t8,0x8000 +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop + +Disassembly of section \.text: +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-fff0.d binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-fff0.d --- binutils-2.30.51.20180512/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-fff0.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-mips-elf/stub-dynsym-micromips-insn32-1-fff0.d 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,16 @@ +.*: +file format .*mips.* + +Disassembly of section \.MIPS\.stubs: + +.* <_MIPS_STUBS_>: +.*: ff3c 8010 lw t9,-32752\(gp\) +.*: 001f 7a90 move t7,ra +.*: 03f9 0f3c jalr t9 +.*: 5300 fff0 li t8,0xfff0 +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop +.*: 0000 0000 nop + +Disassembly of section \.text: +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-plugin/lto.exp binutils-2.30.52.20180613/ld/testsuite/ld-plugin/lto.exp --- binutils-2.30.51.20180512/ld/testsuite/ld-plugin/lto.exp 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-plugin/lto.exp 2018-06-13 10:31:39.000000000 +0200 @@ -572,13 +572,29 @@ if { [is_elf_format] } { run_ld_link_exec_tests $lto_run_elf_tests + + # Note - it is not guaranteed that the ordering of symbols in the dynamic + # symbol table will match the ordering of the symbols specified by the + # --dynamic-list command line option. + # + # For PR22983 we want to make sure that all four symbols specified in + # pr222983.t are present in the output, but a simple sequences of regexps + # will not work as we do not know the order of the symbols. (Readelf + # does not have a symbol sorting option and the run_cc_list_tests proc + # does not allow for the output of the dump program to piped into `sort`). + # + # So instead we run readelf four times, each time checking for the + # presence of a specific symbol from the pr22983.t file. run_cc_link_tests [list \ [list \ "Build pr22983" \ "-Wl,--dynamic-list,pr22983.t" \ "-flto" \ - {pr22983a.c pr22983b.c} \ - {{readelf {--dyn-syms --wide} pr22983.d}} \ + {pr22983a.c pr22983b.c} \ + {{readelf {--dyn-syms --wide} pr22983.1.d} \ + {readelf {--dyn-syms --wide} pr22983.2.d} \ + {readelf {--dyn-syms --wide} pr22983.3.d} \ + {readelf {--dyn-syms --wide} pr22983.4.d}} \ "pr22983" \ ] \ ] diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-plugin/pr22983.1.d binutils-2.30.52.20180613/ld/testsuite/ld-plugin/pr22983.1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-plugin/pr22983.1.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-plugin/pr22983.1.d 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,6 @@ +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name +#... + +[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +OBJECT +GLOBAL +DEFAULT +[0-9]+ +_?var_attr_used_enabled +#pass + diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-plugin/pr22983.2.d binutils-2.30.52.20180613/ld/testsuite/ld-plugin/pr22983.2.d --- binutils-2.30.51.20180512/ld/testsuite/ld-plugin/pr22983.2.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-plugin/pr22983.2.d 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,6 @@ +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name +#... + +[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +OBJECT +GLOBAL +DEFAULT +[0-9]+ +_?var_attr_used_disabled +#pass + diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-plugin/pr22983.3.d binutils-2.30.52.20180613/ld/testsuite/ld-plugin/pr22983.3.d --- binutils-2.30.51.20180512/ld/testsuite/ld-plugin/pr22983.3.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-plugin/pr22983.3.d 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,6 @@ +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name +#... + +[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ +_?func_attr_used_enabled +#pass + diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-plugin/pr22983.4.d binutils-2.30.52.20180613/ld/testsuite/ld-plugin/pr22983.4.d --- binutils-2.30.51.20180512/ld/testsuite/ld-plugin/pr22983.4.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-plugin/pr22983.4.d 2018-06-13 10:31:39.000000000 +0200 @@ -0,0 +1,5 @@ +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name +#... + +[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ +_?func_attr_used_disabled +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/ambiguousv1b.d binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/ambiguousv1b.d --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/ambiguousv1b.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/ambiguousv1b.d 2018-06-13 10:31:39.000000000 +0200 @@ -13,7 +13,7 @@ .* .* R_PPC64_COPY .* my_func \+ 0 -Symbol table '\.dynsym' contains 5 entries: +Symbol table '\.dynsym' contains 2 entries: #... .*: 0*[1-9a-f][0-9a-f]* 4 FUNC GLOBAL DEFAULT 1[23] my_func #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/ambiguousv1.d binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/ambiguousv1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/ambiguousv1.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/ambiguousv1.d 2018-06-13 10:31:39.000000000 +0200 @@ -13,7 +13,7 @@ .* .* R_PPC64_ADDR64 +0+ my_func \+ 0 -Symbol table '\.dynsym' contains 5 entries: +Symbol table '\.dynsym' contains 2 entries: .* 0: .* 1: 0+00000000 0 FUNC GLOBAL DEFAULT UND my_func diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/ambiguousv2b.d binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/ambiguousv2b.d --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/ambiguousv2b.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/ambiguousv2b.d 2018-06-13 10:31:39.000000000 +0200 @@ -14,7 +14,7 @@ .* .* R_PPC64_JMP_SLOT .* my_func \+ 0 -Symbol table '\.dynsym' contains 5 entries: +Symbol table '\.dynsym' contains 2 entries: #... .*: 0*[1-9a-f][0-9a-f]* 0 FUNC GLOBAL DEFAULT UND my_func #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/ambiguousv2.d binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/ambiguousv2.d --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/ambiguousv2.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/ambiguousv2.d 2018-06-13 10:31:39.000000000 +0200 @@ -13,11 +13,10 @@ .* .* R_PPC64_ADDR64 .* my_func \+ 0 -Symbol table '\.dynsym' contains 5 entries: +Symbol table '\.dynsym' contains 2 entries: .* 0: .* 1: 0+00000000 0 FUNC GLOBAL DEFAULT UND my_func -#... Symbol table '\.symtab' contains .* entries: #... diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsexe32.d binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsexe32.d --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsexe32.d 2018-01-21 08:26:09.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsexe32.d 2018-06-13 10:31:39.000000000 +0200 @@ -52,18 +52,18 @@ .*: (7c 03 03 78|78 03 03 7c) mr r3,r0 .*: (60 00 00 00|00 00 00 60) nop .*: (3d 60 01 81|81 01 60 3d) lis r11,385 -.*: (81 6b 04 04|04 04 6b 81) lwz r11,1028\(r11\) +.*: (81 6b 03 94|94 03 6b 81) lwz r11,916\(r11\) .*: (7d 69 03 a6|a6 03 69 7d) mtctr r11 .*: (4e 80 04 20|20 04 80 4e) bctr .* <__glink(_PLTresolve)?>: .*: (3d 80 01 81|81 01 80 3d) lis r12,385 .*: (3d 6b fe 80|80 fe 6b 3d) addis r11,r11,-384 -.*: (80 0c 03 fc|fc 03 0c 80) lwz r0,1020\(r12\) -.*: (39 6b fd 20|20 fd 6b 39) addi r11,r11,-736 +.*: (80 0c 03 8c|8c 03 0c 80) lwz r0,908\(r12\) +.*: (39 6b fd 90|90 fd 6b 39) addi r11,r11,-624 .*: (7c 09 03 a6|a6 03 09 7c) mtctr r0 .*: (7c 0b 5a 14|14 5a 0b 7c) add r0,r11,r11 -.*: (81 8c 04 00|00 04 8c 81) lwz r12,1024\(r12\) +.*: (81 8c 03 90|90 03 8c 81) lwz r12,912\(r12\) .*: (7d 60 5a 14|14 5a 60 7d) add r11,r0,r11 .*: (4e 80 04 20|20 04 80 4e) bctr .*: (60 00 00 00|00 00 00 60) nop diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsexe32.g binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsexe32.g --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsexe32.g 2018-01-21 08:26:09.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsexe32.g 2018-06-13 10:31:39.000000000 +0200 @@ -7,5 +7,5 @@ .* Contents of section \.got: -.* 00000000 00000000 00000000 (0181033c|3c038101) .* +.* 00000000 00000000 00000000 (018102cc|cc028101) .* .* 00000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsexe32.r binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsexe32.r --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsexe32.r 2018-01-21 08:26:09.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsexe32.r 2018-06-13 10:31:39.000000000 +0200 @@ -64,11 +64,7 @@ .* NOTYPE +LOCAL +DEFAULT +UND .* TLS +GLOBAL +DEFAULT +UND gd .* TLS +GLOBAL +DEFAULT +UND ld -.* NOTYPE +GLOBAL +DEFAULT +12 __end -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsexe.d binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsexe.d --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsexe.d 2018-01-21 08:26:09.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsexe.d 2018-06-13 10:31:39.000000000 +0200 @@ -67,8 +67,8 @@ .* (e9 4d 90 2a|2a 90 4d e9) lwa r10,-28632\(r13\) .* (60 00 00 00|00 00 00 60) nop .* (a9 4d 90 30|30 90 4d a9) lha r10,-28624\(r13\) -.* (00 00 00 00|20 02 01 00) .* -.* (00 01 02 20|00 00 00 00) .* +.* (00 00 00 00|80 02 01 00) .* +.* (00 01 02 80|00 00 00 00) .* .* <__glink_PLTresolve>: .* (7d 88 02 a6|a6 02 88 7d) mflr r12 .* (42 9f 00 05|05 00 9f 42) bcl 20,4\*cr7\+so,.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsexe.r binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsexe.r --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsexe.r 2018-01-21 08:26:09.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsexe.r 2018-06-13 10:31:39.000000000 +0200 @@ -65,10 +65,7 @@ .* NOTYPE +LOCAL +DEFAULT +UND * .* TLS +GLOBAL +DEFAULT +UND gd .* TLS +GLOBAL +DEFAULT +UND ld -.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt -.* NOTYPE +GLOBAL +DEFAULT +13 _edata -.* NOTYPE +GLOBAL +DEFAULT +13 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsexetoc.d binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsexetoc.d --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsexetoc.d 2018-01-21 08:26:09.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsexetoc.d 2018-06-13 10:31:39.000000000 +0200 @@ -51,8 +51,8 @@ .* (89 4d 90 60|60 90 4d 89) lbz r10,-28576\(r13\) .* (60 00 00 00|00 00 00 60) nop .* (99 4d 90 68|68 90 4d 99) stb r10,-28568\(r13\) -.* (00 00 00 00|68 02 01 00) .* -.* (00 01 02 68|00 00 00 00) .* +.* (00 00 00 00|e8 02 01 00) .* +.* (00 01 02 e8|00 00 00 00) .* .* <__glink_PLTresolve>: .* (7d 88 02 a6|a6 02 88 7d) mflr r12 .* (42 9f 00 05|05 00 9f 42) bcl 20,4\*cr7\+so,.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsexetoc.r binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsexetoc.r --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsexetoc.r 2018-01-21 08:26:09.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsexetoc.r 2018-06-13 10:31:39.000000000 +0200 @@ -66,10 +66,7 @@ .* NOTYPE +LOCAL +DEFAULT +UND * .* TLS +GLOBAL +DEFAULT +UND gd .* TLS +GLOBAL +DEFAULT +UND ld -.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt -.* NOTYPE +GLOBAL +DEFAULT +13 _edata -.* NOTYPE +GLOBAL +DEFAULT +13 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsso32.g binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsso32.g --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsso32.g 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsso32.g 2018-06-13 10:31:39.000000000 +0200 @@ -9,4 +9,4 @@ Contents of section \.got: .* 00000000 00000000 00000000 00000000 .* .* 00000000 00000000 00000000 00000000 .* -.* 00000000 (0001044c|4c040100) 00000000 00000000 .* +.* 00000000 (000103ec|ec030100) 00000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsso32.r binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsso32.r --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsso32.r 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsso32.r 2018-06-13 10:31:39.000000000 +0200 @@ -52,9 +52,9 @@ [0-9a-f ]+R_PPC_TPREL16 +0+30 +le0 \+ 0 [0-9a-f ]+R_PPC_TPREL16_HA +0+34 +le1 \+ 0 [0-9a-f ]+R_PPC_TPREL16_LO +0+34 +le1 \+ 0 -[0-9a-f ]+R_PPC_TPREL16 +0+10430 +\.tdata \+ 10444 -[0-9a-f ]+R_PPC_TPREL16_HA +0+10430 +\.tdata \+ 10448 -[0-9a-f ]+R_PPC_TPREL16_LO +0+10430 +\.tdata \+ 10448 +[0-9a-f ]+R_PPC_TPREL16 +0+103d0 +\.tdata \+ 103e4 +[0-9a-f ]+R_PPC_TPREL16_HA +0+103d0 +\.tdata \+ 103e8 +[0-9a-f ]+R_PPC_TPREL16_LO +0+103d0 +\.tdata \+ 103e8 [0-9a-f ]+R_PPC_DTPMOD32 +0 [0-9a-f ]+R_PPC_DTPREL32 +0 [0-9a-f ]+R_PPC_DTPMOD32 +0 @@ -80,12 +80,8 @@ .* TLS +GLOBAL +DEFAULT +8 le1 .* TLS +GLOBAL +DEFAULT +UND ld .* NOTYPE +GLOBAL +DEFAULT +6 _start -.* NOTYPE +GLOBAL +DEFAULT +11 __end .* TLS +GLOBAL +DEFAULT +8 ld2 .* TLS +GLOBAL +DEFAULT +8 ld1 -.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start -.* NOTYPE +GLOBAL +DEFAULT +11 _edata -.* NOTYPE +GLOBAL +DEFAULT +11 _end .* TLS +GLOBAL +DEFAULT +8 gd0 .* TLS +GLOBAL +DEFAULT +8 ie0 @@ -124,11 +120,7 @@ .* TLS +GLOBAL +DEFAULT +8 le1 .* TLS +GLOBAL +DEFAULT +UND ld .* NOTYPE +GLOBAL +DEFAULT +6 _start -.* NOTYPE +GLOBAL +DEFAULT +11 __end .* TLS +GLOBAL +DEFAULT +8 ld2 .* TLS +GLOBAL +DEFAULT +8 ld1 -.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start -.* NOTYPE +GLOBAL +DEFAULT +11 _edata -.* NOTYPE +GLOBAL +DEFAULT +11 _end .* TLS +GLOBAL +DEFAULT +8 gd0 .* TLS +GLOBAL +DEFAULT +8 ie0 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsso.d binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsso.d --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsso.d 2018-01-21 08:26:09.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsso.d 2018-06-13 10:31:39.000000000 +0200 @@ -57,8 +57,8 @@ .* (3d 2d 00 00|00 00 2d 3d) addis r9,r13,0 .* (a9 49 00 00|00 00 49 a9) lha r10,0\(r9\) .* (60 00 00 00|00 00 00 60) nop -.* (00 00 00 00|58 02 01 00) .* -.* (00 01 02 58|00 00 00 00) .* +.* (00 00 00 00|b8 02 01 00) .* +.* (00 01 02 b8|00 00 00 00) .* .* <__glink_PLTresolve>: .* (7d 88 02 a6|a6 02 88 7d) mflr r12 .* (42 9f 00 05|05 00 9f 42) bcl 20,4\*cr7\+so,.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsso.r binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsso.r --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlsso.r 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlsso.r 2018-06-13 10:31:39.000000000 +0200 @@ -46,7 +46,7 @@ Relocation section '\.rela\.dyn' at offset .* contains 18 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -[0-9a-f ]+R_PPC64_RELATIVE +55c +[0-9a-f ]+R_PPC64_RELATIVE +4fc [0-9a-f ]+R_PPC64_RELATIVE +18800 [0-9a-f ]+R_PPC64_TPREL16 +0+60 le0 \+ 0 [0-9a-f ]+R_PPC64_TPREL16_HA +0+68 le1 \+ 0 @@ -83,9 +83,6 @@ .* FUNC +GLOBAL +DEFAULT +10 _start .* TLS +GLOBAL +DEFAULT +8 ld2 .* TLS +GLOBAL +DEFAULT +8 ld1 -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end .* TLS +GLOBAL +DEFAULT +8 gd0 .* TLS +GLOBAL +DEFAULT +8 ie0 @@ -125,8 +122,5 @@ .* FUNC +GLOBAL +DEFAULT +10 _start .* TLS +GLOBAL +DEFAULT +8 ld2 .* TLS +GLOBAL +DEFAULT +8 ld1 -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end .* TLS +GLOBAL +DEFAULT +8 gd0 .* TLS +GLOBAL +DEFAULT +8 ie0 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlstocso.d binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlstocso.d --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlstocso.d 2018-01-21 08:26:09.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlstocso.d 2018-06-13 10:31:39.000000000 +0200 @@ -41,8 +41,8 @@ .* (3d 2d 00 00|00 00 2d 3d) addis r9,r13,0 .* (99 49 00 00|00 00 49 99) stb r10,0\(r9\) .* (60 00 00 00|00 00 00 60) nop -.* (00 00 00 00|10 03 01 00) .* -.* (00 01 03 10|00 00 00 00) .* +.* (00 00 00 00|70 02 01 00) .* +.* (00 01 02 70|00 00 00 00) .* .* <__glink_PLTresolve>: .* (7d 88 02 a6|a6 02 88 7d) mflr r12 .* (42 9f 00 05|05 00 9f 42) bcl 20,4\*cr7\+so,.* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlstocso.g binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlstocso.g --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlstocso.g 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlstocso.g 2018-06-13 10:31:39.000000000 +0200 @@ -7,7 +7,7 @@ .* Contents of section \.got: - 10800 (00000000|00880100) (00018800|00000000) 00000000 00000000 .* + 10700 (00000000|00870100) (00018700|00000000) 00000000 00000000 .* .* 00000000 00000000 00000000 00000000 .* .* 00000000 00000000 00000000 00000000 .* .* 00000000 00000000 00000000 00000000 .* diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlstocso.r binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlstocso.r --- binutils-2.30.51.20180512/ld/testsuite/ld-powerpc/tlstocso.r 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-powerpc/tlstocso.r 2018-06-13 10:31:39.000000000 +0200 @@ -46,8 +46,8 @@ Relocation section '\.rela\.dyn' at offset .* contains 13 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -[0-9a-f ]+R_PPC64_RELATIVE +4dc -[0-9a-f ]+R_PPC64_RELATIVE +18800 +[0-9a-f ]+R_PPC64_RELATIVE +47c +[0-9a-f ]+R_PPC64_RELATIVE +18700 [0-9a-f ]+R_PPC64_TPREL16 +0+60 le0 \+ 0 [0-9a-f ]+R_PPC64_TPREL16_HA +0+68 le1 \+ 0 [0-9a-f ]+R_PPC64_TPREL16_LO +0+68 le1 \+ 0 @@ -78,9 +78,6 @@ .* FUNC +GLOBAL +DEFAULT +10 _start .* TLS +GLOBAL +DEFAULT +8 ld2 .* TLS +GLOBAL +DEFAULT +8 ld1 -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end .* TLS +GLOBAL +DEFAULT +8 gd0 .* TLS +GLOBAL +DEFAULT +8 ie0 @@ -121,8 +118,5 @@ .* FUNC +GLOBAL +DEFAULT +10 _start .* TLS +GLOBAL +DEFAULT +8 ld2 .* TLS +GLOBAL +DEFAULT +8 ld1 -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end .* TLS +GLOBAL +DEFAULT +8 gd0 .* TLS +GLOBAL +DEFAULT +8 ie0 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp binutils-2.30.52.20180613/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp --- binutils-2.30.51.20180512/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp 2018-06-04 21:27:35.000000000 +0200 @@ -23,6 +23,14 @@ run_dump_test "c-lui" run_dump_test "disas-jalr" run_dump_test "pcrel-lo-addend" + run_ld_link_tests { + { "Weak reference 32" "-T weakref.ld -melf32lriscv" "" + "-march=rv32i -mabi=ilp32" {weakref32.s} + {{objdump -d weakref32.d}} "weakref32"} + { "Weak reference 64" "-T weakref.ld -melf64lriscv" "" + "-march=rv64i -mabi=lp64" {weakref64.s} + {{objdump -d weakref64.d}} "weakref64"} + } # The following tests require shared library support. if ![check_shared_lib_support] { diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-riscv-elf/weakref32.d binutils-2.30.52.20180613/ld/testsuite/ld-riscv-elf/weakref32.d --- binutils-2.30.51.20180512/ld/testsuite/ld-riscv-elf/weakref32.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-riscv-elf/weakref32.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ + +.*: file format elf32-littleriscv + + +Disassembly of section \.text: + +90000000 <_start>: +90000000: 70000797 auipc a5,0x70000 +90000004: 00078793 mv a5,a5 +90000008: 02078263 beqz a5,9000002c <_start\+0x2c> +9000000c: ff010113 addi sp,sp,-16 +90000010: 00112623 sw ra,12\(sp\) +90000014: 00000097 auipc ra,0x0 +90000018: 000000e7 jalr zero # 0 <_start\-0x90000000> +9000001c: 00c12083 lw ra,12\(sp\) +90000020: 01010113 addi sp,sp,16 +90000024: 00000317 auipc t1,0x0 +90000028: 00000067 jr zero # 0 <_start\-0x90000000> +9000002c: 00008067 ret diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-riscv-elf/weakref32.s binutils-2.30.52.20180613/ld/testsuite/ld-riscv-elf/weakref32.s --- binutils-2.30.51.20180512/ld/testsuite/ld-riscv-elf/weakref32.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-riscv-elf/weakref32.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,18 @@ + .option nopic + .text + .align 1 + .globl _start + .type _start, @function +_start: + lla a5,f + beqz a5,.L1 + addi sp,sp,-16 + sw ra,12(sp) + call f + lw ra,12(sp) + addi sp,sp,16 + tail f +.L1: + ret + .size _start, .-_start + .weak f diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-riscv-elf/weakref64.d binutils-2.30.52.20180613/ld/testsuite/ld-riscv-elf/weakref64.d --- binutils-2.30.51.20180512/ld/testsuite/ld-riscv-elf/weakref64.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-riscv-elf/weakref64.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,19 @@ + +.*: file format elf64-littleriscv + + +Disassembly of section \.text: + +0000000090000000 <_start>: + 90000000: 000007b7 lui a5,0x0 + 90000004: 00078793 mv a5,a5 + 90000008: 02078263 beqz a5,9000002c <_start\+0x2c> + 9000000c: ff010113 addi sp,sp,-16 + 90000010: 00113423 sd ra,8\(sp\) + 90000014: 00000097 auipc ra,0x0 + 90000018: 000000e7 jalr zero # 0 <_start\-0x90000000> + 9000001c: 00813083 ld ra,8\(sp\) + 90000020: 01010113 addi sp,sp,16 + 90000024: 00000317 auipc t1,0x0 + 90000028: 00000067 jr zero # 0 <_start\-0x90000000> + 9000002c: 00008067 ret diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-riscv-elf/weakref64.s binutils-2.30.52.20180613/ld/testsuite/ld-riscv-elf/weakref64.s --- binutils-2.30.51.20180512/ld/testsuite/ld-riscv-elf/weakref64.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-riscv-elf/weakref64.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,18 @@ + .option nopic + .text + .align 1 + .globl _start + .type _start, @function +_start: + lla a5,f + beqz a5,.L1 + addi sp,sp,-16 + sd ra,8(sp) + call f + ld ra,8(sp) + addi sp,sp,16 + tail f +.L1: + ret + .size _start, .-_start + .weak f diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-riscv-elf/weakref.ld binutils-2.30.52.20180613/ld/testsuite/ld-riscv-elf/weakref.ld --- binutils-2.30.51.20180512/ld/testsuite/ld-riscv-elf/weakref.ld 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-riscv-elf/weakref.ld 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,6 @@ +ENTRY(_start) +SECTIONS { + .text 0x90000000 : { + *(.text*) + } +} diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-s12z/opr-linking.d binutils-2.30.52.20180613/ld/testsuite/ld-s12z/opr-linking.d --- binutils-2.30.51.20180512/ld/testsuite/ld-s12z/opr-linking.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-s12z/opr-linking.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,20 @@ +#source: opr-linking.s +#ld: --no-relax --defsym here=0xfe0000 --defsym=foo=0xfe0050 --defsym=bar=0xfe0010 --defsym=wiz=0xfe0040 +#objdump: -d -r + +tmpdir/dump: file format elf32-s12z + + +Disassembly of section .text: + + +00fe0000 .*: + fe0000: 01 nop + fe0001: 01 nop + fe0002: 01 nop + fe0003: 01 nop + fe0004: 1b 37 f6 fa divs\.lw d7, bar, wiz + fe0008: fe 00 10 fa + fe000c: fe 00 40 + fe000f: bc fa fe 00 clr\.b foo + fe0013: 50 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-s12z/opr-linking.s binutils-2.30.52.20180613/ld/testsuite/ld-s12z/opr-linking.s --- binutils-2.30.51.20180512/ld/testsuite/ld-s12z/opr-linking.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-s12z/opr-linking.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,7 @@ +here: + nop + nop + nop + nop + divs.lw d7, bar, wiz + clr.b foo diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-s12z/relative-linking.d binutils-2.30.52.20180613/ld/testsuite/ld-s12z/relative-linking.d --- binutils-2.30.51.20180512/ld/testsuite/ld-s12z/relative-linking.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-s12z/relative-linking.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,14 @@ +#source: relative-linking.s +#ld: --no-relax --defsym here=0xfe0020 --defsym=foo=0xfe0008 --defsym=bar=0xfe0010 --defsym=wiz=0xfe0040 +#objdump: -d -r + +tmpdir/dump: file format elf32-s12z + + +Disassembly of section .text: + +00fe0000 : + fe0000: 20 80 08 bra foo + fe0003: 02 b0 bc 80 brclr.b d0, #3, bar + fe0007: 0d + fe0008: 0b 85 80 38 dbne d1, wiz diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-s12z/relative-linking.s binutils-2.30.52.20180613/ld/testsuite/ld-s12z/relative-linking.s --- binutils-2.30.51.20180512/ld/testsuite/ld-s12z/relative-linking.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-s12z/relative-linking.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,5 @@ + +here: + bra foo + brclr.b d0, #3, bar + dbne d1, wiz diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-s12z/z12s.exp binutils-2.30.52.20180613/ld/testsuite/ld-s12z/z12s.exp --- binutils-2.30.51.20180512/ld/testsuite/ld-s12z/z12s.exp 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-s12z/z12s.exp 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,33 @@ +# Expect script for run_dump_test based ld-m68hc11 tests. +# Copyright (C) 2018 Free Software Foundation, Inc. +# +# This file is part of the GNU Binutils. +# +# 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 3 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., 51 Franklin Street - Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +# Test S12Z linker tests. This tests the assembler as well as the linker. + +if { ![istarget s12z-*-*] } { + return +} + +set rd_test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]] +foreach shtest $rd_test_list { + # We need to strip the ".d", but can leave the dirname. + verbose [file rootname $shtest] + run_dump_test [file rootname $shtest] +} diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-s390/gotreloc_31-1.dd binutils-2.30.52.20180613/ld/testsuite/ld-s390/gotreloc_31-1.dd --- binutils-2.30.51.20180512/ld/testsuite/ld-s390/gotreloc_31-1.dd 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-s390/gotreloc_31-1.dd 2018-06-13 10:31:39.000000000 +0200 @@ -4,10 +4,10 @@ Disassembly of section .text: .* : -.*: c4 18 00 00 08 4e [ ]*lgrl %r1,11e8 <_GLOBAL_OFFSET_TABLE_\+0xc> +.*: c4 18 00 00 08 4e [ ]*lgrl %r1,118c <_GLOBAL_OFFSET_TABLE_\+0xc> .*: e3 10 c0 0c 00 04 [ ]*lg %r1,12\(%r12\) -.*: c0 10 00 00 00 08 [ ]*larl %r1,168 +.*: c0 10 00 00 00 08 [ ]*larl %r1,10c .*: 58 10 c0 0c [ ]*l %r1,12\(%r12\) -.*: c0 10 00 00 00 03 [ ]*larl %r1,168 +.*: c0 10 00 00 00 03 [ ]*larl %r1,10c .* : .*: 00 00 01 23 .long 0x00000123 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-s390/tlsbin_64.dd binutils-2.30.52.20180613/ld/testsuite/ld-s390/tlsbin_64.dd --- binutils-2.30.51.20180512/ld/testsuite/ld-s390/tlsbin_64.dd 2016-10-17 09:59:28.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-s390/tlsbin_64.dd 2018-06-13 10:31:39.000000000 +0200 @@ -177,7 +177,7 @@ +[0-9a-f]+: a7 d5 00 16 bras %r13,[0-9a-f]+ <_start\+0x30> # sG6@indntpoff +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 01 00 18 98 .long 0x01001898 + +[0-9a-f]+: 01 00 18 18 .long 0x01001818 # bg6@indntpoff +[0-9a-f]+: ff ff ff ff .long 0xffffffff +[0-9a-f]+: ff ff ff d4 .long 0xffffffd4 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-s390/tlsbin_64.rd binutils-2.30.52.20180613/ld/testsuite/ld-s390/tlsbin_64.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-s390/tlsbin_64.rd 2017-11-14 14:43:45.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-s390/tlsbin_64.rd 2018-06-13 10:31:39.000000000 +0200 @@ -68,11 +68,8 @@ .* TLS +GLOBAL +DEFAULT +UND sG3 .* TLS +GLOBAL +DEFAULT +UND sG2 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_offset -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* TLS +GLOBAL +DEFAULT +UND sG1 -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-s390/tlsbin.dd binutils-2.30.52.20180613/ld/testsuite/ld-s390/tlsbin.dd --- binutils-2.30.51.20180512/ld/testsuite/ld-s390/tlsbin.dd 2016-02-26 16:58:08.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-s390/tlsbin.dd 2018-06-13 10:31:39.000000000 +0200 @@ -151,7 +151,7 @@ +[0-9a-f]+: 90 6e f0 18 stm %r6,%r14,24\(%r15\) +[0-9a-f]+: a7 d5 00 0c bras %r13,[0-9a-f]+ <_start\+0x1c> # sG6@indntpoff - +[0-9a-f]+: 00 40 15 a4 .long 0x004015a4 + +[0-9a-f]+: 00 40 15 64 .long 0x00401564 # bg6@indntpoff +[0-9a-f]+: ff ff ff d4 .long 0xffffffd4 # bl6@indntpoff diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-s390/tlsbin.rd binutils-2.30.52.20180613/ld/testsuite/ld-s390/tlsbin.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-s390/tlsbin.rd 2017-11-14 14:43:45.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-s390/tlsbin.rd 2018-06-13 10:31:39.000000000 +0200 @@ -68,11 +68,8 @@ .* TLS +GLOBAL +DEFAULT +UND sG3 .* TLS +GLOBAL +DEFAULT +UND sG2 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_offset -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* TLS +GLOBAL +DEFAULT +UND sG1 -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-s390/tlspic_64.rd binutils-2.30.52.20180613/ld/testsuite/ld-s390/tlspic_64.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-s390/tlspic_64.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-s390/tlspic_64.rd 2018-06-13 10:31:39.000000000 +0200 @@ -78,12 +78,9 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_offset .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +11 _edata -.* NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -134,9 +131,6 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_offset .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +11 _edata -.* NOTYPE +GLOBAL +DEFAULT +11 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-s390/tlspic.rd binutils-2.30.52.20180613/ld/testsuite/ld-s390/tlspic.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-s390/tlspic.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-s390/tlspic.rd 2018-06-13 10:31:39.000000000 +0200 @@ -78,12 +78,9 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_offset .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +11 _edata -.* NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -134,9 +131,6 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_offset .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +11 _edata -.* NOTYPE +GLOBAL +DEFAULT +11 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-sh/tlsbin-2.d binutils-2.30.52.20180613/ld/testsuite/ld-sh/tlsbin-2.d --- binutils-2.30.51.20180512/ld/testsuite/ld-sh/tlsbin-2.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-sh/tlsbin-2.d 2018-06-13 10:31:39.000000000 +0200 @@ -72,6 +72,4 @@ .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr #... .* TLS +GLOBAL +DEFAULT +UND sG1 -#... - #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-sh/tlspic-2.d binutils-2.30.52.20180613/ld/testsuite/ld-sh/tlspic-2.d --- binutils-2.30.51.20180512/ld/testsuite/ld-sh/tlspic-2.d 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-sh/tlspic-2.d 2018-06-13 10:31:39.000000000 +0200 @@ -72,6 +72,4 @@ .* FUNC +GLOBAL +DEFAULT +7 fn1 #... .* TLS +GLOBAL +DEFAULT +8 sg2 -#... - #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-sparc/gotop32.rd binutils-2.30.52.20180613/ld/testsuite/ld-sparc/gotop32.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-sparc/gotop32.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-sparc/gotop32.rd 2018-06-13 10:31:39.000000000 +0200 @@ -42,10 +42,7 @@ .* NOTYPE +LOCAL +DEFAULT +UND * .* SECTION +LOCAL +DEFAULT +5 * .* SECTION +LOCAL +DEFAULT +7 * -.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* FUNC +GLOBAL +DEFAULT +5 foo -.* NOTYPE +GLOBAL +DEFAULT +8 _edata -.* NOTYPE +GLOBAL +DEFAULT +8 _end .* NOTYPE +GLOBAL +DEFAULT +8 sym Symbol table '\.symtab' contains [0-9]+ entries: @@ -65,9 +62,6 @@ .* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ .* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ -.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* FUNC +GLOBAL +DEFAULT +5 foo -.* NOTYPE +GLOBAL +DEFAULT +8 _edata -.* NOTYPE +GLOBAL +DEFAULT +8 _end .* NOTYPE +GLOBAL +DEFAULT +8 sym diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-sparc/gotop64.rd binutils-2.30.52.20180613/ld/testsuite/ld-sparc/gotop64.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-sparc/gotop64.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-sparc/gotop64.rd 2018-06-13 10:31:39.000000000 +0200 @@ -42,10 +42,7 @@ .* NOTYPE +LOCAL +DEFAULT +UND * .* SECTION +LOCAL +DEFAULT +5 * .* SECTION +LOCAL +DEFAULT +7 * -.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* FUNC +GLOBAL +DEFAULT +5 foo -.* NOTYPE +GLOBAL +DEFAULT +8 _edata -.* NOTYPE +GLOBAL +DEFAULT +8 _end .* NOTYPE +GLOBAL +DEFAULT +8 sym Symbol table '\.symtab' contains [0-9]+ entries: @@ -65,9 +62,6 @@ .* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ .* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ -.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* FUNC +GLOBAL +DEFAULT +5 foo -.* NOTYPE +GLOBAL +DEFAULT +8 _edata -.* NOTYPE +GLOBAL +DEFAULT +8 _end .* NOTYPE +GLOBAL +DEFAULT +8 sym diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-sparc/tlssunbin32.rd binutils-2.30.52.20180613/ld/testsuite/ld-sparc/tlssunbin32.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-sparc/tlssunbin32.rd 2018-01-26 03:49:59.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-sparc/tlssunbin32.rd 2018-06-13 10:31:39.000000000 +0200 @@ -54,11 +54,8 @@ .* TLS +GLOBAL +DEFAULT +UND sG5 .* TLS +GLOBAL +DEFAULT +UND sG2 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr@SUNWprivate_1.1 \(2\) -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* TLS +GLOBAL +DEFAULT +UND sG1 -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-sparc/tlssunbin64.rd binutils-2.30.52.20180613/ld/testsuite/ld-sparc/tlssunbin64.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-sparc/tlssunbin64.rd 2018-01-26 03:49:59.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-sparc/tlssunbin64.rd 2018-06-13 10:31:39.000000000 +0200 @@ -54,11 +54,8 @@ .* TLS +GLOBAL +DEFAULT +UND sG5 .* TLS +GLOBAL +DEFAULT +UND sG2 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr@SUNWprivate_1.1 \(2\) -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* TLS +GLOBAL +DEFAULT +UND sG1 -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size Type +Bind +Vis +Ndx Name diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-sparc/tlssunnopic32.rd binutils-2.30.52.20180613/ld/testsuite/ld-sparc/tlssunnopic32.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-sparc/tlssunnopic32.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-sparc/tlssunnopic32.rd 2018-06-13 10:31:39.000000000 +0200 @@ -57,10 +57,7 @@ .* SECTION +LOCAL +DEFAULT +8 * .* FUNC +GLOBAL +DEFAULT +5 fn3 .* TLS +GLOBAL +DEFAULT +UND sg1 -.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* TLS +GLOBAL +DEFAULT +UND sg2 -.* NOTYPE +GLOBAL +DEFAULT +8 _edata -.* NOTYPE +GLOBAL +DEFAULT +8 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -89,7 +86,4 @@ .* TLS +LOCAL +DEFAULT +6 sh2 .* FUNC +GLOBAL +DEFAULT +5 fn3 .* TLS +GLOBAL +DEFAULT +UND sg1 -.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* TLS +GLOBAL +DEFAULT +UND sg2 -.* NOTYPE +GLOBAL +DEFAULT +8 _edata -.* NOTYPE +GLOBAL +DEFAULT +8 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-sparc/tlssunnopic64.rd binutils-2.30.52.20180613/ld/testsuite/ld-sparc/tlssunnopic64.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-sparc/tlssunnopic64.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-sparc/tlssunnopic64.rd 2018-06-13 10:31:39.000000000 +0200 @@ -59,10 +59,7 @@ .* SECTION +LOCAL +DEFAULT +8 * .* FUNC +GLOBAL +DEFAULT +5 fn3 .* TLS +GLOBAL +DEFAULT +UND sg1 -.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* TLS +GLOBAL +DEFAULT +UND sg2 -.* NOTYPE +GLOBAL +DEFAULT +8 _edata -.* NOTYPE +GLOBAL +DEFAULT +8 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -91,7 +88,4 @@ .* TLS +LOCAL +DEFAULT +6 sh2 .* FUNC +GLOBAL +DEFAULT +5 fn3 .* TLS +GLOBAL +DEFAULT +UND sg1 -.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* TLS +GLOBAL +DEFAULT +UND sg2 -.* NOTYPE +GLOBAL +DEFAULT +8 _edata -.* NOTYPE +GLOBAL +DEFAULT +8 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-sparc/tlssunpic32.rd binutils-2.30.52.20180613/ld/testsuite/ld-sparc/tlssunpic32.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-sparc/tlssunpic32.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-sparc/tlssunpic32.rd 2018-06-13 10:31:39.000000000 +0200 @@ -72,12 +72,9 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +7 sg1 .* FUNC +GLOBAL +DEFAULT +6 fn1 -.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +7 sg2 .* TLS +GLOBAL +DEFAULT +7 sg6 .* TLS +GLOBAL +DEFAULT +7 sg7 -.* NOTYPE +GLOBAL +DEFAULT +11 _edata -.* NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -129,9 +126,6 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +7 sg1 .* FUNC +GLOBAL +DEFAULT +6 fn1 -.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +7 sg2 .* TLS +GLOBAL +DEFAULT +7 sg6 .* TLS +GLOBAL +DEFAULT +7 sg7 -.* NOTYPE +GLOBAL +DEFAULT +11 _edata -.* NOTYPE +GLOBAL +DEFAULT +11 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-sparc/tlssunpic64.rd binutils-2.30.52.20180613/ld/testsuite/ld-sparc/tlssunpic64.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-sparc/tlssunpic64.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-sparc/tlssunpic64.rd 2018-06-13 10:31:39.000000000 +0200 @@ -72,12 +72,9 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +7 sg1 .* FUNC +GLOBAL +DEFAULT +6 fn1 -.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +7 sg2 .* TLS +GLOBAL +DEFAULT +7 sg6 .* TLS +GLOBAL +DEFAULT +7 sg7 -.* NOTYPE +GLOBAL +DEFAULT +11 _edata -.* NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -129,9 +126,6 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +7 sg1 .* FUNC +GLOBAL +DEFAULT +6 fn1 -.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +7 sg2 .* TLS +GLOBAL +DEFAULT +7 sg6 .* TLS +GLOBAL +DEFAULT +7 sg7 -.* NOTYPE +GLOBAL +DEFAULT +11 _edata -.* NOTYPE +GLOBAL +DEFAULT +11 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-1b.rd binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-1b.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-1b.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-1b.rd 2018-06-04 21:27:35.000000000 +0200 @@ -3,12 +3,12 @@ Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4 - \[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 7 4 - \[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1 - \[ 4\] \.rela\.got RELA 00008140 001140 000024 0c AI 2 10 4 - \[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c AI 2 11 4 - \[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4 + \[ 1\] \.hash HASH 00008000 001000 000044 04 A 2 0 4 + \[ 2\] \.dynsym DYNSYM 00008044 001044 0000c0 10 A 3 6 4 + \[ 3\] \.dynstr STRTAB 00008104 001104 000012 00 A 0 0 1 + \[ 4\] \.rela\.got RELA 00008118 001118 000024 0c AI 2 10 4 + \[ 5\] \.rela\.neardata RELA 0000813c 00113c 000018 0c AI 2 11 4 + \[ 6\] \.dynamic DYNAMIC 00008154 001154 0000a8 08 WA 3 0 4 \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 10 4 \[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32 \[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32 @@ -16,9 +16,9 @@ \[11\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4 \[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 - \[14\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 15 [0-9]+ 4 - \[15\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 - \[16\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 + \[14\] \.symtab SYMTAB 00000000 00214c 0001b0 10 15 21 4 + \[15\] \.strtab STRTAB 00000000 0022fc 00005c 00 0 0 1 + \[16\] \.shstrtab STRTAB 00000000 002358 00007b 00 0 0 1 Key to Flags: #... @@ -28,9 +28,9 @@ Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x001000 0x00008000 0x00008000 0x00224 0x00224 RW 0x1000 + LOAD 0x001000 0x00008000 0x00008000 0x001fc 0x001fc RW 0x1000 LOAD 0x002000 0x10000000 0x10000000 0x00130 0x00134 RWE 0x1000 - DYNAMIC 0x00117c 0x0000817c 0x0000817c 0x000a8 0x000a8 RW 0x4 + DYNAMIC 0x001154 0x00008154 0x00008154 0x000a8 0x000a8 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 Section to Segment mapping: @@ -40,12 +40,12 @@ 02 \.dynamic 03 -Dynamic section at offset 0x117c contains 16 entries: +Dynamic section at offset 0x1154 contains 16 entries: Tag Type Name/Value 0x00000004 \(HASH\) 0x8000 - 0x00000005 \(STRTAB\) 0x8118 - 0x00000006 \(SYMTAB\) 0x8048 - 0x0000000a \(STRSZ\) 37 \(bytes\) + 0x00000005 \(STRTAB\) 0x8104 + 0x00000006 \(SYMTAB\) 0x8044 + 0x0000000a \(STRSZ\) 18 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x70000000 \(C6000_DSBT_BASE\) 0x10000100 0x70000001 \(C6000_DSBT_SIZE\) 0x3 @@ -54,28 +54,28 @@ 0x00000002 \(PLTRELSZ\) 24 \(bytes\) 0x00000014 \(PLTREL\) RELA 0x00000017 \(JMPREL\) 0x10000000 - 0x00000007 \(RELA\) 0x8140 + 0x00000007 \(RELA\) 0x8118 0x00000008 \(RELASZ\) 84 \(bytes\) 0x00000009 \(RELAENT\) 12 \(bytes\) 0x00000000 \(NULL\) 0x0 -Relocation section '\.rela\.got' at offset 0x1140 contains 3 entries: +Relocation section '\.rela\.got' at offset 0x1118 contains 3 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend 10000120 00000501 R_C6000_ABS32 10000130 \.bss \+ 0 -1000011c 00000701 R_C6000_ABS32 00000000 b \+ 0 -10000124 00000b01 R_C6000_ABS32 10000128 a \+ 0 +1000011c 00000601 R_C6000_ABS32 00000000 b \+ 0 +10000124 00000a01 R_C6000_ABS32 10000128 a \+ 0 -Relocation section '\.rela\.neardata' at offset 0x1164 contains 2 entries: +Relocation section '\.rela\.neardata' at offset 0x113c contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -10000128 00000a01 R_C6000_ABS32 10000088 sub0 \+ 0 -1000012c 00000801 R_C6000_ABS32 00000000 g1 \+ 0 +10000128 00000901 R_C6000_ABS32 10000088 sub0 \+ 0 +1000012c 00000701 R_C6000_ABS32 00000000 g1 \+ 0 Relocation section '\.rela\.plt' at offset 0x2000 contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -10000114 00000a1b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0 -10000118 00000c1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0 +10000114 0000091b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0 +10000118 00000b1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0 -Symbol table '\.dynsym' contains 13 entries: +Symbol table '\.dynsym' contains 12 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 10000020 0 SECTION LOCAL DEFAULT 8 @@ -83,40 +83,39 @@ 3: 10000100 0 SECTION LOCAL DEFAULT 10 4: 10000128 0 SECTION LOCAL DEFAULT 11 5: 10000130 0 SECTION LOCAL DEFAULT 12 - 6: 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE - 7: 00000000 0 NOTYPE WEAK DEFAULT UND b - 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 9: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 - 10: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 - 11: 10000128 4 OBJECT GLOBAL DEFAULT 11 a - 12: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub + 6: 00000000 0 NOTYPE WEAK DEFAULT UND b + 7: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 8: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 + 9: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 + 10: 10000128 4 OBJECT GLOBAL DEFAULT 11 a + 11: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub -Symbol table '\.symtab' contains [0-9]+ entries: +Symbol table '\.symtab' contains 27 entries: Num: Value Size Type Bind Vis Ndx Name -.* 00000000 0 NOTYPE LOCAL DEFAULT UND -.* 00008000 0 SECTION LOCAL DEFAULT 1 -.* 00008048 0 SECTION LOCAL DEFAULT 2 -.* 00008118 0 SECTION LOCAL DEFAULT 3 -.* 00008140 0 SECTION LOCAL DEFAULT 4 -.* 00008164 0 SECTION LOCAL DEFAULT 5 -.* 0000817c 0 SECTION LOCAL DEFAULT 6 -.* 10000000 0 SECTION LOCAL DEFAULT 7 -.* 10000020 0 SECTION LOCAL DEFAULT 8 -.* 10000080 0 SECTION LOCAL DEFAULT 9 -.* 10000100 0 SECTION LOCAL DEFAULT 10 -.* 10000128 0 SECTION LOCAL DEFAULT 11 -.* 10000130 0 SECTION LOCAL DEFAULT 12 -.* 00000000 0 SECTION LOCAL DEFAULT 13 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000080 0 FUNC LOCAL HIDDEN 9 sub1 -.* 00000000 0 FILE LOCAL DEFAULT ABS -.* 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC -.* 10000130 4 OBJECT LOCAL DEFAULT 12 c -.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ -.* 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE -.* 00000000 0 NOTYPE WEAK DEFAULT UND b -.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 -.* 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 -.* 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 -.* 10000128 4 OBJECT GLOBAL DEFAULT 11 a -.* 100000c0 52 FUNC GLOBAL DEFAULT 9 sub + 0: 00000000 0 NOTYPE LOCAL DEFAULT UND + 1: 00008000 0 SECTION LOCAL DEFAULT 1 + 2: 00008044 0 SECTION LOCAL DEFAULT 2 + 3: 00008104 0 SECTION LOCAL DEFAULT 3 + 4: 00008118 0 SECTION LOCAL DEFAULT 4 + 5: 0000813c 0 SECTION LOCAL DEFAULT 5 + 6: 00008154 0 SECTION LOCAL DEFAULT 6 + 7: 10000000 0 SECTION LOCAL DEFAULT 7 + 8: 10000020 0 SECTION LOCAL DEFAULT 8 + 9: 10000080 0 SECTION LOCAL DEFAULT 9 + 10: 10000100 0 SECTION LOCAL DEFAULT 10 + 11: 10000128 0 SECTION LOCAL DEFAULT 11 + 12: 10000130 0 SECTION LOCAL DEFAULT 12 + 13: 00000000 0 SECTION LOCAL DEFAULT 13 + 14: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-1\.o + 15: 10000080 0 FUNC LOCAL HIDDEN 9 sub1 + 16: 00000000 0 FILE LOCAL DEFAULT ABS + 17: 00008154 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC + 18: 10000130 4 OBJECT LOCAL DEFAULT 12 c + 19: 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ + 20: 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE + 21: 00000000 0 NOTYPE WEAK DEFAULT UND b + 22: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 23: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 + 24: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 + 25: 10000128 4 OBJECT GLOBAL DEFAULT 11 a + 26: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-1rb.rd binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-1rb.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-1rb.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-1rb.rd 2018-06-04 21:27:35.000000000 +0200 @@ -3,12 +3,12 @@ Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4 - \[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 7 4 - \[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1 - \[ 4\] \.rela\.got RELA 00008140 001140 000024 0c AI 2 10 4 - \[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c AI 2 11 4 - \[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4 + \[ 1\] \.hash HASH 00008000 001000 000044 04 A 2 0 4 + \[ 2\] \.dynsym DYNSYM 00008044 001044 0000c0 10 A 3 6 4 + \[ 3\] \.dynstr STRTAB 00008104 001104 000012 00 A 0 0 1 + \[ 4\] \.rela\.got RELA 00008118 001118 000024 0c AI 2 10 4 + \[ 5\] \.rela\.neardata RELA 0000813c 00113c 000018 0c AI 2 11 4 + \[ 6\] \.dynamic DYNAMIC 00008154 001154 0000a8 08 WA 3 0 4 \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 10 4 \[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32 \[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32 @@ -16,9 +16,9 @@ \[11\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4 \[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 - \[14\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 15 [0-9]+ 4 - \[15\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 - \[16\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 + \[14\] \.symtab SYMTAB 00000000 00214c 0001b0 10 15 21 4 + \[15\] \.strtab STRTAB 00000000 0022fc 00005c 00 0 0 1 + \[16\] \.shstrtab STRTAB 00000000 002358 00007b 00 0 0 1 Key to Flags: #... @@ -28,9 +28,9 @@ Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x001000 0x00008000 0x00008000 0x00224 0x00224 RW 0x1000 + LOAD 0x001000 0x00008000 0x00008000 0x001fc 0x001fc RW 0x1000 LOAD 0x002000 0x10000000 0x10000000 0x00130 0x00134 RWE 0x1000 - DYNAMIC 0x00117c 0x0000817c 0x0000817c 0x000a8 0x000a8 RW 0x4 + DYNAMIC 0x001154 0x00008154 0x00008154 0x000a8 0x000a8 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 Section to Segment mapping: @@ -40,12 +40,12 @@ 02 \.dynamic 03 -Dynamic section at offset 0x117c contains 16 entries: +Dynamic section at offset 0x1154 contains 16 entries: Tag Type Name/Value 0x00000004 \(HASH\) 0x8000 - 0x00000005 \(STRTAB\) 0x8118 - 0x00000006 \(SYMTAB\) 0x8048 - 0x0000000a \(STRSZ\) 37 \(bytes\) + 0x00000005 \(STRTAB\) 0x8104 + 0x00000006 \(SYMTAB\) 0x8044 + 0x0000000a \(STRSZ\) 18 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x70000000 \(C6000_DSBT_BASE\) 0x10000100 0x70000001 \(C6000_DSBT_SIZE\) 0x3 @@ -54,28 +54,28 @@ 0x00000002 \(PLTRELSZ\) 24 \(bytes\) 0x00000014 \(PLTREL\) RELA 0x00000017 \(JMPREL\) 0x10000000 - 0x00000007 \(RELA\) 0x8140 + 0x00000007 \(RELA\) 0x8118 0x00000008 \(RELASZ\) 84 \(bytes\) 0x00000009 \(RELAENT\) 12 \(bytes\) 0x00000000 \(NULL\) 0x0 -Relocation section '\.rela\.got' at offset 0x1140 contains 3 entries: +Relocation section '\.rela\.got' at offset 0x1118 contains 3 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend 10000120 00000501 R_C6000_ABS32 10000130 \.bss \+ 0 -1000011c 00000701 R_C6000_ABS32 00000000 b \+ 0 -10000124 00000b01 R_C6000_ABS32 10000128 a \+ 0 +1000011c 00000601 R_C6000_ABS32 00000000 b \+ 0 +10000124 00000a01 R_C6000_ABS32 10000128 a \+ 0 -Relocation section '\.rela\.neardata' at offset 0x1164 contains 2 entries: +Relocation section '\.rela\.neardata' at offset 0x113c contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -10000128 00000a01 R_C6000_ABS32 10000088 sub0 \+ 0 -1000012c 00000801 R_C6000_ABS32 00000000 g1 \+ 0 +10000128 00000901 R_C6000_ABS32 10000088 sub0 \+ 0 +1000012c 00000701 R_C6000_ABS32 00000000 g1 \+ 0 Relocation section '\.rela\.plt' at offset 0x2000 contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -10000114 00000a1b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0 -10000118 00000c1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0 +10000114 0000091b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0 +10000118 00000b1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0 -Symbol table '\.dynsym' contains 13 entries: +Symbol table '\.dynsym' contains 12 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 10000020 0 SECTION LOCAL DEFAULT 8 @@ -83,40 +83,39 @@ 3: 10000100 0 SECTION LOCAL DEFAULT 10 4: 10000128 0 SECTION LOCAL DEFAULT 11 5: 10000130 0 SECTION LOCAL DEFAULT 12 - 6: 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE - 7: 00000000 0 NOTYPE WEAK DEFAULT UND b - 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 9: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 - 10: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 - 11: 10000128 4 OBJECT GLOBAL DEFAULT 11 a - 12: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub + 6: 00000000 0 NOTYPE WEAK DEFAULT UND b + 7: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 8: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 + 9: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 + 10: 10000128 4 OBJECT GLOBAL DEFAULT 11 a + 11: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub -Symbol table '\.symtab' contains [0-9]+ entries: +Symbol table '\.symtab' contains 27 entries: Num: Value Size Type Bind Vis Ndx Name -.* 00000000 0 NOTYPE LOCAL DEFAULT UND -.* 00008000 0 SECTION LOCAL DEFAULT 1 -.* 00008048 0 SECTION LOCAL DEFAULT 2 -.* 00008118 0 SECTION LOCAL DEFAULT 3 -.* 00008140 0 SECTION LOCAL DEFAULT 4 -.* 00008164 0 SECTION LOCAL DEFAULT 5 -.* 0000817c 0 SECTION LOCAL DEFAULT 6 -.* 10000000 0 SECTION LOCAL DEFAULT 7 -.* 10000020 0 SECTION LOCAL DEFAULT 8 -.* 10000080 0 SECTION LOCAL DEFAULT 9 -.* 10000100 0 SECTION LOCAL DEFAULT 10 -.* 10000128 0 SECTION LOCAL DEFAULT 11 -.* 10000130 0 SECTION LOCAL DEFAULT 12 -.* 00000000 0 SECTION LOCAL DEFAULT 13 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000080 0 FUNC LOCAL HIDDEN 9 sub1 -.* 00000000 0 FILE LOCAL DEFAULT ABS -.* 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC -.* 10000130 4 OBJECT LOCAL DEFAULT 12 c -.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ -.* 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE -.* 00000000 0 NOTYPE WEAK DEFAULT UND b -.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 -.* 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 -.* 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 -.* 10000128 4 OBJECT GLOBAL DEFAULT 11 a -.* 100000c0 52 FUNC GLOBAL DEFAULT 9 sub + 0: 00000000 0 NOTYPE LOCAL DEFAULT UND + 1: 00008000 0 SECTION LOCAL DEFAULT 1 + 2: 00008044 0 SECTION LOCAL DEFAULT 2 + 3: 00008104 0 SECTION LOCAL DEFAULT 3 + 4: 00008118 0 SECTION LOCAL DEFAULT 4 + 5: 0000813c 0 SECTION LOCAL DEFAULT 5 + 6: 00008154 0 SECTION LOCAL DEFAULT 6 + 7: 10000000 0 SECTION LOCAL DEFAULT 7 + 8: 10000020 0 SECTION LOCAL DEFAULT 8 + 9: 10000080 0 SECTION LOCAL DEFAULT 9 + 10: 10000100 0 SECTION LOCAL DEFAULT 10 + 11: 10000128 0 SECTION LOCAL DEFAULT 11 + 12: 10000130 0 SECTION LOCAL DEFAULT 12 + 13: 00000000 0 SECTION LOCAL DEFAULT 13 + 14: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-1\.o + 15: 10000080 0 FUNC LOCAL HIDDEN 9 sub1 + 16: 00000000 0 FILE LOCAL DEFAULT ABS + 17: 00008154 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC + 18: 10000130 4 OBJECT LOCAL DEFAULT 12 c + 19: 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ + 20: 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE + 21: 00000000 0 NOTYPE WEAK DEFAULT UND b + 22: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 23: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 + 24: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 + 25: 10000128 4 OBJECT GLOBAL DEFAULT 11 a + 26: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-1.rd binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-1.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-1.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-1.rd 2018-06-04 21:27:35.000000000 +0200 @@ -3,12 +3,12 @@ Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4 - \[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 7 4 - \[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1 - \[ 4\] \.rela\.got RELA 00008140 001140 000024 0c AI 2 10 4 - \[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c AI 2 11 4 - \[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4 + \[ 1\] \.hash HASH 00008000 001000 000044 04 A 2 0 4 + \[ 2\] \.dynsym DYNSYM 00008044 001044 0000c0 10 A 3 6 4 + \[ 3\] \.dynstr STRTAB 00008104 001104 000012 00 A 0 0 1 + \[ 4\] \.rela\.got RELA 00008118 001118 000024 0c AI 2 10 4 + \[ 5\] \.rela\.neardata RELA 0000813c 00113c 000018 0c AI 2 11 4 + \[ 6\] \.dynamic DYNAMIC 00008154 001154 0000a8 08 WA 3 0 4 \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 10 4 \[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32 \[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32 @@ -16,9 +16,9 @@ \[11\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4 \[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 - \[14\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 15 [0-9]+ 4 - \[15\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 - \[16\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 + \[14\] \.symtab SYMTAB 00000000 00214c 0001b0 10 15 21 4 + \[15\] \.strtab STRTAB 00000000 0022fc 00005c 00 0 0 1 + \[16\] \.shstrtab STRTAB 00000000 002358 00007b 00 0 0 1 Key to Flags: #... @@ -28,9 +28,9 @@ Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x001000 0x00008000 0x00008000 0x00224 0x00224 RW 0x1000 + LOAD 0x001000 0x00008000 0x00008000 0x001fc 0x001fc RW 0x1000 LOAD 0x002000 0x10000000 0x10000000 0x00130 0x00134 RWE 0x1000 - DYNAMIC 0x00117c 0x0000817c 0x0000817c 0x000a8 0x000a8 RW 0x4 + DYNAMIC 0x001154 0x00008154 0x00008154 0x000a8 0x000a8 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 Section to Segment mapping: @@ -40,12 +40,12 @@ 02 \.dynamic 03 -Dynamic section at offset 0x117c contains 16 entries: +Dynamic section at offset 0x1154 contains 16 entries: Tag Type Name/Value 0x00000004 \(HASH\) 0x8000 - 0x00000005 \(STRTAB\) 0x8118 - 0x00000006 \(SYMTAB\) 0x8048 - 0x0000000a \(STRSZ\) 37 \(bytes\) + 0x00000005 \(STRTAB\) 0x8104 + 0x00000006 \(SYMTAB\) 0x8044 + 0x0000000a \(STRSZ\) 18 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x70000000 \(C6000_DSBT_BASE\) 0x10000100 0x70000001 \(C6000_DSBT_SIZE\) 0x3 @@ -54,28 +54,28 @@ 0x00000002 \(PLTRELSZ\) 24 \(bytes\) 0x00000014 \(PLTREL\) RELA 0x00000017 \(JMPREL\) 0x10000000 - 0x00000007 \(RELA\) 0x8140 + 0x00000007 \(RELA\) 0x8118 0x00000008 \(RELASZ\) 84 \(bytes\) 0x00000009 \(RELAENT\) 12 \(bytes\) 0x00000000 \(NULL\) 0x0 -Relocation section '\.rela\.got' at offset 0x1140 contains 3 entries: +Relocation section '\.rela\.got' at offset 0x1118 contains 3 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend 10000120 00000501 R_C6000_ABS32 10000130 \.bss \+ 0 -1000011c 00000701 R_C6000_ABS32 00000000 b \+ 0 -10000124 00000b01 R_C6000_ABS32 10000128 a \+ 0 +1000011c 00000601 R_C6000_ABS32 00000000 b \+ 0 +10000124 00000a01 R_C6000_ABS32 10000128 a \+ 0 -Relocation section '\.rela\.neardata' at offset 0x1164 contains 2 entries: +Relocation section '\.rela\.neardata' at offset 0x113c contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -10000128 00000a01 R_C6000_ABS32 10000088 sub0 \+ 0 -1000012c 00000801 R_C6000_ABS32 00000000 g1 \+ 0 +10000128 00000901 R_C6000_ABS32 10000088 sub0 \+ 0 +1000012c 00000701 R_C6000_ABS32 00000000 g1 \+ 0 Relocation section '\.rela\.plt' at offset 0x2000 contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -10000114 00000a1b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0 -10000118 00000c1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0 +10000114 0000091b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0 +10000118 00000b1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0 -Symbol table '\.dynsym' contains 13 entries: +Symbol table '\.dynsym' contains 12 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 10000020 0 SECTION LOCAL DEFAULT 8 @@ -83,40 +83,39 @@ 3: 10000100 0 SECTION LOCAL DEFAULT 10 4: 10000128 0 SECTION LOCAL DEFAULT 11 5: 10000130 0 SECTION LOCAL DEFAULT 12 - 6: 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE - 7: 00000000 0 NOTYPE WEAK DEFAULT UND b - 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 9: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 - 10: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 - 11: 10000128 4 OBJECT GLOBAL DEFAULT 11 a - 12: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub + 6: 00000000 0 NOTYPE WEAK DEFAULT UND b + 7: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 8: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 + 9: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 + 10: 10000128 4 OBJECT GLOBAL DEFAULT 11 a + 11: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub -Symbol table '\.symtab' contains [0-9]+ entries: +Symbol table '\.symtab' contains 27 entries: Num: Value Size Type Bind Vis Ndx Name -.* 00000000 0 NOTYPE LOCAL DEFAULT UND -.* 00008000 0 SECTION LOCAL DEFAULT 1 -.* 00008048 0 SECTION LOCAL DEFAULT 2 -.* 00008118 0 SECTION LOCAL DEFAULT 3 -.* 00008140 0 SECTION LOCAL DEFAULT 4 -.* 00008164 0 SECTION LOCAL DEFAULT 5 -.* 0000817c 0 SECTION LOCAL DEFAULT 6 -.* 10000000 0 SECTION LOCAL DEFAULT 7 -.* 10000020 0 SECTION LOCAL DEFAULT 8 -.* 10000080 0 SECTION LOCAL DEFAULT 9 -.* 10000100 0 SECTION LOCAL DEFAULT 10 -.* 10000128 0 SECTION LOCAL DEFAULT 11 -.* 10000130 0 SECTION LOCAL DEFAULT 12 -.* 00000000 0 SECTION LOCAL DEFAULT 13 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000080 0 FUNC LOCAL HIDDEN 9 sub1 -.* 00000000 0 FILE LOCAL DEFAULT ABS -.* 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC -.* 10000130 4 OBJECT LOCAL DEFAULT 12 c -.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ -.* 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE -.* 00000000 0 NOTYPE WEAK DEFAULT UND b -.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 -.* 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 -.* 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 -.* 10000128 4 OBJECT GLOBAL DEFAULT 11 a -.* 100000c0 52 FUNC GLOBAL DEFAULT 9 sub + 0: 00000000 0 NOTYPE LOCAL DEFAULT UND + 1: 00008000 0 SECTION LOCAL DEFAULT 1 + 2: 00008044 0 SECTION LOCAL DEFAULT 2 + 3: 00008104 0 SECTION LOCAL DEFAULT 3 + 4: 00008118 0 SECTION LOCAL DEFAULT 4 + 5: 0000813c 0 SECTION LOCAL DEFAULT 5 + 6: 00008154 0 SECTION LOCAL DEFAULT 6 + 7: 10000000 0 SECTION LOCAL DEFAULT 7 + 8: 10000020 0 SECTION LOCAL DEFAULT 8 + 9: 10000080 0 SECTION LOCAL DEFAULT 9 + 10: 10000100 0 SECTION LOCAL DEFAULT 10 + 11: 10000128 0 SECTION LOCAL DEFAULT 11 + 12: 10000130 0 SECTION LOCAL DEFAULT 12 + 13: 00000000 0 SECTION LOCAL DEFAULT 13 + 14: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-1\.o + 15: 10000080 0 FUNC LOCAL HIDDEN 9 sub1 + 16: 00000000 0 FILE LOCAL DEFAULT ABS + 17: 00008154 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC + 18: 10000130 4 OBJECT LOCAL DEFAULT 12 c + 19: 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ + 20: 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE + 21: 00000000 0 NOTYPE WEAK DEFAULT UND b + 22: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 23: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 + 24: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 + 25: 10000128 4 OBJECT GLOBAL DEFAULT 11 a + 26: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-1r.rd binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-1r.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-1r.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-1r.rd 2018-06-04 21:27:35.000000000 +0200 @@ -3,12 +3,12 @@ Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4 - \[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 7 4 - \[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1 - \[ 4\] \.rela\.got RELA 00008140 001140 000024 0c AI 2 10 4 - \[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c AI 2 11 4 - \[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4 + \[ 1\] \.hash HASH 00008000 001000 000044 04 A 2 0 4 + \[ 2\] \.dynsym DYNSYM 00008044 001044 0000c0 10 A 3 6 4 + \[ 3\] \.dynstr STRTAB 00008104 001104 000012 00 A 0 0 1 + \[ 4\] \.rela\.got RELA 00008118 001118 000024 0c AI 2 10 4 + \[ 5\] \.rela\.neardata RELA 0000813c 00113c 000018 0c AI 2 11 4 + \[ 6\] \.dynamic DYNAMIC 00008154 001154 0000a8 08 WA 3 0 4 \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 10 4 \[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32 \[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32 @@ -16,9 +16,9 @@ \[11\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4 \[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 - \[14\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 15 [0-9]+ 4 - \[15\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 - \[16\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 + \[14\] \.symtab SYMTAB 00000000 00214c 0001b0 10 15 21 4 + \[15\] \.strtab STRTAB 00000000 0022fc 00005c 00 0 0 1 + \[16\] \.shstrtab STRTAB 00000000 002358 00007b 00 0 0 1 Key to Flags: #... @@ -28,9 +28,9 @@ Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x001000 0x00008000 0x00008000 0x00224 0x00224 RW 0x1000 + LOAD 0x001000 0x00008000 0x00008000 0x001fc 0x001fc RW 0x1000 LOAD 0x002000 0x10000000 0x10000000 0x00130 0x00134 RWE 0x1000 - DYNAMIC 0x00117c 0x0000817c 0x0000817c 0x000a8 0x000a8 RW 0x4 + DYNAMIC 0x001154 0x00008154 0x00008154 0x000a8 0x000a8 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 Section to Segment mapping: @@ -40,12 +40,12 @@ 02 \.dynamic 03 -Dynamic section at offset 0x117c contains 16 entries: +Dynamic section at offset 0x1154 contains 16 entries: Tag Type Name/Value 0x00000004 \(HASH\) 0x8000 - 0x00000005 \(STRTAB\) 0x8118 - 0x00000006 \(SYMTAB\) 0x8048 - 0x0000000a \(STRSZ\) 37 \(bytes\) + 0x00000005 \(STRTAB\) 0x8104 + 0x00000006 \(SYMTAB\) 0x8044 + 0x0000000a \(STRSZ\) 18 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x70000000 \(C6000_DSBT_BASE\) 0x10000100 0x70000001 \(C6000_DSBT_SIZE\) 0x3 @@ -54,28 +54,28 @@ 0x00000002 \(PLTRELSZ\) 24 \(bytes\) 0x00000014 \(PLTREL\) RELA 0x00000017 \(JMPREL\) 0x10000000 - 0x00000007 \(RELA\) 0x8140 + 0x00000007 \(RELA\) 0x8118 0x00000008 \(RELASZ\) 84 \(bytes\) 0x00000009 \(RELAENT\) 12 \(bytes\) 0x00000000 \(NULL\) 0x0 -Relocation section '\.rela\.got' at offset 0x1140 contains 3 entries: +Relocation section '\.rela\.got' at offset 0x1118 contains 3 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend 10000120 00000501 R_C6000_ABS32 10000130 \.bss \+ 0 -1000011c 00000701 R_C6000_ABS32 00000000 b \+ 0 -10000124 00000b01 R_C6000_ABS32 10000128 a \+ 0 +1000011c 00000601 R_C6000_ABS32 00000000 b \+ 0 +10000124 00000a01 R_C6000_ABS32 10000128 a \+ 0 -Relocation section '\.rela\.neardata' at offset 0x1164 contains 2 entries: +Relocation section '\.rela\.neardata' at offset 0x113c contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -10000128 00000a01 R_C6000_ABS32 10000088 sub0 \+ 0 -1000012c 00000801 R_C6000_ABS32 00000000 g1 \+ 0 +10000128 00000901 R_C6000_ABS32 10000088 sub0 \+ 0 +1000012c 00000701 R_C6000_ABS32 00000000 g1 \+ 0 Relocation section '\.rela\.plt' at offset 0x2000 contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -10000114 00000a1b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0 -10000118 00000c1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0 +10000114 0000091b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0 +10000118 00000b1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0 -Symbol table '\.dynsym' contains 13 entries: +Symbol table '\.dynsym' contains 12 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 10000020 0 SECTION LOCAL DEFAULT 8 @@ -83,40 +83,39 @@ 3: 10000100 0 SECTION LOCAL DEFAULT 10 4: 10000128 0 SECTION LOCAL DEFAULT 11 5: 10000130 0 SECTION LOCAL DEFAULT 12 - 6: 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE - 7: 00000000 0 NOTYPE WEAK DEFAULT UND b - 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 9: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 - 10: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 - 11: 10000128 4 OBJECT GLOBAL DEFAULT 11 a - 12: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub + 6: 00000000 0 NOTYPE WEAK DEFAULT UND b + 7: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 8: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 + 9: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 + 10: 10000128 4 OBJECT GLOBAL DEFAULT 11 a + 11: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub -Symbol table '\.symtab' contains [0-9]+ entries: +Symbol table '\.symtab' contains 27 entries: Num: Value Size Type Bind Vis Ndx Name -.* 00000000 0 NOTYPE LOCAL DEFAULT UND -.* 00008000 0 SECTION LOCAL DEFAULT 1 -.* 00008048 0 SECTION LOCAL DEFAULT 2 -.* 00008118 0 SECTION LOCAL DEFAULT 3 -.* 00008140 0 SECTION LOCAL DEFAULT 4 -.* 00008164 0 SECTION LOCAL DEFAULT 5 -.* 0000817c 0 SECTION LOCAL DEFAULT 6 -.* 10000000 0 SECTION LOCAL DEFAULT 7 -.* 10000020 0 SECTION LOCAL DEFAULT 8 -.* 10000080 0 SECTION LOCAL DEFAULT 9 -.* 10000100 0 SECTION LOCAL DEFAULT 10 -.* 10000128 0 SECTION LOCAL DEFAULT 11 -.* 10000130 0 SECTION LOCAL DEFAULT 12 -.* 00000000 0 SECTION LOCAL DEFAULT 13 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000080 0 FUNC LOCAL HIDDEN 9 sub1 -.* 00000000 0 FILE LOCAL DEFAULT ABS -.* 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC -.* 10000130 4 OBJECT LOCAL DEFAULT 12 c -.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ -.* 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE -.* 00000000 0 NOTYPE WEAK DEFAULT UND b -.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 -.* 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 -.* 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 -.* 10000128 4 OBJECT GLOBAL DEFAULT 11 a -.* 100000c0 52 FUNC GLOBAL DEFAULT 9 sub + 0: 00000000 0 NOTYPE LOCAL DEFAULT UND + 1: 00008000 0 SECTION LOCAL DEFAULT 1 + 2: 00008044 0 SECTION LOCAL DEFAULT 2 + 3: 00008104 0 SECTION LOCAL DEFAULT 3 + 4: 00008118 0 SECTION LOCAL DEFAULT 4 + 5: 0000813c 0 SECTION LOCAL DEFAULT 5 + 6: 00008154 0 SECTION LOCAL DEFAULT 6 + 7: 10000000 0 SECTION LOCAL DEFAULT 7 + 8: 10000020 0 SECTION LOCAL DEFAULT 8 + 9: 10000080 0 SECTION LOCAL DEFAULT 9 + 10: 10000100 0 SECTION LOCAL DEFAULT 10 + 11: 10000128 0 SECTION LOCAL DEFAULT 11 + 12: 10000130 0 SECTION LOCAL DEFAULT 12 + 13: 00000000 0 SECTION LOCAL DEFAULT 13 + 14: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-1\.o + 15: 10000080 0 FUNC LOCAL HIDDEN 9 sub1 + 16: 00000000 0 FILE LOCAL DEFAULT ABS + 17: 00008154 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC + 18: 10000130 4 OBJECT LOCAL DEFAULT 12 c + 19: 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ + 20: 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE + 21: 00000000 0 NOTYPE WEAK DEFAULT UND b + 22: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 23: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 + 24: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 + 25: 10000128 4 OBJECT GLOBAL DEFAULT 11 a + 26: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-app-1b.rd binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-app-1b.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-app-1b.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-app-1b.rd 2018-06-04 21:27:35.000000000 +0200 @@ -3,13 +3,13 @@ Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] \.hash HASH 00008000 001000 000044 04 A 2 0 4 - \[ 2\] \.dynsym DYNSYM 00008044 001044 0000c0 10 A 3 7 4 - \[ 3\] \.dynstr STRTAB 00008104 001104 000036 00 A 0 0 1 - \[ 4\] \.rela\.got RELA 0000813c 00113c 000018 0c AI 2 11 4 - \[ 5\] \.rela\.neardata RELA 00008154 001154 000018 0c AI 2 12 4 - \[ 6\] \.rela\.bss RELA 0000816c 00116c 00000c 0c AI 2 13 4 - \[ 7\] \.dynamic DYNAMIC 00008178 001178 0000b8 08 WA 3 0 4 + \[ 1\] \.hash HASH 00008000 001000 000040 04 A 2 0 4 + \[ 2\] \.dynsym DYNSYM 00008040 001040 0000b0 10 A 3 6 4 + \[ 3\] \.dynstr STRTAB 000080f0 0010f0 000023 00 A 0 0 1 + \[ 4\] \.rela\.got RELA 00008114 001114 000018 0c AI 2 11 4 + \[ 5\] \.rela\.neardata RELA 0000812c 00112c 000018 0c AI 2 12 4 + \[ 6\] \.rela\.bss RELA 00008144 001144 00000c 0c AI 2 13 4 + \[ 7\] \.dynamic DYNAMIC 00008150 001150 0000b8 08 WA 3 0 4 \[ 8\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 11 4 \[ 9\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32 \[10\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32 @@ -17,9 +17,9 @@ \[12\] \.neardata PROGBITS 100000c0 0020c0 00000c 00 WA 0 0 4 \[13\] \.bss NOBITS 100000cc 0020cc 000004 00 WA 0 0 4 \[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020cc 000019 00 0 0 1 - \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 - \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 - \[17\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000080 00 0 0 1 + \[15\] \.symtab SYMTAB 00000000 0020e8 0001b0 10 16 22 4 + \[16\] \.strtab STRTAB 00000000 002298 00005e 00 0 0 1 + \[17\] \.shstrtab STRTAB 00000000 0022f6 000080 00 0 0 1 Key to Flags: #... @@ -29,9 +29,9 @@ Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x001000 0x00008000 0x00008000 0x00230 0x00230 RW 0x1000 + LOAD 0x001000 0x00008000 0x00008000 0x00208 0x00208 RW 0x1000 LOAD 0x002000 0x10000000 0x10000000 0x000cc 0x000d0 RWE 0x1000 - DYNAMIC 0x001178 0x00008178 0x00008178 0x000b8 0x000b8 RW 0x4 + DYNAMIC 0x001150 0x00008150 0x00008150 0x000b8 0x000b8 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 Section to Segment mapping: @@ -41,13 +41,13 @@ 02 \.dynamic 03 -Dynamic section at offset 0x1178 contains 18 entries: +Dynamic section at offset 0x1150 contains 18 entries: Tag Type Name/Value 0x00000001 \(NEEDED\) Shared library: \[tmpdir/libtestb\.so\] 0x00000004 \(HASH\) 0x8000 - 0x00000005 \(STRTAB\) 0x8104 - 0x00000006 \(SYMTAB\) 0x8044 - 0x0000000a \(STRSZ\) 54 \(bytes\) + 0x00000005 \(STRTAB\) 0x80f0 + 0x00000006 \(SYMTAB\) 0x8040 + 0x0000000a \(STRSZ\) 35 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x00000015 \(DEBUG\) 0x0 0x70000000 \(C6000_DSBT_BASE\) 0x100000a0 @@ -57,30 +57,30 @@ 0x00000002 \(PLTRELSZ\) 12 \(bytes\) 0x00000014 \(PLTREL\) RELA 0x00000017 \(JMPREL\) 0x10000000 - 0x00000007 \(RELA\) 0x813c + 0x00000007 \(RELA\) 0x8114 0x00000008 \(RELASZ\) 72 \(bytes\) 0x00000009 \(RELAENT\) 12 \(bytes\) 0x00000000 \(NULL\) 0x0 -Relocation section '\.rela\.got' at offset 0x113c contains 2 entries: +Relocation section '\.rela\.got' at offset 0x1114 contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -100000b8 00000701 R_C6000_ABS32 100000c0 b \+ 0 -100000bc 00000b01 R_C6000_ABS32 100000cc a \+ 0 +100000b8 00000601 R_C6000_ABS32 100000c0 b \+ 0 +100000bc 00000a01 R_C6000_ABS32 100000cc a \+ 0 -Relocation section '\.rela\.neardata' at offset 0x1154 contains 2 entries: +Relocation section '\.rela\.neardata' at offset 0x112c contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -100000c4 00000801 R_C6000_ABS32 00000000 g1 \+ 0 -100000c8 00000901 R_C6000_ABS32 00000000 g2 \+ 0 +100000c4 00000701 R_C6000_ABS32 00000000 g1 \+ 0 +100000c8 00000801 R_C6000_ABS32 00000000 g2 \+ 0 -Relocation section '\.rela\.bss' at offset 0x116c contains 1 entry: +Relocation section '\.rela\.bss' at offset 0x1144 contains 1 entry: Offset Info Type Sym\. Value Symbol's Name \+ Addend -100000cc 00000b1a R_C6000_COPY 100000cc a \+ 0 +100000cc 00000a1a R_C6000_COPY 100000cc a \+ 0 Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entry: Offset Info Type Sym\. Value Symbol's Name \+ Addend -100000b4 00000a1b R_C6000_JUMP_SLOT 00000000 sub0 \+ 0 +100000b4 0000091b R_C6000_JUMP_SLOT 00000000 sub0 \+ 0 -Symbol table '\.dynsym' contains 12 entries: +Symbol table '\.dynsym' contains 11 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 10000020 0 SECTION LOCAL DEFAULT 9 @@ -88,39 +88,38 @@ 3: 100000a0 0 SECTION LOCAL DEFAULT 11 4: 100000c0 0 SECTION LOCAL DEFAULT 12 5: 100000cc 0 SECTION LOCAL DEFAULT 13 - 6: 100000a0 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE - 7: 100000c0 4 OBJECT GLOBAL DEFAULT 12 b - 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 9: 00000000 0 OBJECT WEAK DEFAULT UND g2 - 10: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 - 11: 100000cc 4 OBJECT GLOBAL DEFAULT 13 a + 6: 100000c0 4 OBJECT GLOBAL DEFAULT 12 b + 7: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 8: 00000000 0 OBJECT WEAK DEFAULT UND g2 + 9: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 + 10: 100000cc 4 OBJECT GLOBAL DEFAULT 13 a -Symbol table '\.symtab' contains [0-9]+ entries: +Symbol table '\.symtab' contains 27 entries: Num: Value Size Type Bind Vis Ndx Name -.* 00000000 0 NOTYPE LOCAL DEFAULT UND -.* 00008000 0 SECTION LOCAL DEFAULT 1 -.* 00008044 0 SECTION LOCAL DEFAULT 2 -.* 00008104 0 SECTION LOCAL DEFAULT 3 -.* 0000813c 0 SECTION LOCAL DEFAULT 4 -.* 00008154 0 SECTION LOCAL DEFAULT 5 -.* 0000816c 0 SECTION LOCAL DEFAULT 6 -.* 00008178 0 SECTION LOCAL DEFAULT 7 -.* 10000000 0 SECTION LOCAL DEFAULT 8 -.* 10000020 0 SECTION LOCAL DEFAULT 9 -.* 10000060 0 SECTION LOCAL DEFAULT 10 -.* 100000a0 0 SECTION LOCAL DEFAULT 11 -.* 100000c0 0 SECTION LOCAL DEFAULT 12 -.* 100000cc 0 SECTION LOCAL DEFAULT 13 -.* 00000000 0 SECTION LOCAL DEFAULT 14 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000060 0 NOTYPE LOCAL DEFAULT 10 fish -.* 100000c4 8 OBJECT LOCAL DEFAULT 12 w -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 00008178 0 OBJECT LOCAL DEFAULT 7 _DYNAMIC -.* 100000ac 0 OBJECT LOCAL DEFAULT 11 _GLOBAL_OFFSET_TABLE_ -.* 100000a0 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE -.* 100000c0 4 OBJECT GLOBAL DEFAULT 12 b -.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 -.* 00000000 0 OBJECT WEAK DEFAULT UND g2 -.* 00000000 0 FUNC GLOBAL DEFAULT UND sub0 -.* 100000cc 4 OBJECT GLOBAL DEFAULT 13 a + 0: 00000000 0 NOTYPE LOCAL DEFAULT UND + 1: 00008000 0 SECTION LOCAL DEFAULT 1 + 2: 00008040 0 SECTION LOCAL DEFAULT 2 + 3: 000080f0 0 SECTION LOCAL DEFAULT 3 + 4: 00008114 0 SECTION LOCAL DEFAULT 4 + 5: 0000812c 0 SECTION LOCAL DEFAULT 5 + 6: 00008144 0 SECTION LOCAL DEFAULT 6 + 7: 00008150 0 SECTION LOCAL DEFAULT 7 + 8: 10000000 0 SECTION LOCAL DEFAULT 8 + 9: 10000020 0 SECTION LOCAL DEFAULT 9 + 10: 10000060 0 SECTION LOCAL DEFAULT 10 + 11: 100000a0 0 SECTION LOCAL DEFAULT 11 + 12: 100000c0 0 SECTION LOCAL DEFAULT 12 + 13: 100000cc 0 SECTION LOCAL DEFAULT 13 + 14: 00000000 0 SECTION LOCAL DEFAULT 14 + 15: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-app-1\.o + 16: 10000060 0 NOTYPE LOCAL DEFAULT 10 fish + 17: 100000c4 8 OBJECT LOCAL DEFAULT 12 w + 18: 00000000 0 FILE LOCAL DEFAULT ABS + 19: 00008150 0 OBJECT LOCAL DEFAULT 7 _DYNAMIC + 20: 100000ac 0 OBJECT LOCAL DEFAULT 11 _GLOBAL_OFFSET_TABLE_ + 21: 100000a0 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE + 22: 100000c0 4 OBJECT GLOBAL DEFAULT 12 b + 23: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 24: 00000000 0 OBJECT WEAK DEFAULT UND g2 + 25: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 + 26: 100000cc 4 OBJECT GLOBAL DEFAULT 13 a diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-app-1rb.rd binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-app-1rb.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-app-1rb.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-app-1rb.rd 2018-06-04 21:27:35.000000000 +0200 @@ -3,12 +3,12 @@ Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4 - \[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 7 4 - \[ 3\] \.dynstr STRTAB 000080dc 0010dc 000031 00 A 0 0 1 - \[ 4\] \.rela\.got RELA 00008110 001110 000018 0c AI 2 10 4 - \[ 5\] \.rela\.bss RELA 00008128 001128 00000c 0c AI 2 12 4 - \[ 6\] \.dynamic DYNAMIC 00008134 001134 0000b8 08 WA 3 0 4 + \[ 1\] \.hash HASH 00008000 001000 000038 04 A 2 0 4 + \[ 2\] \.dynsym DYNSYM 00008038 001038 000090 10 A 3 6 4 + \[ 3\] \.dynstr STRTAB 000080c8 0010c8 00001e 00 A 0 0 1 + \[ 4\] \.rela\.got RELA 000080e8 0010e8 000018 0c AI 2 10 4 + \[ 5\] \.rela\.bss RELA 00008100 001100 00000c 0c AI 2 12 4 + \[ 6\] \.dynamic DYNAMIC 0000810c 00110c 0000b8 08 WA 3 0 4 \[ 7\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 10 4 \[ 8\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32 \[ 9\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32 @@ -16,9 +16,9 @@ \[11\] \.neardata PROGBITS 100000c0 0020c0 000004 00 WA 0 0 4 \[12\] \.bss NOBITS 100000c4 0020c4 000004 00 WA 0 0 4 \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020c4 000019 00 0 0 1 - \[14\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 15 [0-9]+ 4 - \[15\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 - \[16\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 + \[14\] \.symtab SYMTAB 00000000 0020e0 000170 10 15 20 4 + \[15\] \.strtab STRTAB 00000000 002250 000057 00 0 0 1 + \[16\] \.shstrtab STRTAB 00000000 0022a7 00007b 00 0 0 1 Key to Flags: #... @@ -28,9 +28,9 @@ Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x001000 0x00008000 0x00008000 0x001ec 0x001ec RW 0x1000 + LOAD 0x001000 0x00008000 0x00008000 0x001c4 0x001c4 RW 0x1000 LOAD 0x002000 0x10000000 0x10000000 0x000c4 0x000c8 RWE 0x1000 - DYNAMIC 0x001134 0x00008134 0x00008134 0x000b8 0x000b8 RW 0x4 + DYNAMIC 0x00110c 0x0000810c 0x0000810c 0x000b8 0x000b8 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 Section to Segment mapping: @@ -40,13 +40,13 @@ 02 \.dynamic 03 -Dynamic section at offset 0x1134 contains 18 entries: +Dynamic section at offset 0x110c contains 18 entries: Tag Type Name/Value 0x00000001 \(NEEDED\) Shared library: \[tmpdir/libtestrb\.so\] 0x00000004 \(HASH\) 0x8000 - 0x00000005 \(STRTAB\) 0x80dc - 0x00000006 \(SYMTAB\) 0x803c - 0x0000000a \(STRSZ\) 49 \(bytes\) + 0x00000005 \(STRTAB\) 0x80c8 + 0x00000006 \(SYMTAB\) 0x8038 + 0x0000000a \(STRSZ\) 30 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x00000015 \(DEBUG\) 0x0 0x70000000 \(C6000_DSBT_BASE\) 0x100000a0 @@ -56,25 +56,25 @@ 0x00000002 \(PLTRELSZ\) 12 \(bytes\) 0x00000014 \(PLTREL\) RELA 0x00000017 \(JMPREL\) 0x10000000 - 0x00000007 \(RELA\) 0x8110 + 0x00000007 \(RELA\) 0x80e8 0x00000008 \(RELASZ\) 48 \(bytes\) 0x00000009 \(RELAENT\) 12 \(bytes\) 0x00000000 \(NULL\) 0x0 -Relocation section '\.rela\.got' at offset 0x1110 contains 2 entries: +Relocation section '\.rela\.got' at offset 0x10e8 contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -100000b8 00000701 R_C6000_ABS32 100000c0 b \+ 0 -100000bc 00000901 R_C6000_ABS32 100000c4 a \+ 0 +100000b8 00000601 R_C6000_ABS32 100000c0 b \+ 0 +100000bc 00000801 R_C6000_ABS32 100000c4 a \+ 0 -Relocation section '\.rela\.bss' at offset 0x1128 contains 1 entry: +Relocation section '\.rela\.bss' at offset 0x1100 contains 1 entry: Offset Info Type Sym\. Value Symbol's Name \+ Addend -100000c4 0000091a R_C6000_COPY 100000c4 a \+ 0 +100000c4 0000081a R_C6000_COPY 100000c4 a \+ 0 Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entry: Offset Info Type Sym\. Value Symbol's Name \+ Addend -100000b4 0000081b R_C6000_JUMP_SLOT 00000000 sub0 \+ 0 +100000b4 0000071b R_C6000_JUMP_SLOT 00000000 sub0 \+ 0 -Symbol table '\.dynsym' contains 10 entries: +Symbol table '\.dynsym' contains 9 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 10000020 0 SECTION LOCAL DEFAULT 8 @@ -82,33 +82,32 @@ 3: 100000a0 0 SECTION LOCAL DEFAULT 10 4: 100000c0 0 SECTION LOCAL DEFAULT 11 5: 100000c4 0 SECTION LOCAL DEFAULT 12 - 6: 100000a0 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE - 7: 100000c0 4 OBJECT GLOBAL DEFAULT 11 b - 8: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 - 9: 100000c4 4 OBJECT GLOBAL DEFAULT 12 a + 6: 100000c0 4 OBJECT GLOBAL DEFAULT 11 b + 7: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 + 8: 100000c4 4 OBJECT GLOBAL DEFAULT 12 a -Symbol table '\.symtab' contains [0-9]+ entries: +Symbol table '\.symtab' contains 23 entries: Num: Value Size Type Bind Vis Ndx Name -.* 00000000 0 NOTYPE LOCAL DEFAULT UND -.* 00008000 0 SECTION LOCAL DEFAULT 1 -.* 0000803c 0 SECTION LOCAL DEFAULT 2 -.* 000080dc 0 SECTION LOCAL DEFAULT 3 -.* 00008110 0 SECTION LOCAL DEFAULT 4 -.* 00008128 0 SECTION LOCAL DEFAULT 5 -.* 00008134 0 SECTION LOCAL DEFAULT 6 -.* 10000000 0 SECTION LOCAL DEFAULT 7 -.* 10000020 0 SECTION LOCAL DEFAULT 8 -.* 10000060 0 SECTION LOCAL DEFAULT 9 -.* 100000a0 0 SECTION LOCAL DEFAULT 10 -.* 100000c0 0 SECTION LOCAL DEFAULT 11 -.* 100000c4 0 SECTION LOCAL DEFAULT 12 -.* 00000000 0 SECTION LOCAL DEFAULT 13 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000060 0 NOTYPE LOCAL DEFAULT 9 fish -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 00008134 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC -.* 100000ac 0 OBJECT LOCAL DEFAULT 10 _GLOBAL_OFFSET_TABLE_ -.* 100000a0 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE -.* 100000c0 4 OBJECT GLOBAL DEFAULT 11 b -.* 00000000 0 FUNC GLOBAL DEFAULT UND sub0 -.* 100000c4 4 OBJECT GLOBAL DEFAULT 12 a + 0: 00000000 0 NOTYPE LOCAL DEFAULT UND + 1: 00008000 0 SECTION LOCAL DEFAULT 1 + 2: 00008038 0 SECTION LOCAL DEFAULT 2 + 3: 000080c8 0 SECTION LOCAL DEFAULT 3 + 4: 000080e8 0 SECTION LOCAL DEFAULT 4 + 5: 00008100 0 SECTION LOCAL DEFAULT 5 + 6: 0000810c 0 SECTION LOCAL DEFAULT 6 + 7: 10000000 0 SECTION LOCAL DEFAULT 7 + 8: 10000020 0 SECTION LOCAL DEFAULT 8 + 9: 10000060 0 SECTION LOCAL DEFAULT 9 + 10: 100000a0 0 SECTION LOCAL DEFAULT 10 + 11: 100000c0 0 SECTION LOCAL DEFAULT 11 + 12: 100000c4 0 SECTION LOCAL DEFAULT 12 + 13: 00000000 0 SECTION LOCAL DEFAULT 13 + 14: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-app-1r\.o + 15: 10000060 0 NOTYPE LOCAL DEFAULT 9 fish + 16: 00000000 0 FILE LOCAL DEFAULT ABS + 17: 0000810c 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC + 18: 100000ac 0 OBJECT LOCAL DEFAULT 10 _GLOBAL_OFFSET_TABLE_ + 19: 100000a0 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE + 20: 100000c0 4 OBJECT GLOBAL DEFAULT 11 b + 21: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 + 22: 100000c4 4 OBJECT GLOBAL DEFAULT 12 a diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-app-1.rd binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-app-1.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-app-1.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-app-1.rd 2018-06-04 21:27:35.000000000 +0200 @@ -3,13 +3,13 @@ Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] \.hash HASH 00008000 001000 000044 04 A 2 0 4 - \[ 2\] \.dynsym DYNSYM 00008044 001044 0000c0 10 A 3 7 4 - \[ 3\] \.dynstr STRTAB 00008104 001104 000035 00 A 0 0 1 - \[ 4\] \.rela\.got RELA 0000813c 00113c 000018 0c AI 2 11 4 - \[ 5\] \.rela\.neardata RELA 00008154 001154 000018 0c AI 2 12 4 - \[ 6\] \.rela\.bss RELA 0000816c 00116c 00000c 0c AI 2 13 4 - \[ 7\] \.dynamic DYNAMIC 00008178 001178 0000b8 08 WA 3 0 4 + \[ 1\] \.hash HASH 00008000 001000 000040 04 A 2 0 4 + \[ 2\] \.dynsym DYNSYM 00008040 001040 0000b0 10 A 3 6 4 + \[ 3\] \.dynstr STRTAB 000080f0 0010f0 000022 00 A 0 0 1 + \[ 4\] \.rela\.got RELA 00008114 001114 000018 0c AI 2 11 4 + \[ 5\] \.rela\.neardata RELA 0000812c 00112c 000018 0c AI 2 12 4 + \[ 6\] \.rela\.bss RELA 00008144 001144 00000c 0c AI 2 13 4 + \[ 7\] \.dynamic DYNAMIC 00008150 001150 0000b8 08 WA 3 0 4 \[ 8\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 11 4 \[ 9\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32 \[10\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32 @@ -17,9 +17,9 @@ \[12\] \.neardata PROGBITS 100000c0 0020c0 00000c 00 WA 0 0 4 \[13\] \.bss NOBITS 100000cc 0020cc 000004 00 WA 0 0 4 \[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020cc 000019 00 0 0 1 - \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 - \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 - \[17\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000080 00 0 0 1 + \[15\] \.symtab SYMTAB 00000000 0020e8 0001b0 10 16 22 4 + \[16\] \.strtab STRTAB 00000000 002298 00005e 00 0 0 1 + \[17\] \.shstrtab STRTAB 00000000 0022f6 000080 00 0 0 1 Key to Flags: #... @@ -29,9 +29,9 @@ Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x001000 0x00008000 0x00008000 0x00230 0x00230 RW 0x1000 + LOAD 0x001000 0x00008000 0x00008000 0x00208 0x00208 RW 0x1000 LOAD 0x002000 0x10000000 0x10000000 0x000cc 0x000d0 RWE 0x1000 - DYNAMIC 0x001178 0x00008178 0x00008178 0x000b8 0x000b8 RW 0x4 + DYNAMIC 0x001150 0x00008150 0x00008150 0x000b8 0x000b8 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 Section to Segment mapping: @@ -41,13 +41,13 @@ 02 \.dynamic 03 -Dynamic section at offset 0x1178 contains 18 entries: +Dynamic section at offset 0x1150 contains 18 entries: Tag Type Name/Value 0x00000001 \(NEEDED\) Shared library: \[tmpdir/libtest\.so\] 0x00000004 \(HASH\) 0x8000 - 0x00000005 \(STRTAB\) 0x8104 - 0x00000006 \(SYMTAB\) 0x8044 - 0x0000000a \(STRSZ\) 53 \(bytes\) + 0x00000005 \(STRTAB\) 0x80f0 + 0x00000006 \(SYMTAB\) 0x8040 + 0x0000000a \(STRSZ\) 34 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x00000015 \(DEBUG\) 0x0 0x70000000 \(C6000_DSBT_BASE\) 0x100000a0 @@ -57,30 +57,30 @@ 0x00000002 \(PLTRELSZ\) 12 \(bytes\) 0x00000014 \(PLTREL\) RELA 0x00000017 \(JMPREL\) 0x10000000 - 0x00000007 \(RELA\) 0x813c + 0x00000007 \(RELA\) 0x8114 0x00000008 \(RELASZ\) 72 \(bytes\) 0x00000009 \(RELAENT\) 12 \(bytes\) 0x00000000 \(NULL\) 0x0 -Relocation section '\.rela\.got' at offset 0x113c contains 2 entries: +Relocation section '\.rela\.got' at offset 0x1114 contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -100000b8 00000701 R_C6000_ABS32 100000c0 b \+ 0 -100000bc 00000b01 R_C6000_ABS32 100000cc a \+ 0 +100000b8 00000601 R_C6000_ABS32 100000c0 b \+ 0 +100000bc 00000a01 R_C6000_ABS32 100000cc a \+ 0 -Relocation section '\.rela\.neardata' at offset 0x1154 contains 2 entries: +Relocation section '\.rela\.neardata' at offset 0x112c contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -100000c4 00000801 R_C6000_ABS32 00000000 g1 \+ 0 -100000c8 00000901 R_C6000_ABS32 00000000 g2 \+ 0 +100000c4 00000701 R_C6000_ABS32 00000000 g1 \+ 0 +100000c8 00000801 R_C6000_ABS32 00000000 g2 \+ 0 -Relocation section '\.rela\.bss' at offset 0x116c contains 1 entry: +Relocation section '\.rela\.bss' at offset 0x1144 contains 1 entry: Offset Info Type Sym\. Value Symbol's Name \+ Addend -100000cc 00000b1a R_C6000_COPY 100000cc a \+ 0 +100000cc 00000a1a R_C6000_COPY 100000cc a \+ 0 Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entry: Offset Info Type Sym\. Value Symbol's Name \+ Addend -100000b4 00000a1b R_C6000_JUMP_SLOT 00000000 sub0 \+ 0 +100000b4 0000091b R_C6000_JUMP_SLOT 00000000 sub0 \+ 0 -Symbol table '\.dynsym' contains 12 entries: +Symbol table '\.dynsym' contains 11 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 10000020 0 SECTION LOCAL DEFAULT 9 @@ -88,39 +88,38 @@ 3: 100000a0 0 SECTION LOCAL DEFAULT 11 4: 100000c0 0 SECTION LOCAL DEFAULT 12 5: 100000cc 0 SECTION LOCAL DEFAULT 13 - 6: 100000a0 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE - 7: 100000c0 4 OBJECT GLOBAL DEFAULT 12 b - 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 9: 00000000 0 OBJECT WEAK DEFAULT UND g2 - 10: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 - 11: 100000cc 4 OBJECT GLOBAL DEFAULT 13 a + 6: 100000c0 4 OBJECT GLOBAL DEFAULT 12 b + 7: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 8: 00000000 0 OBJECT WEAK DEFAULT UND g2 + 9: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 + 10: 100000cc 4 OBJECT GLOBAL DEFAULT 13 a -Symbol table '\.symtab' contains [0-9]+ entries: +Symbol table '\.symtab' contains 27 entries: Num: Value Size Type Bind Vis Ndx Name -.* 00000000 0 NOTYPE LOCAL DEFAULT UND -.* 00008000 0 SECTION LOCAL DEFAULT 1 -.* 00008044 0 SECTION LOCAL DEFAULT 2 -.* 00008104 0 SECTION LOCAL DEFAULT 3 -.* 0000813c 0 SECTION LOCAL DEFAULT 4 -.* 00008154 0 SECTION LOCAL DEFAULT 5 -.* 0000816c 0 SECTION LOCAL DEFAULT 6 -.* 00008178 0 SECTION LOCAL DEFAULT 7 -.* 10000000 0 SECTION LOCAL DEFAULT 8 -.* 10000020 0 SECTION LOCAL DEFAULT 9 -.* 10000060 0 SECTION LOCAL DEFAULT 10 -.* 100000a0 0 SECTION LOCAL DEFAULT 11 -.* 100000c0 0 SECTION LOCAL DEFAULT 12 -.* 100000cc 0 SECTION LOCAL DEFAULT 13 -.* 00000000 0 SECTION LOCAL DEFAULT 14 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000060 0 NOTYPE LOCAL DEFAULT 10 fish -.* 100000c4 8 OBJECT LOCAL DEFAULT 12 w -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 00008178 0 OBJECT LOCAL DEFAULT 7 _DYNAMIC -.* 100000ac 0 OBJECT LOCAL DEFAULT 11 _GLOBAL_OFFSET_TABLE_ -.* 100000a0 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE -.* 100000c0 4 OBJECT GLOBAL DEFAULT 12 b -.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 -.* 00000000 0 OBJECT WEAK DEFAULT UND g2 -.* 00000000 0 FUNC GLOBAL DEFAULT UND sub0 -.* 100000cc 4 OBJECT GLOBAL DEFAULT 13 a + 0: 00000000 0 NOTYPE LOCAL DEFAULT UND + 1: 00008000 0 SECTION LOCAL DEFAULT 1 + 2: 00008040 0 SECTION LOCAL DEFAULT 2 + 3: 000080f0 0 SECTION LOCAL DEFAULT 3 + 4: 00008114 0 SECTION LOCAL DEFAULT 4 + 5: 0000812c 0 SECTION LOCAL DEFAULT 5 + 6: 00008144 0 SECTION LOCAL DEFAULT 6 + 7: 00008150 0 SECTION LOCAL DEFAULT 7 + 8: 10000000 0 SECTION LOCAL DEFAULT 8 + 9: 10000020 0 SECTION LOCAL DEFAULT 9 + 10: 10000060 0 SECTION LOCAL DEFAULT 10 + 11: 100000a0 0 SECTION LOCAL DEFAULT 11 + 12: 100000c0 0 SECTION LOCAL DEFAULT 12 + 13: 100000cc 0 SECTION LOCAL DEFAULT 13 + 14: 00000000 0 SECTION LOCAL DEFAULT 14 + 15: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-app-1\.o + 16: 10000060 0 NOTYPE LOCAL DEFAULT 10 fish + 17: 100000c4 8 OBJECT LOCAL DEFAULT 12 w + 18: 00000000 0 FILE LOCAL DEFAULT ABS + 19: 00008150 0 OBJECT LOCAL DEFAULT 7 _DYNAMIC + 20: 100000ac 0 OBJECT LOCAL DEFAULT 11 _GLOBAL_OFFSET_TABLE_ + 21: 100000a0 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE + 22: 100000c0 4 OBJECT GLOBAL DEFAULT 12 b + 23: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 24: 00000000 0 OBJECT WEAK DEFAULT UND g2 + 25: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 + 26: 100000cc 4 OBJECT GLOBAL DEFAULT 13 a diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-app-1r.rd binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-app-1r.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-app-1r.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-app-1r.rd 2018-06-04 21:27:35.000000000 +0200 @@ -3,12 +3,12 @@ Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4 - \[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 7 4 - \[ 3\] \.dynstr STRTAB 000080dc 0010dc 000030 00 A 0 0 1 - \[ 4\] \.rela\.got RELA 0000810c 00110c 000018 0c AI 2 10 4 - \[ 5\] \.rela\.bss RELA 00008124 001124 00000c 0c AI 2 12 4 - \[ 6\] \.dynamic DYNAMIC 00008130 001130 0000b8 08 WA 3 0 4 + \[ 1\] \.hash HASH 00008000 001000 000038 04 A 2 0 4 + \[ 2\] \.dynsym DYNSYM 00008038 001038 000090 10 A 3 6 4 + \[ 3\] \.dynstr STRTAB 000080c8 0010c8 00001d 00 A 0 0 1 + \[ 4\] \.rela\.got RELA 000080e8 0010e8 000018 0c AI 2 10 4 + \[ 5\] \.rela\.bss RELA 00008100 001100 00000c 0c AI 2 12 4 + \[ 6\] \.dynamic DYNAMIC 0000810c 00110c 0000b8 08 WA 3 0 4 \[ 7\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 10 4 \[ 8\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32 \[ 9\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32 @@ -16,9 +16,9 @@ \[11\] \.neardata PROGBITS 100000c0 0020c0 000004 00 WA 0 0 4 \[12\] \.bss NOBITS 100000c4 0020c4 000004 00 WA 0 0 4 \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020c4 000019 00 0 0 1 - \[14\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 15 [0-9]+ 4 - \[15\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 - \[16\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 00007b 00 0 0 1 + \[14\] \.symtab SYMTAB 00000000 0020e0 000170 10 15 20 4 + \[15\] \.strtab STRTAB 00000000 002250 000057 00 0 0 1 + \[16\] \.shstrtab STRTAB 00000000 0022a7 00007b 00 0 0 1 Key to Flags: #... @@ -28,9 +28,9 @@ Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x001000 0x00008000 0x00008000 0x001e8 0x001e8 RW 0x1000 + LOAD 0x001000 0x00008000 0x00008000 0x001c4 0x001c4 RW 0x1000 LOAD 0x002000 0x10000000 0x10000000 0x000c4 0x000c8 RWE 0x1000 - DYNAMIC 0x001130 0x00008130 0x00008130 0x000b8 0x000b8 RW 0x4 + DYNAMIC 0x00110c 0x0000810c 0x0000810c 0x000b8 0x000b8 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 Section to Segment mapping: @@ -40,13 +40,13 @@ 02 \.dynamic 03 -Dynamic section at offset 0x1130 contains 18 entries: +Dynamic section at offset 0x110c contains 18 entries: Tag Type Name/Value 0x00000001 \(NEEDED\) Shared library: \[tmpdir/libtestr\.so\] 0x00000004 \(HASH\) 0x8000 - 0x00000005 \(STRTAB\) 0x80dc - 0x00000006 \(SYMTAB\) 0x803c - 0x0000000a \(STRSZ\) 48 \(bytes\) + 0x00000005 \(STRTAB\) 0x80c8 + 0x00000006 \(SYMTAB\) 0x8038 + 0x0000000a \(STRSZ\) 29 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x00000015 \(DEBUG\) 0x0 0x70000000 \(C6000_DSBT_BASE\) 0x100000a0 @@ -56,25 +56,25 @@ 0x00000002 \(PLTRELSZ\) 12 \(bytes\) 0x00000014 \(PLTREL\) RELA 0x00000017 \(JMPREL\) 0x10000000 - 0x00000007 \(RELA\) 0x810c + 0x00000007 \(RELA\) 0x80e8 0x00000008 \(RELASZ\) 48 \(bytes\) 0x00000009 \(RELAENT\) 12 \(bytes\) 0x00000000 \(NULL\) 0x0 -Relocation section '\.rela\.got' at offset 0x110c contains 2 entries: +Relocation section '\.rela\.got' at offset 0x10e8 contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -100000b8 00000701 R_C6000_ABS32 100000c0 b \+ 0 -100000bc 00000901 R_C6000_ABS32 100000c4 a \+ 0 +100000b8 00000601 R_C6000_ABS32 100000c0 b \+ 0 +100000bc 00000801 R_C6000_ABS32 100000c4 a \+ 0 -Relocation section '\.rela\.bss' at offset 0x1124 contains 1 entry: +Relocation section '\.rela\.bss' at offset 0x1100 contains 1 entry: Offset Info Type Sym\. Value Symbol's Name \+ Addend -100000c4 0000091a R_C6000_COPY 100000c4 a \+ 0 +100000c4 0000081a R_C6000_COPY 100000c4 a \+ 0 Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entry: Offset Info Type Sym\. Value Symbol's Name \+ Addend -100000b4 0000081b R_C6000_JUMP_SLOT 00000000 sub0 \+ 0 +100000b4 0000071b R_C6000_JUMP_SLOT 00000000 sub0 \+ 0 -Symbol table '\.dynsym' contains 10 entries: +Symbol table '\.dynsym' contains 9 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 10000020 0 SECTION LOCAL DEFAULT 8 @@ -82,33 +82,32 @@ 3: 100000a0 0 SECTION LOCAL DEFAULT 10 4: 100000c0 0 SECTION LOCAL DEFAULT 11 5: 100000c4 0 SECTION LOCAL DEFAULT 12 - 6: 100000a0 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE - 7: 100000c0 4 OBJECT GLOBAL DEFAULT 11 b - 8: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 - 9: 100000c4 4 OBJECT GLOBAL DEFAULT 12 a + 6: 100000c0 4 OBJECT GLOBAL DEFAULT 11 b + 7: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 + 8: 100000c4 4 OBJECT GLOBAL DEFAULT 12 a -Symbol table '\.symtab' contains [0-9]+ entries: +Symbol table '\.symtab' contains 23 entries: Num: Value Size Type Bind Vis Ndx Name -.* 00000000 0 NOTYPE LOCAL DEFAULT UND -.* 00008000 0 SECTION LOCAL DEFAULT 1 -.* 0000803c 0 SECTION LOCAL DEFAULT 2 -.* 000080dc 0 SECTION LOCAL DEFAULT 3 -.* 0000810c 0 SECTION LOCAL DEFAULT 4 -.* 00008124 0 SECTION LOCAL DEFAULT 5 -.* 00008130 0 SECTION LOCAL DEFAULT 6 -.* 10000000 0 SECTION LOCAL DEFAULT 7 -.* 10000020 0 SECTION LOCAL DEFAULT 8 -.* 10000060 0 SECTION LOCAL DEFAULT 9 -.* 100000a0 0 SECTION LOCAL DEFAULT 10 -.* 100000c0 0 SECTION LOCAL DEFAULT 11 -.* 100000c4 0 SECTION LOCAL DEFAULT 12 -.* 00000000 0 SECTION LOCAL DEFAULT 13 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000060 0 NOTYPE LOCAL DEFAULT 9 fish -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 00008130 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC -.* 100000ac 0 OBJECT LOCAL DEFAULT 10 _GLOBAL_OFFSET_TABLE_ -.* 100000a0 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE -.* 100000c0 4 OBJECT GLOBAL DEFAULT 11 b -.* 00000000 0 FUNC GLOBAL DEFAULT UND sub0 -.* 100000c4 4 OBJECT GLOBAL DEFAULT 12 a + 0: 00000000 0 NOTYPE LOCAL DEFAULT UND + 1: 00008000 0 SECTION LOCAL DEFAULT 1 + 2: 00008038 0 SECTION LOCAL DEFAULT 2 + 3: 000080c8 0 SECTION LOCAL DEFAULT 3 + 4: 000080e8 0 SECTION LOCAL DEFAULT 4 + 5: 00008100 0 SECTION LOCAL DEFAULT 5 + 6: 0000810c 0 SECTION LOCAL DEFAULT 6 + 7: 10000000 0 SECTION LOCAL DEFAULT 7 + 8: 10000020 0 SECTION LOCAL DEFAULT 8 + 9: 10000060 0 SECTION LOCAL DEFAULT 9 + 10: 100000a0 0 SECTION LOCAL DEFAULT 10 + 11: 100000c0 0 SECTION LOCAL DEFAULT 11 + 12: 100000c4 0 SECTION LOCAL DEFAULT 12 + 13: 00000000 0 SECTION LOCAL DEFAULT 13 + 14: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-app-1r\.o + 15: 10000060 0 NOTYPE LOCAL DEFAULT 9 fish + 16: 00000000 0 FILE LOCAL DEFAULT ABS + 17: 0000810c 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC + 18: 100000ac 0 OBJECT LOCAL DEFAULT 10 _GLOBAL_OFFSET_TABLE_ + 19: 100000a0 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE + 20: 100000c0 4 OBJECT GLOBAL DEFAULT 11 b + 21: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 + 22: 100000c4 4 OBJECT GLOBAL DEFAULT 12 a diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-noindex.rd binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-noindex.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/shlib-noindex.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/shlib-noindex.rd 2018-06-04 21:27:35.000000000 +0200 @@ -3,13 +3,13 @@ Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4 - \[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 7 4 - \[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1 - \[ 4\] \.rela\.text RELA 00008140 001140 00000c 0c AI 2 10 4 - \[ 5\] \.rela\.got RELA 0000814c 00114c 000024 0c AI 2 11 4 - \[ 6\] \.rela\.neardata RELA 00008170 001170 000018 0c AI 2 12 4 - \[ 7\] \.dynamic DYNAMIC 00008188 001188 0000b0 08 WA 3 0 4 + \[ 1\] \.hash HASH 00008000 001000 000044 04 A 2 0 4 + \[ 2\] \.dynsym DYNSYM 00008044 001044 0000c0 10 A 3 6 4 + \[ 3\] \.dynstr STRTAB 00008104 001104 000012 00 A 0 0 1 + \[ 4\] \.rela\.text RELA 00008118 001118 00000c 0c AI 2 10 4 + \[ 5\] \.rela\.got RELA 00008124 001124 000024 0c AI 2 11 4 + \[ 6\] \.rela\.neardata RELA 00008148 001148 000018 0c AI 2 12 4 + \[ 7\] \.dynamic DYNAMIC 00008160 001160 0000b0 08 WA 3 0 4 \[ 8\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 11 4 \[ 9\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32 \[10\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32 @@ -17,9 +17,9 @@ \[12\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4 \[13\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 \[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 - \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 - \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 - \[17\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000080 00 0 0 1 + \[15\] \.symtab SYMTAB 00000000 00214c 0001c0 10 16 22 4 + \[16\] \.strtab STRTAB 00000000 00230c 00005c 00 0 0 1 + \[17\] \.shstrtab STRTAB 00000000 002368 000080 00 0 0 1 Key to Flags: #... @@ -29,9 +29,9 @@ Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x001000 0x00008000 0x00008000 0x00238 0x00238 RW 0x1000 + LOAD 0x001000 0x00008000 0x00008000 0x00210 0x00210 RW 0x1000 LOAD 0x002000 0x10000000 0x10000000 0x00130 0x00134 RWE 0x1000 - DYNAMIC 0x001188 0x00008188 0x00008188 0x000b0 0x000b0 RW 0x4 + DYNAMIC 0x001160 0x00008160 0x00008160 0x000b0 0x000b0 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 Section to Segment mapping: @@ -41,12 +41,12 @@ 02 \.dynamic 03 -Dynamic section at offset 0x1188 contains 17 entries: +Dynamic section at offset 0x1160 contains 17 entries: Tag Type Name/Value 0x00000004 \(HASH\) 0x8000 - 0x00000005 \(STRTAB\) 0x8118 - 0x00000006 \(SYMTAB\) 0x8048 - 0x0000000a \(STRSZ\) 37 \(bytes\) + 0x00000005 \(STRTAB\) 0x8104 + 0x00000006 \(SYMTAB\) 0x8044 + 0x0000000a \(STRSZ\) 18 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x70000000 \(C6000_DSBT_BASE\) 0x10000100 0x70000001 \(C6000_DSBT_SIZE\) 0x3 @@ -55,33 +55,33 @@ 0x00000002 \(PLTRELSZ\) 24 \(bytes\) 0x00000014 \(PLTREL\) RELA 0x00000017 \(JMPREL\) 0x10000000 - 0x00000007 \(RELA\) 0x8140 + 0x00000007 \(RELA\) 0x8118 0x00000008 \(RELASZ\) 96 \(bytes\) 0x00000009 \(RELAENT\) 12 \(bytes\) 0x00000016 \(TEXTREL\) 0x0 0x00000000 \(NULL\) 0x0 -Relocation section '\.rela\.text' at offset 0x1140 contains 1 entry: +Relocation section '\.rela\.text' at offset 0x1118 contains 1 entry: Offset Info Type Sym\. Value Symbol's Name \+ Addend -10000094 00000618 R_C6000_DSBT_INDEX 10000100 __c6xabi_DSBT_BASE \+ 0 +10000094 00000318 R_C6000_DSBT_INDEX 10000100 \.got - 10000100 -Relocation section '\.rela\.got' at offset 0x114c contains 3 entries: +Relocation section '\.rela\.got' at offset 0x1124 contains 3 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend 10000120 00000501 R_C6000_ABS32 10000130 \.bss \+ 0 -1000011c 00000701 R_C6000_ABS32 00000000 b \+ 0 -10000124 00000b01 R_C6000_ABS32 10000128 a \+ 0 +1000011c 00000601 R_C6000_ABS32 00000000 b \+ 0 +10000124 00000a01 R_C6000_ABS32 10000128 a \+ 0 -Relocation section '\.rela\.neardata' at offset 0x1170 contains 2 entries: +Relocation section '\.rela\.neardata' at offset 0x1148 contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -10000128 00000a01 R_C6000_ABS32 10000088 sub0 \+ 0 -1000012c 00000801 R_C6000_ABS32 00000000 g1 \+ 0 +10000128 00000901 R_C6000_ABS32 10000088 sub0 \+ 0 +1000012c 00000701 R_C6000_ABS32 00000000 g1 \+ 0 Relocation section '\.rela\.plt' at offset 0x2000 contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend -10000114 00000a1b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0 -10000118 00000c1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0 +10000114 0000091b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0 +10000118 00000b1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0 -Symbol table '\.dynsym' contains 13 entries: +Symbol table '\.dynsym' contains 12 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 10000020 0 SECTION LOCAL DEFAULT 9 @@ -89,41 +89,40 @@ 3: 10000100 0 SECTION LOCAL DEFAULT 11 4: 10000128 0 SECTION LOCAL DEFAULT 12 5: 10000130 0 SECTION LOCAL DEFAULT 13 - 6: 10000100 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE - 7: 00000000 0 NOTYPE WEAK DEFAULT UND b - 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 9: 1000012c 4 OBJECT GLOBAL DEFAULT 12 g2 - 10: 10000088 52 FUNC GLOBAL DEFAULT 10 sub0 - 11: 10000128 4 OBJECT GLOBAL DEFAULT 12 a - 12: 100000c0 52 FUNC GLOBAL DEFAULT 10 sub + 6: 00000000 0 NOTYPE WEAK DEFAULT UND b + 7: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 8: 1000012c 4 OBJECT GLOBAL DEFAULT 12 g2 + 9: 10000088 52 FUNC GLOBAL DEFAULT 10 sub0 + 10: 10000128 4 OBJECT GLOBAL DEFAULT 12 a + 11: 100000c0 52 FUNC GLOBAL DEFAULT 10 sub -Symbol table '\.symtab' contains [0-9]+ entries: +Symbol table '\.symtab' contains 28 entries: Num: Value Size Type Bind Vis Ndx Name -.* 00000000 0 NOTYPE LOCAL DEFAULT UND -.* 00008000 0 SECTION LOCAL DEFAULT 1 -.* 00008048 0 SECTION LOCAL DEFAULT 2 -.* 00008118 0 SECTION LOCAL DEFAULT 3 -.* 00008140 0 SECTION LOCAL DEFAULT 4 -.* 0000814c 0 SECTION LOCAL DEFAULT 5 -.* 00008170 0 SECTION LOCAL DEFAULT 6 -.* 00008188 0 SECTION LOCAL DEFAULT 7 -.* 10000000 0 SECTION LOCAL DEFAULT 8 -.* 10000020 0 SECTION LOCAL DEFAULT 9 -.* 10000080 0 SECTION LOCAL DEFAULT 10 -.* 10000100 0 SECTION LOCAL DEFAULT 11 -.* 10000128 0 SECTION LOCAL DEFAULT 12 -.* 10000130 0 SECTION LOCAL DEFAULT 13 -.* 00000000 0 SECTION LOCAL DEFAULT 14 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000080 0 FUNC LOCAL HIDDEN 10 sub1 -.* 00000000 0 FILE LOCAL DEFAULT ABS -.* 00008188 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC -.* 10000130 4 OBJECT LOCAL DEFAULT 13 c -.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ -.* 10000100 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE -.* 00000000 0 NOTYPE WEAK DEFAULT UND b -.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 -.* 1000012c 4 OBJECT GLOBAL DEFAULT 12 g2 -.* 10000088 52 FUNC GLOBAL DEFAULT 10 sub0 -.* 10000128 4 OBJECT GLOBAL DEFAULT 12 a -.* 100000c0 52 FUNC GLOBAL DEFAULT 10 sub + 0: 00000000 0 NOTYPE LOCAL DEFAULT UND + 1: 00008000 0 SECTION LOCAL DEFAULT 1 + 2: 00008044 0 SECTION LOCAL DEFAULT 2 + 3: 00008104 0 SECTION LOCAL DEFAULT 3 + 4: 00008118 0 SECTION LOCAL DEFAULT 4 + 5: 00008124 0 SECTION LOCAL DEFAULT 5 + 6: 00008148 0 SECTION LOCAL DEFAULT 6 + 7: 00008160 0 SECTION LOCAL DEFAULT 7 + 8: 10000000 0 SECTION LOCAL DEFAULT 8 + 9: 10000020 0 SECTION LOCAL DEFAULT 9 + 10: 10000080 0 SECTION LOCAL DEFAULT 10 + 11: 10000100 0 SECTION LOCAL DEFAULT 11 + 12: 10000128 0 SECTION LOCAL DEFAULT 12 + 13: 10000130 0 SECTION LOCAL DEFAULT 13 + 14: 00000000 0 SECTION LOCAL DEFAULT 14 + 15: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-1\.o + 16: 10000080 0 FUNC LOCAL HIDDEN 10 sub1 + 17: 00000000 0 FILE LOCAL DEFAULT ABS + 18: 00008160 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC + 19: 10000130 4 OBJECT LOCAL DEFAULT 13 c + 20: 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ + 21: 10000100 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE + 22: 00000000 0 NOTYPE WEAK DEFAULT UND b + 23: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 24: 1000012c 4 OBJECT GLOBAL DEFAULT 12 g2 + 25: 10000088 52 FUNC GLOBAL DEFAULT 10 sub0 + 26: 10000128 4 OBJECT GLOBAL DEFAULT 12 a + 27: 100000c0 52 FUNC GLOBAL DEFAULT 10 sub diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/static-app-1b.rd binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/static-app-1b.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/static-app-1b.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/static-app-1b.rd 2018-06-04 21:27:35.000000000 +0200 @@ -3,20 +3,20 @@ Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4 - \[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 7 4 - \[ 3\] \.dynstr STRTAB 000080dc 0010dc 00001d 00 A 0 0 1 - \[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c AI 2 8 4 - \[ 5\] \.rela\.neardata RELA 00008120 001120 000030 0c AI 2 9 4 - \[ 6\] \.dynamic DYNAMIC 00008150 001150 000090 08 WA 3 0 4 + \[ 1\] \.hash HASH 00008000 001000 000038 04 A 2 0 4 + \[ 2\] \.dynsym DYNSYM 00008038 001038 000090 10 A 3 6 4 + \[ 3\] \.dynstr STRTAB 000080c8 0010c8 00000a 00 A 0 0 1 + \[ 4\] \.rela\.got RELA 000080d4 0010d4 000024 0c AI 2 8 4 + \[ 5\] \.rela\.neardata RELA 000080f8 0010f8 000030 0c AI 2 9 4 + \[ 6\] \.dynamic DYNAMIC 00008128 001128 000090 08 WA 3 0 4 \[ 7\] \.text PROGBITS 10000000 002000 0000c0 00 AX 0 0 32 \[ 8\] \.got PROGBITS 100000c0 0020c0 000020 00 WA 0 0 4 \[ 9\] \.neardata PROGBITS 100000e0 0020e0 000014 00 WA 0 0 4 \[10\] \.bss NOBITS 100000f4 0020f4 000004 00 WA 0 0 4 \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020f4 000019 00 0 0 1 - \[12\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 13 [0-9]+ 4 - \[13\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 - \[14\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000071 00 0 0 1 + \[12\] \.symtab SYMTAB 00000000 002110 0001c0 10 13 22 4 + \[13\] \.strtab STRTAB 00000000 0022d0 000078 00 0 0 1 + \[14\] \.shstrtab STRTAB 00000000 002348 000071 00 0 0 1 Key to Flags: #... @@ -26,9 +26,9 @@ Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x001000 0x00008000 0x00008000 0x001e0 0x001e0 RW 0x1000 + LOAD 0x001000 0x00008000 0x00008000 0x001b8 0x001b8 RW 0x1000 LOAD 0x002000 0x10000000 0x10000000 0x000f4 0x000f8 RWE 0x1000 - DYNAMIC 0x001150 0x00008150 0x00008150 0x00090 0x00090 RW 0x4 + DYNAMIC 0x001128 0x00008128 0x00008128 0x00090 0x00090 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 Section to Segment mapping: @@ -38,36 +38,36 @@ 02 \.dynamic 03 -Dynamic section at offset 0x1150 contains 13 entries: +Dynamic section at offset 0x1128 contains 13 entries: Tag Type Name/Value 0x00000004 \(HASH\) 0x8000 - 0x00000005 \(STRTAB\) 0x80dc - 0x00000006 \(SYMTAB\) 0x803c - 0x0000000a \(STRSZ\) 29 \(bytes\) + 0x00000005 \(STRTAB\) 0x80c8 + 0x00000006 \(SYMTAB\) 0x8038 + 0x0000000a \(STRSZ\) 10 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x00000015 \(DEBUG\) 0x0 0x70000000 \(C6000_DSBT_BASE\) 0x100000c0 0x70000001 \(C6000_DSBT_SIZE\) 0x3 0x70000003 \(C6000_DSBT_INDEX\) 0x0 - 0x00000007 \(RELA\) 0x80fc + 0x00000007 \(RELA\) 0x80d4 0x00000008 \(RELASZ\) 84 \(bytes\) 0x00000009 \(RELAENT\) 12 \(bytes\) 0x00000000 \(NULL\) 0x0 -Relocation section '\.rela\.got' at offset 0x10fc contains 3 entries: +Relocation section '\.rela\.got' at offset 0x10d4 contains 3 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend 100000d8 00000401 R_C6000_ABS32 100000f4 \.bss \+ 0 -100000d4 00000701 R_C6000_ABS32 100000e8 b \+ 0 -100000dc 00000901 R_C6000_ABS32 100000e0 a \+ 0 +100000d4 00000601 R_C6000_ABS32 100000e8 b \+ 0 +100000dc 00000801 R_C6000_ABS32 100000e0 a \+ 0 -Relocation section '\.rela\.neardata' at offset 0x1120 contains 4 entries: +Relocation section '\.rela\.neardata' at offset 0x10f8 contains 4 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend 100000e0 00000101 R_C6000_ABS32 10000000 \.text \+ 8 -100000e4 00000801 R_C6000_ABS32 00000000 g1 \+ 0 -100000ec 00000801 R_C6000_ABS32 00000000 g1 \+ 0 +100000e4 00000701 R_C6000_ABS32 00000000 g1 \+ 0 +100000ec 00000701 R_C6000_ABS32 00000000 g1 \+ 0 100000f0 00000301 R_C6000_ABS32 100000e0 \.neardata \+ 4 -Symbol table '\.dynsym' contains 10 entries: +Symbol table '\.dynsym' contains 9 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 10000000 0 SECTION LOCAL DEFAULT 7 @@ -75,38 +75,37 @@ 3: 100000e0 0 SECTION LOCAL DEFAULT 9 4: 100000f4 0 SECTION LOCAL DEFAULT 10 5: 100000f4 4 OBJECT LOCAL DEFAULT 10 c - 6: 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE - 7: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b - 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 9: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a + 6: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b + 7: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 8: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a -Symbol table '\.symtab' contains [0-9]+ entries: +Symbol table '\.symtab' contains 28 entries: Num: Value Size Type Bind Vis Ndx Name -.* 00000000 0 NOTYPE LOCAL DEFAULT UND -.* 00008000 0 SECTION LOCAL DEFAULT 1 -.* 0000803c 0 SECTION LOCAL DEFAULT 2 -.* 000080dc 0 SECTION LOCAL DEFAULT 3 -.* 000080fc 0 SECTION LOCAL DEFAULT 4 -.* 00008120 0 SECTION LOCAL DEFAULT 5 -.* 00008150 0 SECTION LOCAL DEFAULT 6 -.* 10000000 0 SECTION LOCAL DEFAULT 7 -.* 100000c0 0 SECTION LOCAL DEFAULT 8 -.* 100000e0 0 SECTION LOCAL DEFAULT 9 -.* 100000f4 0 SECTION LOCAL DEFAULT 10 -.* 00000000 0 SECTION LOCAL DEFAULT 11 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000000 0 FUNC LOCAL HIDDEN 7 sub1 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000080 0 NOTYPE LOCAL DEFAULT 7 fish -.* 100000ec 8 OBJECT LOCAL DEFAULT 9 w -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 00008150 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC -.* 100000f4 4 OBJECT LOCAL DEFAULT 10 c -.* 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ -.* 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE -.* 100000e8 4 OBJECT GLOBAL DEFAULT 9 b -.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 -.* 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 -.* 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 -.* 100000e0 4 OBJECT GLOBAL DEFAULT 9 a -.* 10000040 52 FUNC GLOBAL DEFAULT 7 sub + 0: 00000000 0 NOTYPE LOCAL DEFAULT UND + 1: 00008000 0 SECTION LOCAL DEFAULT 1 + 2: 00008038 0 SECTION LOCAL DEFAULT 2 + 3: 000080c8 0 SECTION LOCAL DEFAULT 3 + 4: 000080d4 0 SECTION LOCAL DEFAULT 4 + 5: 000080f8 0 SECTION LOCAL DEFAULT 5 + 6: 00008128 0 SECTION LOCAL DEFAULT 6 + 7: 10000000 0 SECTION LOCAL DEFAULT 7 + 8: 100000c0 0 SECTION LOCAL DEFAULT 8 + 9: 100000e0 0 SECTION LOCAL DEFAULT 9 + 10: 100000f4 0 SECTION LOCAL DEFAULT 10 + 11: 00000000 0 SECTION LOCAL DEFAULT 11 + 12: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-1\.o + 13: 10000000 0 FUNC LOCAL HIDDEN 7 sub1 + 14: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-app-1\.o + 15: 10000080 0 NOTYPE LOCAL DEFAULT 7 fish + 16: 100000ec 8 OBJECT LOCAL DEFAULT 9 w + 17: 00000000 0 FILE LOCAL DEFAULT ABS + 18: 00008128 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC + 19: 100000f4 4 OBJECT LOCAL DEFAULT 10 c + 20: 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ + 21: 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE + 22: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b + 23: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 24: 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 + 25: 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 + 26: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a + 27: 10000040 52 FUNC GLOBAL DEFAULT 7 sub diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/static-app-1rb.rd binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/static-app-1rb.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/static-app-1rb.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/static-app-1rb.rd 2018-06-04 21:27:35.000000000 +0200 @@ -3,20 +3,20 @@ Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4 - \[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 7 4 - \[ 3\] \.dynstr STRTAB 000080dc 0010dc 00001d 00 A 0 0 1 - \[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c AI 2 8 4 - \[ 5\] \.rela\.neardata RELA 00008120 001120 000018 0c AI 2 9 4 - \[ 6\] \.dynamic DYNAMIC 00008138 001138 000090 08 WA 3 0 4 + \[ 1\] \.hash HASH 00008000 001000 000038 04 A 2 0 4 + \[ 2\] \.dynsym DYNSYM 00008038 001038 000090 10 A 3 6 4 + \[ 3\] \.dynstr STRTAB 000080c8 0010c8 00000a 00 A 0 0 1 + \[ 4\] \.rela\.got RELA 000080d4 0010d4 000024 0c AI 2 8 4 + \[ 5\] \.rela\.neardata RELA 000080f8 0010f8 000018 0c AI 2 9 4 + \[ 6\] \.dynamic DYNAMIC 00008110 001110 000090 08 WA 3 0 4 \[ 7\] \.text PROGBITS 10000000 002000 0000c0 00 AX 0 0 32 \[ 8\] \.got PROGBITS 100000c0 0020c0 000020 00 WA 0 0 4 \[ 9\] \.neardata PROGBITS 100000e0 0020e0 00000c 00 WA 0 0 4 \[10\] \.bss NOBITS 100000ec 0020ec 000004 00 WA 0 0 4 \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020ec 000019 00 0 0 1 - \[12\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 13 [0-9]+ 4 - \[13\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 - \[14\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000071 00 0 0 1 + \[12\] \.symtab SYMTAB 00000000 002108 0001b0 10 13 21 4 + \[13\] \.strtab STRTAB 00000000 0022b8 000077 00 0 0 1 + \[14\] \.shstrtab STRTAB 00000000 00232f 000071 00 0 0 1 Key to Flags: #... @@ -26,9 +26,9 @@ Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x001000 0x00008000 0x00008000 0x001c8 0x001c8 RW 0x1000 + LOAD 0x001000 0x00008000 0x00008000 0x001a0 0x001a0 RW 0x1000 LOAD 0x002000 0x10000000 0x10000000 0x000ec 0x000f0 RWE 0x1000 - DYNAMIC 0x001138 0x00008138 0x00008138 0x00090 0x00090 RW 0x4 + DYNAMIC 0x001110 0x00008110 0x00008110 0x00090 0x00090 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 Section to Segment mapping: @@ -38,34 +38,34 @@ 02 \.dynamic 03 -Dynamic section at offset 0x1138 contains 13 entries: +Dynamic section at offset 0x1110 contains 13 entries: Tag Type Name/Value 0x00000004 \(HASH\) 0x8000 - 0x00000005 \(STRTAB\) 0x80dc - 0x00000006 \(SYMTAB\) 0x803c - 0x0000000a \(STRSZ\) 29 \(bytes\) + 0x00000005 \(STRTAB\) 0x80c8 + 0x00000006 \(SYMTAB\) 0x8038 + 0x0000000a \(STRSZ\) 10 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x00000015 \(DEBUG\) 0x0 0x70000000 \(C6000_DSBT_BASE\) 0x100000c0 0x70000001 \(C6000_DSBT_SIZE\) 0x3 0x70000003 \(C6000_DSBT_INDEX\) 0x0 - 0x00000007 \(RELA\) 0x80fc + 0x00000007 \(RELA\) 0x80d4 0x00000008 \(RELASZ\) 60 \(bytes\) 0x00000009 \(RELAENT\) 12 \(bytes\) 0x00000000 \(NULL\) 0x0 -Relocation section '\.rela\.got' at offset 0x10fc contains 3 entries: +Relocation section '\.rela\.got' at offset 0x10d4 contains 3 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend 100000d8 00000401 R_C6000_ABS32 100000ec \.bss \+ 0 -100000d4 00000701 R_C6000_ABS32 100000e8 b \+ 0 -100000dc 00000901 R_C6000_ABS32 100000e0 a \+ 0 +100000d4 00000601 R_C6000_ABS32 100000e8 b \+ 0 +100000dc 00000801 R_C6000_ABS32 100000e0 a \+ 0 -Relocation section '\.rela\.neardata' at offset 0x1120 contains 2 entries: +Relocation section '\.rela\.neardata' at offset 0x10f8 contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend 100000e0 00000101 R_C6000_ABS32 10000000 \.text \+ 8 -100000e4 00000801 R_C6000_ABS32 00000000 g1 \+ 0 +100000e4 00000701 R_C6000_ABS32 00000000 g1 \+ 0 -Symbol table '\.dynsym' contains 10 entries: +Symbol table '\.dynsym' contains 9 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 10000000 0 SECTION LOCAL DEFAULT 7 @@ -73,37 +73,36 @@ 3: 100000e0 0 SECTION LOCAL DEFAULT 9 4: 100000ec 0 SECTION LOCAL DEFAULT 10 5: 100000ec 4 OBJECT LOCAL DEFAULT 10 c - 6: 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE - 7: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b - 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 9: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a + 6: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b + 7: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 8: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a -Symbol table '\.symtab' contains [0-9]+ entries: +Symbol table '\.symtab' contains 27 entries: Num: Value Size Type Bind Vis Ndx Name -.* 00000000 0 NOTYPE LOCAL DEFAULT UND -.* 00008000 0 SECTION LOCAL DEFAULT 1 -.* 0000803c 0 SECTION LOCAL DEFAULT 2 -.* 000080dc 0 SECTION LOCAL DEFAULT 3 -.* 000080fc 0 SECTION LOCAL DEFAULT 4 -.* 00008120 0 SECTION LOCAL DEFAULT 5 -.* 00008138 0 SECTION LOCAL DEFAULT 6 -.* 10000000 0 SECTION LOCAL DEFAULT 7 -.* 100000c0 0 SECTION LOCAL DEFAULT 8 -.* 100000e0 0 SECTION LOCAL DEFAULT 9 -.* 100000ec 0 SECTION LOCAL DEFAULT 10 -.* 00000000 0 SECTION LOCAL DEFAULT 11 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000000 0 FUNC LOCAL HIDDEN 7 sub1 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000080 0 NOTYPE LOCAL DEFAULT 7 fish -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 00008138 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC -.* 100000ec 4 OBJECT LOCAL DEFAULT 10 c -.* 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ -.* 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE -.* 100000e8 4 OBJECT GLOBAL DEFAULT 9 b -.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 -.* 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 -.* 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 -.* 100000e0 4 OBJECT GLOBAL DEFAULT 9 a -.* 10000040 52 FUNC GLOBAL DEFAULT 7 sub + 0: 00000000 0 NOTYPE LOCAL DEFAULT UND + 1: 00008000 0 SECTION LOCAL DEFAULT 1 + 2: 00008038 0 SECTION LOCAL DEFAULT 2 + 3: 000080c8 0 SECTION LOCAL DEFAULT 3 + 4: 000080d4 0 SECTION LOCAL DEFAULT 4 + 5: 000080f8 0 SECTION LOCAL DEFAULT 5 + 6: 00008110 0 SECTION LOCAL DEFAULT 6 + 7: 10000000 0 SECTION LOCAL DEFAULT 7 + 8: 100000c0 0 SECTION LOCAL DEFAULT 8 + 9: 100000e0 0 SECTION LOCAL DEFAULT 9 + 10: 100000ec 0 SECTION LOCAL DEFAULT 10 + 11: 00000000 0 SECTION LOCAL DEFAULT 11 + 12: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-1\.o + 13: 10000000 0 FUNC LOCAL HIDDEN 7 sub1 + 14: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-app-1r\.o + 15: 10000080 0 NOTYPE LOCAL DEFAULT 7 fish + 16: 00000000 0 FILE LOCAL DEFAULT ABS + 17: 00008110 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC + 18: 100000ec 4 OBJECT LOCAL DEFAULT 10 c + 19: 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ + 20: 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE + 21: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b + 22: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 23: 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 + 24: 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 + 25: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a + 26: 10000040 52 FUNC GLOBAL DEFAULT 7 sub diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/static-app-1.rd binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/static-app-1.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/static-app-1.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/static-app-1.rd 2018-06-04 21:27:35.000000000 +0200 @@ -3,20 +3,20 @@ Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4 - \[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 7 4 - \[ 3\] \.dynstr STRTAB 000080dc 0010dc 00001d 00 A 0 0 1 - \[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c AI 2 8 4 - \[ 5\] \.rela\.neardata RELA 00008120 001120 000030 0c AI 2 9 4 - \[ 6\] \.dynamic DYNAMIC 00008150 001150 000090 08 WA 3 0 4 + \[ 1\] \.hash HASH 00008000 001000 000038 04 A 2 0 4 + \[ 2\] \.dynsym DYNSYM 00008038 001038 000090 10 A 3 6 4 + \[ 3\] \.dynstr STRTAB 000080c8 0010c8 00000a 00 A 0 0 1 + \[ 4\] \.rela\.got RELA 000080d4 0010d4 000024 0c AI 2 8 4 + \[ 5\] \.rela\.neardata RELA 000080f8 0010f8 000030 0c AI 2 9 4 + \[ 6\] \.dynamic DYNAMIC 00008128 001128 000090 08 WA 3 0 4 \[ 7\] \.text PROGBITS 10000000 002000 0000c0 00 AX 0 0 32 \[ 8\] \.got PROGBITS 100000c0 0020c0 000020 00 WA 0 0 4 \[ 9\] \.neardata PROGBITS 100000e0 0020e0 000014 00 WA 0 0 4 \[10\] \.bss NOBITS 100000f4 0020f4 000004 00 WA 0 0 4 \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020f4 000019 00 0 0 1 - \[12\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 13 [0-9]+ 4 - \[13\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 - \[14\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000071 00 0 0 1 + \[12\] \.symtab SYMTAB 00000000 002110 0001c0 10 13 22 4 + \[13\] \.strtab STRTAB 00000000 0022d0 000078 00 0 0 1 + \[14\] \.shstrtab STRTAB 00000000 002348 000071 00 0 0 1 Key to Flags: #... @@ -26,9 +26,9 @@ Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x001000 0x00008000 0x00008000 0x001e0 0x001e0 RW 0x1000 + LOAD 0x001000 0x00008000 0x00008000 0x001b8 0x001b8 RW 0x1000 LOAD 0x002000 0x10000000 0x10000000 0x000f4 0x000f8 RWE 0x1000 - DYNAMIC 0x001150 0x00008150 0x00008150 0x00090 0x00090 RW 0x4 + DYNAMIC 0x001128 0x00008128 0x00008128 0x00090 0x00090 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 Section to Segment mapping: @@ -38,36 +38,36 @@ 02 \.dynamic 03 -Dynamic section at offset 0x1150 contains 13 entries: +Dynamic section at offset 0x1128 contains 13 entries: Tag Type Name/Value 0x00000004 \(HASH\) 0x8000 - 0x00000005 \(STRTAB\) 0x80dc - 0x00000006 \(SYMTAB\) 0x803c - 0x0000000a \(STRSZ\) 29 \(bytes\) + 0x00000005 \(STRTAB\) 0x80c8 + 0x00000006 \(SYMTAB\) 0x8038 + 0x0000000a \(STRSZ\) 10 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x00000015 \(DEBUG\) 0x0 0x70000000 \(C6000_DSBT_BASE\) 0x100000c0 0x70000001 \(C6000_DSBT_SIZE\) 0x3 0x70000003 \(C6000_DSBT_INDEX\) 0x0 - 0x00000007 \(RELA\) 0x80fc + 0x00000007 \(RELA\) 0x80d4 0x00000008 \(RELASZ\) 84 \(bytes\) 0x00000009 \(RELAENT\) 12 \(bytes\) 0x00000000 \(NULL\) 0x0 -Relocation section '\.rela\.got' at offset 0x10fc contains 3 entries: +Relocation section '\.rela\.got' at offset 0x10d4 contains 3 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend 100000d8 00000401 R_C6000_ABS32 100000f4 \.bss \+ 0 -100000d4 00000701 R_C6000_ABS32 100000e8 b \+ 0 -100000dc 00000901 R_C6000_ABS32 100000e0 a \+ 0 +100000d4 00000601 R_C6000_ABS32 100000e8 b \+ 0 +100000dc 00000801 R_C6000_ABS32 100000e0 a \+ 0 -Relocation section '\.rela\.neardata' at offset 0x1120 contains 4 entries: +Relocation section '\.rela\.neardata' at offset 0x10f8 contains 4 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend 100000e0 00000101 R_C6000_ABS32 10000000 \.text \+ 8 -100000e4 00000801 R_C6000_ABS32 00000000 g1 \+ 0 -100000ec 00000801 R_C6000_ABS32 00000000 g1 \+ 0 +100000e4 00000701 R_C6000_ABS32 00000000 g1 \+ 0 +100000ec 00000701 R_C6000_ABS32 00000000 g1 \+ 0 100000f0 00000301 R_C6000_ABS32 100000e0 \.neardata \+ 4 -Symbol table '\.dynsym' contains 10 entries: +Symbol table '\.dynsym' contains 9 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 10000000 0 SECTION LOCAL DEFAULT 7 @@ -75,38 +75,37 @@ 3: 100000e0 0 SECTION LOCAL DEFAULT 9 4: 100000f4 0 SECTION LOCAL DEFAULT 10 5: 100000f4 4 OBJECT LOCAL DEFAULT 10 c - 6: 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE - 7: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b - 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 9: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a + 6: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b + 7: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 8: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a -Symbol table '\.symtab' contains [0-9]+ entries: +Symbol table '\.symtab' contains 28 entries: Num: Value Size Type Bind Vis Ndx Name -.* 00000000 0 NOTYPE LOCAL DEFAULT UND -.* 00008000 0 SECTION LOCAL DEFAULT 1 -.* 0000803c 0 SECTION LOCAL DEFAULT 2 -.* 000080dc 0 SECTION LOCAL DEFAULT 3 -.* 000080fc 0 SECTION LOCAL DEFAULT 4 -.* 00008120 0 SECTION LOCAL DEFAULT 5 -.* 00008150 0 SECTION LOCAL DEFAULT 6 -.* 10000000 0 SECTION LOCAL DEFAULT 7 -.* 100000c0 0 SECTION LOCAL DEFAULT 8 -.* 100000e0 0 SECTION LOCAL DEFAULT 9 -.* 100000f4 0 SECTION LOCAL DEFAULT 10 -.* 00000000 0 SECTION LOCAL DEFAULT 11 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000000 0 FUNC LOCAL HIDDEN 7 sub1 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000080 0 NOTYPE LOCAL DEFAULT 7 fish -.* 100000ec 8 OBJECT LOCAL DEFAULT 9 w -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 00008150 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC -.* 100000f4 4 OBJECT LOCAL DEFAULT 10 c -.* 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ -.* 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE -.* 100000e8 4 OBJECT GLOBAL DEFAULT 9 b -.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 -.* 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 -.* 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 -.* 100000e0 4 OBJECT GLOBAL DEFAULT 9 a -.* 10000040 52 FUNC GLOBAL DEFAULT 7 sub + 0: 00000000 0 NOTYPE LOCAL DEFAULT UND + 1: 00008000 0 SECTION LOCAL DEFAULT 1 + 2: 00008038 0 SECTION LOCAL DEFAULT 2 + 3: 000080c8 0 SECTION LOCAL DEFAULT 3 + 4: 000080d4 0 SECTION LOCAL DEFAULT 4 + 5: 000080f8 0 SECTION LOCAL DEFAULT 5 + 6: 00008128 0 SECTION LOCAL DEFAULT 6 + 7: 10000000 0 SECTION LOCAL DEFAULT 7 + 8: 100000c0 0 SECTION LOCAL DEFAULT 8 + 9: 100000e0 0 SECTION LOCAL DEFAULT 9 + 10: 100000f4 0 SECTION LOCAL DEFAULT 10 + 11: 00000000 0 SECTION LOCAL DEFAULT 11 + 12: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-1\.o + 13: 10000000 0 FUNC LOCAL HIDDEN 7 sub1 + 14: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-app-1\.o + 15: 10000080 0 NOTYPE LOCAL DEFAULT 7 fish + 16: 100000ec 8 OBJECT LOCAL DEFAULT 9 w + 17: 00000000 0 FILE LOCAL DEFAULT ABS + 18: 00008128 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC + 19: 100000f4 4 OBJECT LOCAL DEFAULT 10 c + 20: 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ + 21: 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE + 22: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b + 23: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 24: 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 + 25: 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 + 26: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a + 27: 10000040 52 FUNC GLOBAL DEFAULT 7 sub diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/static-app-1r.rd binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/static-app-1r.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-tic6x/static-app-1r.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-tic6x/static-app-1r.rd 2018-06-04 21:27:35.000000000 +0200 @@ -3,20 +3,20 @@ Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4 - \[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 7 4 - \[ 3\] \.dynstr STRTAB 000080dc 0010dc 00001d 00 A 0 0 1 - \[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c AI 2 8 4 - \[ 5\] \.rela\.neardata RELA 00008120 001120 000018 0c AI 2 9 4 - \[ 6\] \.dynamic DYNAMIC 00008138 001138 000090 08 WA 3 0 4 + \[ 1\] \.hash HASH 00008000 001000 000038 04 A 2 0 4 + \[ 2\] \.dynsym DYNSYM 00008038 001038 000090 10 A 3 6 4 + \[ 3\] \.dynstr STRTAB 000080c8 0010c8 00000a 00 A 0 0 1 + \[ 4\] \.rela\.got RELA 000080d4 0010d4 000024 0c AI 2 8 4 + \[ 5\] \.rela\.neardata RELA 000080f8 0010f8 000018 0c AI 2 9 4 + \[ 6\] \.dynamic DYNAMIC 00008110 001110 000090 08 WA 3 0 4 \[ 7\] \.text PROGBITS 10000000 002000 0000c0 00 AX 0 0 32 \[ 8\] \.got PROGBITS 100000c0 0020c0 000020 00 WA 0 0 4 \[ 9\] \.neardata PROGBITS 100000e0 0020e0 00000c 00 WA 0 0 4 \[10\] \.bss NOBITS 100000ec 0020ec 000004 00 WA 0 0 4 \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020ec 000019 00 0 0 1 - \[12\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 13 [0-9]+ 4 - \[13\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 - \[14\] \.shstrtab STRTAB 00000000 [0-9a-f]+ 000071 00 0 0 1 + \[12\] \.symtab SYMTAB 00000000 002108 0001b0 10 13 21 4 + \[13\] \.strtab STRTAB 00000000 0022b8 000077 00 0 0 1 + \[14\] \.shstrtab STRTAB 00000000 00232f 000071 00 0 0 1 Key to Flags: #... @@ -26,9 +26,9 @@ Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x001000 0x00008000 0x00008000 0x001c8 0x001c8 RW 0x1000 + LOAD 0x001000 0x00008000 0x00008000 0x001a0 0x001a0 RW 0x1000 LOAD 0x002000 0x10000000 0x10000000 0x000ec 0x000f0 RWE 0x1000 - DYNAMIC 0x001138 0x00008138 0x00008138 0x00090 0x00090 RW 0x4 + DYNAMIC 0x001110 0x00008110 0x00008110 0x00090 0x00090 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8 Section to Segment mapping: @@ -38,34 +38,34 @@ 02 \.dynamic 03 -Dynamic section at offset 0x1138 contains 13 entries: +Dynamic section at offset 0x1110 contains 13 entries: Tag Type Name/Value 0x00000004 \(HASH\) 0x8000 - 0x00000005 \(STRTAB\) 0x80dc - 0x00000006 \(SYMTAB\) 0x803c - 0x0000000a \(STRSZ\) 29 \(bytes\) + 0x00000005 \(STRTAB\) 0x80c8 + 0x00000006 \(SYMTAB\) 0x8038 + 0x0000000a \(STRSZ\) 10 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x00000015 \(DEBUG\) 0x0 0x70000000 \(C6000_DSBT_BASE\) 0x100000c0 0x70000001 \(C6000_DSBT_SIZE\) 0x3 0x70000003 \(C6000_DSBT_INDEX\) 0x0 - 0x00000007 \(RELA\) 0x80fc + 0x00000007 \(RELA\) 0x80d4 0x00000008 \(RELASZ\) 60 \(bytes\) 0x00000009 \(RELAENT\) 12 \(bytes\) 0x00000000 \(NULL\) 0x0 -Relocation section '\.rela\.got' at offset 0x10fc contains 3 entries: +Relocation section '\.rela\.got' at offset 0x10d4 contains 3 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend 100000d8 00000401 R_C6000_ABS32 100000ec \.bss \+ 0 -100000d4 00000701 R_C6000_ABS32 100000e8 b \+ 0 -100000dc 00000901 R_C6000_ABS32 100000e0 a \+ 0 +100000d4 00000601 R_C6000_ABS32 100000e8 b \+ 0 +100000dc 00000801 R_C6000_ABS32 100000e0 a \+ 0 -Relocation section '\.rela\.neardata' at offset 0x1120 contains 2 entries: +Relocation section '\.rela\.neardata' at offset 0x10f8 contains 2 entries: Offset Info Type Sym\. Value Symbol's Name \+ Addend 100000e0 00000101 R_C6000_ABS32 10000000 \.text \+ 8 -100000e4 00000801 R_C6000_ABS32 00000000 g1 \+ 0 +100000e4 00000701 R_C6000_ABS32 00000000 g1 \+ 0 -Symbol table '\.dynsym' contains 10 entries: +Symbol table '\.dynsym' contains 9 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 10000000 0 SECTION LOCAL DEFAULT 7 @@ -73,37 +73,36 @@ 3: 100000e0 0 SECTION LOCAL DEFAULT 9 4: 100000ec 0 SECTION LOCAL DEFAULT 10 5: 100000ec 4 OBJECT LOCAL DEFAULT 10 c - 6: 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE - 7: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b - 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 9: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a + 6: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b + 7: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 8: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a -Symbol table '\.symtab' contains [0-9]+ entries: +Symbol table '\.symtab' contains 27 entries: Num: Value Size Type Bind Vis Ndx Name -.* 00000000 0 NOTYPE LOCAL DEFAULT UND -.* 00008000 0 SECTION LOCAL DEFAULT 1 -.* 0000803c 0 SECTION LOCAL DEFAULT 2 -.* 000080dc 0 SECTION LOCAL DEFAULT 3 -.* 000080fc 0 SECTION LOCAL DEFAULT 4 -.* 00008120 0 SECTION LOCAL DEFAULT 5 -.* 00008138 0 SECTION LOCAL DEFAULT 6 -.* 10000000 0 SECTION LOCAL DEFAULT 7 -.* 100000c0 0 SECTION LOCAL DEFAULT 8 -.* 100000e0 0 SECTION LOCAL DEFAULT 9 -.* 100000ec 0 SECTION LOCAL DEFAULT 10 -.* 00000000 0 SECTION LOCAL DEFAULT 11 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000000 0 FUNC LOCAL HIDDEN 7 sub1 -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 10000080 0 NOTYPE LOCAL DEFAULT 7 fish -.* 00000000 0 FILE LOCAL DEFAULT ABS .* -.* 00008138 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC -.* 100000ec 4 OBJECT LOCAL DEFAULT 10 c -.* 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ -.* 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE -.* 100000e8 4 OBJECT GLOBAL DEFAULT 9 b -.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 -.* 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 -.* 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 -.* 100000e0 4 OBJECT GLOBAL DEFAULT 9 a -.* 10000040 52 FUNC GLOBAL DEFAULT 7 sub + 0: 00000000 0 NOTYPE LOCAL DEFAULT UND + 1: 00008000 0 SECTION LOCAL DEFAULT 1 + 2: 00008038 0 SECTION LOCAL DEFAULT 2 + 3: 000080c8 0 SECTION LOCAL DEFAULT 3 + 4: 000080d4 0 SECTION LOCAL DEFAULT 4 + 5: 000080f8 0 SECTION LOCAL DEFAULT 5 + 6: 00008110 0 SECTION LOCAL DEFAULT 6 + 7: 10000000 0 SECTION LOCAL DEFAULT 7 + 8: 100000c0 0 SECTION LOCAL DEFAULT 8 + 9: 100000e0 0 SECTION LOCAL DEFAULT 9 + 10: 100000ec 0 SECTION LOCAL DEFAULT 10 + 11: 00000000 0 SECTION LOCAL DEFAULT 11 + 12: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-1\.o + 13: 10000000 0 FUNC LOCAL HIDDEN 7 sub1 + 14: 00000000 0 FILE LOCAL DEFAULT ABS tmpdir/shlib-app-1r\.o + 15: 10000080 0 NOTYPE LOCAL DEFAULT 7 fish + 16: 00000000 0 FILE LOCAL DEFAULT ABS + 17: 00008110 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC + 18: 100000ec 4 OBJECT LOCAL DEFAULT 10 c + 19: 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ + 20: 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE + 21: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b + 22: 00000000 0 NOTYPE WEAK DEFAULT UND g1 + 23: 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 + 24: 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 + 25: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a + 26: 10000040 52 FUNC GLOBAL DEFAULT 7 sub diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/bnd-branch-1-now.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/bnd-branch-1-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/bnd-branch-1-now.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/bnd-branch-1-now.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,38 +8,38 @@ Disassembly of section .plt: -0+290 <.plt>: - +[a-f0-9]+: ff 35 82 01 20 00 pushq 0x200182\(%rip\) # 200418 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: ff 25 84 01 20 00 jmpq \*0x200184\(%rip\) # 200420 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+230 <.plt>: + +[a-f0-9]+: ff 35 82 01 20 00 pushq 0x200182\(%rip\) # 2003b8 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: ff 25 84 01 20 00 jmpq \*0x200184\(%rip\) # 2003c0 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) -0+2a0 : - +[a-f0-9]+: ff 25 82 01 20 00 jmpq \*0x200182\(%rip\) # 200428 +0+240 : + +[a-f0-9]+: ff 25 82 01 20 00 jmpq \*0x200182\(%rip\) # 2003c8 +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: e9 e0 ff ff ff jmpq 290 <.plt> + +[a-f0-9]+: e9 e0 ff ff ff jmpq 230 <.plt> -0+2b0 : - +[a-f0-9]+: ff 25 7a 01 20 00 jmpq \*0x20017a\(%rip\) # 200430 +0+250 : + +[a-f0-9]+: ff 25 7a 01 20 00 jmpq \*0x20017a\(%rip\) # 2003d0 +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 - +[a-f0-9]+: e9 d0 ff ff ff jmpq 290 <.plt> + +[a-f0-9]+: e9 d0 ff ff ff jmpq 230 <.plt> -0+2c0 : - +[a-f0-9]+: ff 25 72 01 20 00 jmpq \*0x200172\(%rip\) # 200438 +0+260 : + +[a-f0-9]+: ff 25 72 01 20 00 jmpq \*0x200172\(%rip\) # 2003d8 +[a-f0-9]+: 68 02 00 00 00 pushq \$0x2 - +[a-f0-9]+: e9 c0 ff ff ff jmpq 290 <.plt> + +[a-f0-9]+: e9 c0 ff ff ff jmpq 230 <.plt> -0+2d0 : - +[a-f0-9]+: ff 25 6a 01 20 00 jmpq \*0x20016a\(%rip\) # 200440 +0+270 : + +[a-f0-9]+: ff 25 6a 01 20 00 jmpq \*0x20016a\(%rip\) # 2003e0 +[a-f0-9]+: 68 03 00 00 00 pushq \$0x3 - +[a-f0-9]+: e9 b0 ff ff ff jmpq 290 <.plt> + +[a-f0-9]+: e9 b0 ff ff ff jmpq 230 <.plt> Disassembly of section .text: -0+2e0 <_start>: - +[a-f0-9]+: f2 e9 da ff ff ff bnd jmpq 2c0 - +[a-f0-9]+: e8 b5 ff ff ff callq 2a0 - +[a-f0-9]+: e9 c0 ff ff ff jmpq 2b0 - +[a-f0-9]+: e8 db ff ff ff callq 2d0 - +[a-f0-9]+: f2 e8 b5 ff ff ff bnd callq 2b0 - +[a-f0-9]+: e9 d0 ff ff ff jmpq 2d0 +0+280 <_start>: + +[a-f0-9]+: f2 e9 da ff ff ff bnd jmpq 260 + +[a-f0-9]+: e8 b5 ff ff ff callq 240 + +[a-f0-9]+: e9 c0 ff ff ff jmpq 250 + +[a-f0-9]+: e8 db ff ff ff callq 270 + +[a-f0-9]+: f2 e8 b5 ff ff ff bnd callq 250 + +[a-f0-9]+: e9 d0 ff ff ff jmpq 270 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,26 +8,26 @@ Disassembly of section .plt: -0+1f0 <.plt>: - +[a-f0-9]+: ff 35 4a 01 20 00 pushq 0x20014a\(%rip\) # 200340 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 4b 01 20 00 bnd jmpq \*0x20014b\(%rip\) # 200348 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+170 <.plt>: + +[a-f0-9]+: ff 35 4a 01 20 00 pushq 0x20014a\(%rip\) # 2002c0 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 4b 01 20 00 bnd jmpq \*0x20014b\(%rip\) # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 1f0 <.plt> + +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 170 <.plt> +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .plt.sec: -0+210 <\*ABS\*\+0x218@plt>: - +[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\) # 200350 <_GLOBAL_OFFSET_TABLE_\+0x18> +0+190 <\*ABS\*\+0x198@plt>: + +[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\) # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x18> +[a-f0-9]+: 90 nop Disassembly of section .text: -0+218 : +0+198 : +[a-f0-9]+: f2 c3 bnd retq -0+21a : - +[a-f0-9]+: f2 e8 f0 ff ff ff bnd callq 210 <\*ABS\*\+0x218@plt> +0+19a : + +[a-f0-9]+: f2 e8 f0 ff ff ff bnd callq 190 <\*ABS\*\+0x198@plt> +[a-f0-9]+: f2 c3 bnd retq #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/bnd-ifunc-2.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/bnd-ifunc-2.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/bnd-ifunc-2.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/bnd-ifunc-2.d 2018-06-13 10:31:39.000000000 +0200 @@ -3,52 +3,52 @@ #objdump: -dw #... -0+2b0 <.plt>: -[ ]*[a-f0-9]+: ff 35 7a 01 20 00 pushq 0x20017a\(%rip\) # 200430 <_GLOBAL_OFFSET_TABLE_\+0x8> -[ ]*[a-f0-9]+: f2 ff 25 7b 01 20 00 bnd jmpq \*0x20017b\(%rip\) # 200438 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+240 <.plt>: +[ ]*[a-f0-9]+: ff 35 7a 01 20 00 pushq 0x20017a\(%rip\)[ ]*(#.*)? +[ ]*[a-f0-9]+: f2 ff 25 7b 01 20 00 bnd jmpq \*0x20017b\(%rip\)[ ]*(#.*)? [ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) [ ]*[a-f0-9]+: 68 03 00 00 00 pushq \$0x3 -[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 2b0 <.*> +[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 240 <.plt> [ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) [ ]*[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 -[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff bnd jmpq 2b0 <.*> +[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff bnd jmpq 240 <.plt> [ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) [ ]*[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 -[ ]*[a-f0-9]+: f2 e9 c5 ff ff ff bnd jmpq 2b0 <.*> +[ ]*[a-f0-9]+: f2 e9 c5 ff ff ff bnd jmpq 240 <.plt> [ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) [ ]*[a-f0-9]+: 68 02 00 00 00 pushq \$0x2 -[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff bnd jmpq 2b0 <.*> +[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff bnd jmpq 240 <.plt> [ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .plt.sec: -0+300 <\*ABS\*\+0x32c@plt>: -[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\) # 200440 <_GLOBAL_OFFSET_TABLE_\+0x18> +0+290 <\*ABS\*\+0x2bc@plt>: +[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)[ ]*(#.*)? [ ]*[a-f0-9]+: 90 nop -0+308 : -[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\) # 200448 +0+298 : +[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)[ ]*(#.*)? [ ]*[a-f0-9]+: 90 nop -0+310 : -[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\) # 200450 +0+2a0 : +[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)[ ]*(#.*)? [ ]*[a-f0-9]+: 90 nop -0+318 <\*ABS\*\+0x320@plt>: -[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\) # 200458 <_GLOBAL_OFFSET_TABLE_\+0x30> +0+2a8 <\*ABS\*\+0x2b0@plt>: +[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\)[ ]*(#.*)? [ ]*[a-f0-9]+: 90 nop Disassembly of section .text: -0+320 : -[ ]*[a-f0-9]+: f2 e8 e2 ff ff ff bnd callq 308 +0+2b0 : +[ ]*[a-f0-9]+: f2 e8 e2 ff ff ff bnd callq 298 -0+326 : -[ ]*[a-f0-9]+: f2 e9 ec ff ff ff bnd jmpq 318 <\*ABS\*\+0x320@plt> +0+2b6 : +[ ]*[a-f0-9]+: f2 e9 ec ff ff ff bnd jmpq 2a8 <\*ABS\*\+0x2b0@plt> -0+32c : -[ ]*[a-f0-9]+: f2 e8 de ff ff ff bnd callq 310 +0+2bc : +[ ]*[a-f0-9]+: f2 e8 de ff ff ff bnd callq 2a0 -0+332 : -[ ]*[a-f0-9]+: f2 e9 c8 ff ff ff bnd jmpq 300 <\*ABS\*\+0x32c@plt> +0+2c2 : +[ ]*[a-f0-9]+: f2 e9 c8 ff ff ff bnd jmpq 290 <\*ABS\*\+0x2bc@plt> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,52 +8,52 @@ Disassembly of section .plt: -0+2b0 <.plt>: - +[a-f0-9]+: ff 35 9a 01 20 00 pushq 0x20019a\(%rip\) # 200450 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 9b 01 20 00 bnd jmpq \*0x20019b\(%rip\) # 200458 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+240 <.plt>: + +[a-f0-9]+: ff 35 9a 01 20 00 pushq 0x20019a\(%rip\) # 2003e0 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 9b 01 20 00 bnd jmpq \*0x20019b\(%rip\) # 2003e8 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +[a-f0-9]+: 68 03 00 00 00 pushq \$0x3 - +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 2b0 <.plt> + +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 240 <.plt> +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: f2 e9 d5 ff ff ff bnd jmpq 2b0 <.plt> + +[a-f0-9]+: f2 e9 d5 ff ff ff bnd jmpq 240 <.plt> +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 - +[a-f0-9]+: f2 e9 c5 ff ff ff bnd jmpq 2b0 <.plt> + +[a-f0-9]+: f2 e9 c5 ff ff ff bnd jmpq 240 <.plt> +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +[a-f0-9]+: 68 02 00 00 00 pushq \$0x2 - +[a-f0-9]+: f2 e9 b5 ff ff ff bnd jmpq 2b0 <.plt> + +[a-f0-9]+: f2 e9 b5 ff ff ff bnd jmpq 240 <.plt> +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .plt.sec: -0+300 <\*ABS\*\+0x32c@plt>: - +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\) # 200460 <_GLOBAL_OFFSET_TABLE_\+0x18> +0+290 <\*ABS\*\+0x2bc@plt>: + +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\) # 2003f0 <_GLOBAL_OFFSET_TABLE_\+0x18> +[a-f0-9]+: 90 nop -0+308 : - +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\) # 200468 +0+298 : + +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\) # 2003f8 +[a-f0-9]+: 90 nop -0+310 : - +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\) # 200470 +0+2a0 : + +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\) # 200400 +[a-f0-9]+: 90 nop -0+318 <\*ABS\*\+0x320@plt>: - +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\) # 200478 <_GLOBAL_OFFSET_TABLE_\+0x30> +0+2a8 <\*ABS\*\+0x2b0@plt>: + +[a-f0-9]+: f2 ff 25 59 01 20 00 bnd jmpq \*0x200159\(%rip\) # 200408 <_GLOBAL_OFFSET_TABLE_\+0x30> +[a-f0-9]+: 90 nop Disassembly of section .text: -0+320 : - +[a-f0-9]+: f2 e8 e2 ff ff ff bnd callq 308 +0+2b0 : + +[a-f0-9]+: f2 e8 e2 ff ff ff bnd callq 298 -0+326 : - +[a-f0-9]+: f2 e9 ec ff ff ff bnd jmpq 318 <\*ABS\*\+0x320@plt> +0+2b6 : + +[a-f0-9]+: f2 e9 ec ff ff ff bnd jmpq 2a8 <\*ABS\*\+0x2b0@plt> -0+32c : - +[a-f0-9]+: f2 e8 de ff ff ff bnd callq 310 +0+2bc : + +[a-f0-9]+: f2 e8 de ff ff ff bnd callq 2a0 -0+332 : - +[a-f0-9]+: f2 e9 c8 ff ff ff bnd jmpq 300 <\*ABS\*\+0x32c@plt> +0+2c2 : + +[a-f0-9]+: f2 e9 c8 ff ff ff bnd jmpq 290 <\*ABS\*\+0x2bc@plt> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/bnd-plt-1.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/bnd-plt-1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/bnd-plt-1.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/bnd-plt-1.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,48 +8,48 @@ Disassembly of section .plt: -0+290 <.plt>: -[ ]*[a-f0-9]+: ff 35 82 01 20 00 pushq 0x200182\(%rip\) # 200418 <_GLOBAL_OFFSET_TABLE_\+0x8> -[ ]*[a-f0-9]+: f2 ff 25 83 01 20 00 bnd jmpq \*0x200183\(%rip\) # 200420 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+230 <.plt>: +[ ]*[a-f0-9]+: ff 35 82 01 20 00 pushq 0x200182\(%rip\)[ ]*(#.*)? +[ ]*[a-f0-9]+: f2 ff 25 83 01 20 00 bnd jmpq \*0x200183\(%rip\)[ ]*(#.*)? [ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) [ ]*[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 -[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 290 <.*> +[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 230 <.plt> [ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) [ ]*[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 -[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff bnd jmpq 290 <.*> +[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff bnd jmpq 230 <.plt> [ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) [ ]*[a-f0-9]+: 68 02 00 00 00 pushq \$0x2 -[ ]*[a-f0-9]+: f2 e9 c5 ff ff ff bnd jmpq 290 <.*> +[ ]*[a-f0-9]+: f2 e9 c5 ff ff ff bnd jmpq 230 <.plt> [ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) [ ]*[a-f0-9]+: 68 03 00 00 00 pushq \$0x3 -[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff bnd jmpq 290 <.*> +[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff bnd jmpq 230 <.plt> [ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .plt.sec: -0+2e0 : -[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\) # 200428 +0+280 : +[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)[ ]*(#.*)? [ ]*[a-f0-9]+: 90 nop -0+2e8 : -[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\) # 200430 +0+288 : +[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)[ ]*(#.*)? [ ]*[a-f0-9]+: 90 nop -0+2f0 : -[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\) # 200438 +0+290 : +[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)[ ]*(#.*)? [ ]*[a-f0-9]+: 90 nop -0+2f8 : -[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\) # 200440 +0+298 : +[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\)[ ]*(#.*)? [ ]*[a-f0-9]+: 90 nop Disassembly of section .text: -0+300 <_start>: -[ ]*[a-f0-9]+: f2 e9 ea ff ff ff bnd jmpq 2f0 -[ ]*[a-f0-9]+: e8 d5 ff ff ff callq 2e0 -[ ]*[a-f0-9]+: e9 d8 ff ff ff jmpq 2e8 -[ ]*[a-f0-9]+: e8 e3 ff ff ff callq 2f8 -[ ]*[a-f0-9]+: f2 e8 cd ff ff ff bnd callq 2e8 -[ ]*[a-f0-9]+: e9 d8 ff ff ff jmpq 2f8 +0+2a0 <_start>: +[ ]*[a-f0-9]+: f2 e9 ea ff ff ff bnd jmpq 290 +[ ]*[a-f0-9]+: e8 d5 ff ff ff callq 280 +[ ]*[a-f0-9]+: e9 d8 ff ff ff jmpq 288 +[ ]*[a-f0-9]+: e8 e3 ff ff ff callq 298 +[ ]*[a-f0-9]+: f2 e8 cd ff ff ff bnd callq 288 +[ ]*[a-f0-9]+: e9 d8 ff ff ff jmpq 298 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/bnd-plt-1-now.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/bnd-plt-1-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/bnd-plt-1-now.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/bnd-plt-1-now.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,48 +8,48 @@ Disassembly of section .plt: -0+290 <.plt>: - +[a-f0-9]+: ff 35 a2 01 20 00 pushq 0x2001a2\(%rip\) # 200438 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 a3 01 20 00 bnd jmpq \*0x2001a3\(%rip\) # 200440 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+230 <.plt>: + +[a-f0-9]+: ff 35 a2 01 20 00 pushq 0x2001a2\(%rip\) # 2003d8 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 a3 01 20 00 bnd jmpq \*0x2001a3\(%rip\) # 2003e0 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 290 <.plt> + +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 230 <.plt> +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 - +[a-f0-9]+: f2 e9 d5 ff ff ff bnd jmpq 290 <.plt> + +[a-f0-9]+: f2 e9 d5 ff ff ff bnd jmpq 230 <.plt> +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +[a-f0-9]+: 68 02 00 00 00 pushq \$0x2 - +[a-f0-9]+: f2 e9 c5 ff ff ff bnd jmpq 290 <.plt> + +[a-f0-9]+: f2 e9 c5 ff ff ff bnd jmpq 230 <.plt> +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +[a-f0-9]+: 68 03 00 00 00 pushq \$0x3 - +[a-f0-9]+: f2 e9 b5 ff ff ff bnd jmpq 290 <.plt> + +[a-f0-9]+: f2 e9 b5 ff ff ff bnd jmpq 230 <.plt> +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .plt.sec: -0+2e0 : - +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\) # 200448 +0+280 : + +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\) # 2003e8 +[a-f0-9]+: 90 nop -0+2e8 : - +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\) # 200450 +0+288 : + +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\) # 2003f0 +[a-f0-9]+: 90 nop -0+2f0 : - +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\) # 200458 +0+290 : + +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\) # 2003f8 +[a-f0-9]+: 90 nop -0+2f8 : - +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\) # 200460 +0+298 : + +[a-f0-9]+: f2 ff 25 61 01 20 00 bnd jmpq \*0x200161\(%rip\) # 200400 +[a-f0-9]+: 90 nop Disassembly of section .text: -0+300 <_start>: - +[a-f0-9]+: f2 e9 ea ff ff ff bnd jmpq 2f0 - +[a-f0-9]+: e8 d5 ff ff ff callq 2e0 - +[a-f0-9]+: e9 d8 ff ff ff jmpq 2e8 - +[a-f0-9]+: e8 e3 ff ff ff callq 2f8 - +[a-f0-9]+: f2 e8 cd ff ff ff bnd callq 2e8 - +[a-f0-9]+: e9 d8 ff ff ff jmpq 2f8 +0+2a0 <_start>: + +[a-f0-9]+: f2 e9 ea ff ff ff bnd jmpq 290 + +[a-f0-9]+: e8 d5 ff ff ff callq 280 + +[a-f0-9]+: e9 d8 ff ff ff jmpq 288 + +[a-f0-9]+: e8 e3 ff ff ff callq 298 + +[a-f0-9]+: f2 e8 cd ff ff ff bnd callq 288 + +[a-f0-9]+: e9 d8 ff ff ff jmpq 298 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-1.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-1.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-1.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-1.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,36 +8,36 @@ Disassembly of section .plt: -0+290 <.plt>: - +[a-f0-9]+: ff 35 ea 01 20 00 pushq 0x2001ea\(%rip\) # 200480 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\) # 200488 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+220 <.plt>: + +[a-f0-9]+: ff 35 ea 01 20 00 pushq 0x2001ea\(%rip\) # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\) # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq 290 <.plt> + +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq 220 <.plt> +[a-f0-9]+: 90 nop +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 - +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq 290 <.plt> + +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq 220 <.plt> +[a-f0-9]+: 90 nop Disassembly of section .plt.sec: -0+2c0 : +0+250 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\) # 200490 + +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\) # 200420 +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) -0+2d0 : +0+260 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\) # 200498 + +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\) # 200428 +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .text: -0+2e0 : +0+270 : +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp - +[a-f0-9]+: e8 e7 ff ff ff callq 2d0 + +[a-f0-9]+: e8 e7 ff ff ff callq 260 +[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp - +[a-f0-9]+: e9 ce ff ff ff jmpq 2c0 + +[a-f0-9]+: e9 ce ff ff ff jmpq 250 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,36 +8,36 @@ Disassembly of section .plt: -0+1c0 <.plt>: - +[a-f0-9]+: ff 35 62 01 20 00 pushq 0x200162\(%rip\) # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: ff 25 64 01 20 00 jmpq \*0x200164\(%rip\) # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+160 <.plt>: + +[a-f0-9]+: ff 35 62 01 20 00 pushq 0x200162\(%rip\) # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: ff 25 64 01 20 00 jmpq \*0x200164\(%rip\) # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: e9 e2 ff ff ff jmpq 1c0 <.plt> + +[a-f0-9]+: e9 e2 ff ff ff jmpq 160 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 - +[a-f0-9]+: e9 d2 ff ff ff jmpq 1c0 <.plt> + +[a-f0-9]+: e9 d2 ff ff ff jmpq 160 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .plt.sec: -0+1f0 : +0+190 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: ff 25 3e 01 20 00 jmpq \*0x20013e\(%rip\) # 200338 + +[a-f0-9]+: ff 25 3e 01 20 00 jmpq \*0x20013e\(%rip\) # 2002d8 +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) -0+200 : +0+1a0 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: ff 25 36 01 20 00 jmpq \*0x200136\(%rip\) # 200340 + +[a-f0-9]+: ff 25 36 01 20 00 jmpq \*0x200136\(%rip\) # 2002e0 +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) Disassembly of section .text: -0+210 : +0+1b0 : +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp - +[a-f0-9]+: e8 e7 ff ff ff callq 200 + +[a-f0-9]+: e8 e7 ff ff ff callq 1a0 +[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp - +[a-f0-9]+: e9 ce ff ff ff jmpq 1f0 + +[a-f0-9]+: e9 ce ff ff ff jmpq 190 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2a.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2a.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2a.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2a.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,36 +8,36 @@ Disassembly of section .plt: -0+290 <.plt>: - +[a-f0-9]+: ff 35 ea 01 20 00 pushq 0x2001ea\(%rip\) # 200480 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\) # 200488 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+220 <.plt>: + +[a-f0-9]+: ff 35 ea 01 20 00 pushq 0x2001ea\(%rip\) # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\) # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq 290 <.plt> + +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq 220 <.plt> +[a-f0-9]+: 90 nop +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 - +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq 290 <.plt> + +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq 220 <.plt> +[a-f0-9]+: 90 nop Disassembly of section .plt.sec: -0+2c0 : +0+250 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\) # 200490 + +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\) # 200420 +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) -0+2d0 : +0+260 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\) # 200498 + +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\) # 200428 +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .text: -0+2e0 : +0+270 : +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp - +[a-f0-9]+: e8 e7 ff ff ff callq 2d0 + +[a-f0-9]+: e8 e7 ff ff ff callq 260 +[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp - +[a-f0-9]+: e9 ce ff ff ff jmpq 2c0 + +[a-f0-9]+: e9 ce ff ff ff jmpq 250 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,36 +8,36 @@ Disassembly of section .plt: -0+1c0 <.plt>: - +[a-f0-9]+: ff 35 62 01 20 00 pushq 0x200162\(%rip\) # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: ff 25 64 01 20 00 jmpq \*0x200164\(%rip\) # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+160 <.plt>: + +[a-f0-9]+: ff 35 62 01 20 00 pushq 0x200162\(%rip\) # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: ff 25 64 01 20 00 jmpq \*0x200164\(%rip\) # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: e9 e2 ff ff ff jmpq 1c0 <.plt> + +[a-f0-9]+: e9 e2 ff ff ff jmpq 160 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 - +[a-f0-9]+: e9 d2 ff ff ff jmpq 1c0 <.plt> + +[a-f0-9]+: e9 d2 ff ff ff jmpq 160 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .plt.sec: -0+1f0 : +0+190 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: ff 25 3e 01 20 00 jmpq \*0x20013e\(%rip\) # 200338 + +[a-f0-9]+: ff 25 3e 01 20 00 jmpq \*0x20013e\(%rip\) # 2002d8 +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) -0+200 : +0+1a0 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: ff 25 36 01 20 00 jmpq \*0x200136\(%rip\) # 200340 + +[a-f0-9]+: ff 25 36 01 20 00 jmpq \*0x200136\(%rip\) # 2002e0 +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) Disassembly of section .text: -0+210 : +0+1b0 : +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp - +[a-f0-9]+: e8 e7 ff ff ff callq 200 + +[a-f0-9]+: e8 e7 ff ff ff callq 1a0 +[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp - +[a-f0-9]+: e9 ce ff ff ff jmpq 1f0 + +[a-f0-9]+: e9 ce ff ff ff jmpq 190 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2b.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2b.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2b.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2b.d 2018-06-13 10:31:39.000000000 +0200 @@ -18,25 +18,25 @@ DW_CFA_nop DW_CFA_nop -0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002e0..00000000000002f2 - DW_CFA_advance_loc: 4 to 00000000000002e4 +0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000270..0000000000000282 + DW_CFA_advance_loc: 4 to 0000000000000274 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 9 to 00000000000002ed + DW_CFA_advance_loc: 9 to 000000000000027d DW_CFA_def_cfa_offset: 8 DW_CFA_nop -0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000290..00000000000002c0 +0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000250 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 0000000000000296 + DW_CFA_advance_loc: 6 to 0000000000000226 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 00000000000002a0 + DW_CFA_advance_loc: 10 to 0000000000000230 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000002c0..00000000000002e0 +0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000250..0000000000000270 DW_CFA_nop DW_CFA_nop DW_CFA_nop diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d 2018-06-13 10:31:39.000000000 +0200 @@ -18,21 +18,21 @@ DW_CFA_nop DW_CFA_nop -0+18 00000014 0000001c FDE cie=00000000 pc=00000210..00000222 - DW_CFA_advance_loc: 4 to 00000214 +0+18 00000014 0000001c FDE cie=00000000 pc=000001b0..000001c2 + DW_CFA_advance_loc: 4 to 000001b4 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 9 to 0000021d + DW_CFA_advance_loc: 9 to 000001bd DW_CFA_def_cfa_offset: 8 DW_CFA_nop -0+30 00000020 00000034 FDE cie=00000000 pc=000001c0..000001f0 +0+30 00000020 00000034 FDE cie=00000000 pc=00000160..00000190 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 000001c6 + DW_CFA_advance_loc: 6 to 00000166 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 000001d0 + DW_CFA_advance_loc: 10 to 00000170 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) -0+54 00000010 00000058 FDE cie=00000000 pc=000001f0..00000210 +0+54 00000010 00000058 FDE cie=00000000 pc=00000190..000001b0 DW_CFA_nop DW_CFA_nop DW_CFA_nop diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2c.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2c.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2c.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2c.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,36 +8,36 @@ Disassembly of section .plt: -0+290 <.plt>: - +[a-f0-9]+: ff 35 ea 01 20 00 pushq 0x2001ea\(%rip\) # 200480 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\) # 200488 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+220 <.plt>: + +[a-f0-9]+: ff 35 ea 01 20 00 pushq 0x2001ea\(%rip\) # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\) # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq 290 <.plt> + +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq 220 <.plt> +[a-f0-9]+: 90 nop +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 - +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq 290 <.plt> + +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq 220 <.plt> +[a-f0-9]+: 90 nop Disassembly of section .plt.sec: -0+2c0 : +0+250 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\) # 200490 + +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\) # 200420 +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) -0+2d0 : +0+260 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\) # 200498 + +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\) # 200428 +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .text: -0+2e0 : +0+270 : +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp - +[a-f0-9]+: e8 e7 ff ff ff callq 2d0 + +[a-f0-9]+: e8 e7 ff ff ff callq 260 +[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp - +[a-f0-9]+: e9 ce ff ff ff jmpq 2c0 + +[a-f0-9]+: e9 ce ff ff ff jmpq 250 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,36 +8,36 @@ Disassembly of section .plt: -0+1c0 <.plt>: - +[a-f0-9]+: ff 35 62 01 20 00 pushq 0x200162\(%rip\) # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: ff 25 64 01 20 00 jmpq \*0x200164\(%rip\) # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+160 <.plt>: + +[a-f0-9]+: ff 35 62 01 20 00 pushq 0x200162\(%rip\) # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: ff 25 64 01 20 00 jmpq \*0x200164\(%rip\) # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: e9 e2 ff ff ff jmpq 1c0 <.plt> + +[a-f0-9]+: e9 e2 ff ff ff jmpq 160 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 - +[a-f0-9]+: e9 d2 ff ff ff jmpq 1c0 <.plt> + +[a-f0-9]+: e9 d2 ff ff ff jmpq 160 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .plt.sec: -0+1f0 : +0+190 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: ff 25 3e 01 20 00 jmpq \*0x20013e\(%rip\) # 200338 + +[a-f0-9]+: ff 25 3e 01 20 00 jmpq \*0x20013e\(%rip\) # 2002d8 +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) -0+200 : +0+1a0 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: ff 25 36 01 20 00 jmpq \*0x200136\(%rip\) # 200340 + +[a-f0-9]+: ff 25 36 01 20 00 jmpq \*0x200136\(%rip\) # 2002e0 +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) Disassembly of section .text: -0+210 : +0+1b0 : +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp - +[a-f0-9]+: e8 e7 ff ff ff callq 200 + +[a-f0-9]+: e8 e7 ff ff ff callq 1a0 +[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp - +[a-f0-9]+: e9 ce ff ff ff jmpq 1f0 + +[a-f0-9]+: e9 ce ff ff ff jmpq 190 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2d.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2d.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2d.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2d.d 2018-06-13 10:31:39.000000000 +0200 @@ -18,25 +18,25 @@ DW_CFA_nop DW_CFA_nop -0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002e0..00000000000002f2 - DW_CFA_advance_loc: 4 to 00000000000002e4 +0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000270..0000000000000282 + DW_CFA_advance_loc: 4 to 0000000000000274 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 9 to 00000000000002ed + DW_CFA_advance_loc: 9 to 000000000000027d DW_CFA_def_cfa_offset: 8 DW_CFA_nop -0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000290..00000000000002c0 +0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000250 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 0000000000000296 + DW_CFA_advance_loc: 6 to 0000000000000226 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 00000000000002a0 + DW_CFA_advance_loc: 10 to 0000000000000230 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000002c0..00000000000002e0 +0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000250..0000000000000270 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -46,3 +46,4 @@ Owner Data size Description GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT +#pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d 2018-06-13 10:31:39.000000000 +0200 @@ -18,21 +18,21 @@ DW_CFA_nop DW_CFA_nop -0+18 00000014 0000001c FDE cie=00000000 pc=00000210..00000222 - DW_CFA_advance_loc: 4 to 00000214 +0+18 00000014 0000001c FDE cie=00000000 pc=000001b0..000001c2 + DW_CFA_advance_loc: 4 to 000001b4 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 9 to 0000021d + DW_CFA_advance_loc: 9 to 000001bd DW_CFA_def_cfa_offset: 8 DW_CFA_nop -0+30 00000020 00000034 FDE cie=00000000 pc=000001c0..000001f0 +0+30 00000020 00000034 FDE cie=00000000 pc=00000160..00000190 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 000001c6 + DW_CFA_advance_loc: 6 to 00000166 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 000001d0 + DW_CFA_advance_loc: 10 to 00000170 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) -0+54 00000010 00000058 FDE cie=00000000 pc=000001f0..00000210 +0+54 00000010 00000058 FDE cie=00000000 pc=00000190..000001b0 DW_CFA_nop DW_CFA_nop DW_CFA_nop diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3a.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3a.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3a.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3a.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,36 +8,36 @@ Disassembly of section .plt: -0+250 <.plt>: - +[a-f0-9]+: ff 35 ca 01 20 00 pushq 0x2001ca\(%rip\) # 200420 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 cb 01 20 00 bnd jmpq \*0x2001cb\(%rip\) # 200428 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+1f0 <.plt>: + +[a-f0-9]+: ff 35 ca 01 20 00 pushq 0x2001ca\(%rip\) # 2003c0 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 cb 01 20 00 bnd jmpq \*0x2001cb\(%rip\) # 2003c8 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq 250 <.plt> + +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq 1f0 <.plt> +[a-f0-9]+: 90 nop +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 - +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq 250 <.plt> + +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq 1f0 <.plt> +[a-f0-9]+: 90 nop Disassembly of section .plt.sec: -0+280 : +0+220 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 a5 01 20 00 bnd jmpq \*0x2001a5\(%rip\) # 200430 + +[a-f0-9]+: f2 ff 25 a5 01 20 00 bnd jmpq \*0x2001a5\(%rip\) # 2003d0 +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) -0+290 : +0+230 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 9d 01 20 00 bnd jmpq \*0x20019d\(%rip\) # 200438 + +[a-f0-9]+: f2 ff 25 9d 01 20 00 bnd jmpq \*0x20019d\(%rip\) # 2003d8 +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .text: -0+2a0 : +0+240 : +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp - +[a-f0-9]+: e8 e7 ff ff ff callq 290 + +[a-f0-9]+: e8 e7 ff ff ff callq 230 +[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp - +[a-f0-9]+: e9 ce ff ff ff jmpq 280 + +[a-f0-9]+: e9 ce ff ff ff jmpq 220 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,36 +8,36 @@ Disassembly of section .plt: -0+1a0 <.plt>: - +[a-f0-9]+: ff 35 4a 01 20 00 pushq 0x20014a\(%rip\) # 2002f0 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: ff 25 4c 01 20 00 jmpq \*0x20014c\(%rip\) # 2002f8 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+140 <.plt>: + +[a-f0-9]+: ff 35 4a 01 20 00 pushq 0x20014a\(%rip\) # 200290 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: ff 25 4c 01 20 00 jmpq \*0x20014c\(%rip\) # 200298 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: e9 e2 ff ff ff jmpq 1a0 <.plt> + +[a-f0-9]+: e9 e2 ff ff ff jmpq 140 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 - +[a-f0-9]+: e9 d2 ff ff ff jmpq 1a0 <.plt> + +[a-f0-9]+: e9 d2 ff ff ff jmpq 140 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .plt.sec: -0+1d0 : +0+170 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: ff 25 26 01 20 00 jmpq \*0x200126\(%rip\) # 200300 + +[a-f0-9]+: ff 25 26 01 20 00 jmpq \*0x200126\(%rip\) # 2002a0 +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) -0+1e0 : +0+180 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: ff 25 1e 01 20 00 jmpq \*0x20011e\(%rip\) # 200308 + +[a-f0-9]+: ff 25 1e 01 20 00 jmpq \*0x20011e\(%rip\) # 2002a8 +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) Disassembly of section .text: -0+1f0 : +0+190 : +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp - +[a-f0-9]+: e8 e7 ff ff ff callq 1e0 + +[a-f0-9]+: e8 e7 ff ff ff callq 180 +[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp - +[a-f0-9]+: e9 ce ff ff ff jmpq 1d0 + +[a-f0-9]+: e9 ce ff ff ff jmpq 170 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3b.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3b.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3b.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3b.d 2018-06-13 10:31:39.000000000 +0200 @@ -18,25 +18,25 @@ DW_CFA_nop DW_CFA_nop -0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002a0..00000000000002b2 - DW_CFA_advance_loc: 4 to 00000000000002a4 +0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000240..0000000000000252 + DW_CFA_advance_loc: 4 to 0000000000000244 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 9 to 00000000000002ad + DW_CFA_advance_loc: 9 to 000000000000024d DW_CFA_def_cfa_offset: 8 DW_CFA_nop -0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000250..0000000000000280 +0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001f0..0000000000000220 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 0000000000000256 + DW_CFA_advance_loc: 6 to 00000000000001f6 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 0000000000000260 + DW_CFA_advance_loc: 10 to 0000000000000200 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000280..00000000000002a0 +0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000220..0000000000000240 DW_CFA_nop DW_CFA_nop DW_CFA_nop diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d 2018-06-13 10:31:39.000000000 +0200 @@ -18,21 +18,21 @@ DW_CFA_nop DW_CFA_nop -0+18 00000014 0000001c FDE cie=00000000 pc=000001f0..00000202 - DW_CFA_advance_loc: 4 to 000001f4 +0+18 00000014 0000001c FDE cie=00000000 pc=00000190..000001a2 + DW_CFA_advance_loc: 4 to 00000194 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 9 to 000001fd + DW_CFA_advance_loc: 9 to 0000019d DW_CFA_def_cfa_offset: 8 DW_CFA_nop -0+30 00000020 00000034 FDE cie=00000000 pc=000001a0..000001d0 +0+30 00000020 00000034 FDE cie=00000000 pc=00000140..00000170 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 000001a6 + DW_CFA_advance_loc: 6 to 00000146 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 000001b0 + DW_CFA_advance_loc: 10 to 00000150 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) -0+54 00000010 00000058 FDE cie=00000000 pc=000001d0..000001f0 +0+54 00000010 00000058 FDE cie=00000000 pc=00000170..00000190 DW_CFA_nop DW_CFA_nop DW_CFA_nop diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3c.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3c.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3c.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3c.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,36 +8,36 @@ Disassembly of section .plt: -0+290 <.plt>: - +[a-f0-9]+: ff 35 ea 01 20 00 pushq 0x2001ea\(%rip\) # 200480 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\) # 200488 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+220 <.plt>: + +[a-f0-9]+: ff 35 ea 01 20 00 pushq 0x2001ea\(%rip\) # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\) # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq 290 <.plt> + +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq 220 <.plt> +[a-f0-9]+: 90 nop +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 - +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq 290 <.plt> + +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq 220 <.plt> +[a-f0-9]+: 90 nop Disassembly of section .plt.sec: -0+2c0 : +0+250 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\) # 200490 + +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\) # 200420 +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) -0+2d0 : +0+260 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\) # 200498 + +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\) # 200428 +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .text: -0+2e0 : +0+270 : +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp - +[a-f0-9]+: e8 e7 ff ff ff callq 2d0 + +[a-f0-9]+: e8 e7 ff ff ff callq 260 +[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp - +[a-f0-9]+: e9 ce ff ff ff jmpq 2c0 + +[a-f0-9]+: e9 ce ff ff ff jmpq 250 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,36 +8,36 @@ Disassembly of section .plt: -0+1c0 <.plt>: - +[a-f0-9]+: ff 35 62 01 20 00 pushq 0x200162\(%rip\) # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: ff 25 64 01 20 00 jmpq \*0x200164\(%rip\) # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+160 <.plt>: + +[a-f0-9]+: ff 35 62 01 20 00 pushq 0x200162\(%rip\) # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: ff 25 64 01 20 00 jmpq \*0x200164\(%rip\) # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: e9 e2 ff ff ff jmpq 1c0 <.plt> + +[a-f0-9]+: e9 e2 ff ff ff jmpq 160 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 - +[a-f0-9]+: e9 d2 ff ff ff jmpq 1c0 <.plt> + +[a-f0-9]+: e9 d2 ff ff ff jmpq 160 <.plt> +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .plt.sec: -0+1f0 : +0+190 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: ff 25 3e 01 20 00 jmpq \*0x20013e\(%rip\) # 200338 + +[a-f0-9]+: ff 25 3e 01 20 00 jmpq \*0x20013e\(%rip\) # 2002d8 +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) -0+200 : +0+1a0 : +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: ff 25 36 01 20 00 jmpq \*0x200136\(%rip\) # 200340 + +[a-f0-9]+: ff 25 36 01 20 00 jmpq \*0x200136\(%rip\) # 2002e0 +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) Disassembly of section .text: -0+210 : +0+1b0 : +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp - +[a-f0-9]+: e8 e7 ff ff ff callq 200 + +[a-f0-9]+: e8 e7 ff ff ff callq 1a0 +[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp - +[a-f0-9]+: e9 ce ff ff ff jmpq 1f0 + +[a-f0-9]+: e9 ce ff ff ff jmpq 190 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3d.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3d.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3d.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3d.d 2018-06-13 10:31:39.000000000 +0200 @@ -18,25 +18,25 @@ DW_CFA_nop DW_CFA_nop -0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002e0..00000000000002f2 - DW_CFA_advance_loc: 4 to 00000000000002e4 +0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000270..0000000000000282 + DW_CFA_advance_loc: 4 to 0000000000000274 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 9 to 00000000000002ed + DW_CFA_advance_loc: 9 to 000000000000027d DW_CFA_def_cfa_offset: 8 DW_CFA_nop -0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000290..00000000000002c0 +0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000250 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 0000000000000296 + DW_CFA_advance_loc: 6 to 0000000000000226 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 00000000000002a0 + DW_CFA_advance_loc: 10 to 0000000000000230 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000002c0..00000000000002e0 +0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000250..0000000000000270 DW_CFA_nop DW_CFA_nop DW_CFA_nop diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d 2018-06-13 10:31:39.000000000 +0200 @@ -18,21 +18,21 @@ DW_CFA_nop DW_CFA_nop -0+18 00000014 0000001c FDE cie=00000000 pc=00000210..00000222 - DW_CFA_advance_loc: 4 to 00000214 +0+18 00000014 0000001c FDE cie=00000000 pc=000001b0..000001c2 + DW_CFA_advance_loc: 4 to 000001b4 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 9 to 0000021d + DW_CFA_advance_loc: 9 to 000001bd DW_CFA_def_cfa_offset: 8 DW_CFA_nop -0+30 00000020 00000034 FDE cie=00000000 pc=000001c0..000001f0 +0+30 00000020 00000034 FDE cie=00000000 pc=00000160..00000190 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 000001c6 + DW_CFA_advance_loc: 6 to 00000166 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 000001d0 + DW_CFA_advance_loc: 10 to 00000170 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) -0+54 00000010 00000058 FDE cie=00000000 pc=000001f0..00000210 +0+54 00000010 00000058 FDE cie=00000000 pc=00000190..000001b0 DW_CFA_nop DW_CFA_nop DW_CFA_nop diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ilp32-4.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ilp32-4.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ilp32-4.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ilp32-4.d 2018-06-13 10:31:39.000000000 +0200 @@ -8,9 +8,9 @@ Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] .hash HASH [0-9a-f]+ [0-9a-f]+ 000028 04 A 2 0 4 - \[ 2\] .dynsym DYNSYM [0-9a-f]+ [0-9a-f]+ 000050 10 A 3 1 4 - \[ 3\] .dynstr STRTAB [0-9a-f]+ [0-9a-f]+ 000019 00 A 0 0 1 + \[ 1\] .hash HASH [0-9a-f]+ [0-9a-f]+ 000014 04 A 2 0 4 + \[ 2\] .dynsym DYNSYM [0-9a-f]+ [0-9a-f]+ 000020 10 A 3 1 4 + \[ 3\] .dynstr STRTAB [0-9a-f]+ [0-9a-f]+ 000008 00 A 0 0 1 \[ 4\] .text PROGBITS [0-9a-f]+ [0-9a-f]+ 000001 00 AX 0 0 1 \[ 5\] .dynamic DYNAMIC [0-9a-f]+ [0-9a-f]+ 000058 08 WA 3 0 4 \[ 6\] .symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 7 [0-9] 4 @@ -24,6 +24,6 @@ 0x00000004 \(HASH\) 0x[0-9a-f]+ 0x00000005 \(STRTAB\) 0x[0-9a-f]+ 0x00000006 \(SYMTAB\) 0x[0-9a-f]+ - 0x0000000a \(STRSZ\) 25 \(bytes\) + 0x0000000a \(STRSZ\) 8 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x00000000 \(NULL\) 0x0 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ilp32-4-nacl.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ilp32-4-nacl.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/ilp32-4-nacl.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/ilp32-4-nacl.d 2018-06-13 10:31:39.000000000 +0200 @@ -10,21 +10,21 @@ +\[Nr\] Name +Type +Addr +Off +Size +ES +Flg +Lk +Inf +Al +\[ 0\] +NULL +0+ 0+ 0+ 00 +0 +0 +0 +\[ 1\] \.text +PROGBITS +0+ 0+10000 +0+1 +00 +AX +0 +0 +1 - +\[ 2\] \.hash +HASH +100000b4 +0+b4 +0+28 +04 +A +3 +0 +4 - +\[ 3\] \.dynsym +DYNSYM +100000dc +0+dc +0+50 +10 +A +4 +1 +4 - +\[ 4\] \.dynstr +STRTAB +1000012c +0+12c +0+19 +00 +A +0 +0 +1 - +\[ 5\] \.dynamic +DYNAMIC +10010148 +0+148 +0+58 +08 +WA +4 +0 +4 + +\[ 2\] \.hash +HASH +100000b4 +0+b4 +0+14 +04 +A +3 +0 +4 + +\[ 3\] \.dynsym +DYNSYM +100000c8 +0+c8 +0+20 +10 +A +4 +1 +4 + +\[ 4\] \.dynstr +STRTAB +100000e8 +0+e8 +0+8 +00 +A +0 +0 +1 + +\[ 5\] \.dynamic +DYNAMIC +100100f0 +0+f0 +0+58 +08 +WA +4 +0 +4 +\[ 6\] \.symtab +SYMTAB +0+0 +[0-9a-f]+ +[0-9a-f]+ +10 +7 +[0-9] +4 +\[ 7\] \.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1 +\[ 8\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ +0+40 +00 +0 +0 +1 Key to Flags: #... -Dynamic section at offset 0x148 contains 6 entries: +Dynamic section at offset 0xf0 contains 6 entries: Tag Type Name/Value 0x00000004 \(HASH\) 0x100000b4 - 0x00000005 \(STRTAB\) 0x1000012c - 0x00000006 \(SYMTAB\) 0x100000dc - 0x0000000a \(STRSZ\) 25 \(bytes\) + 0x00000005 \(STRTAB\) 0x100000e8 + 0x00000006 \(SYMTAB\) 0x100000c8 + 0x0000000a \(STRSZ\) 8 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x00000000 \(NULL\) 0x0 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/load1c.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/load1c.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/load1c.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/load1c.d 2018-06-13 10:31:39.000000000 +0200 @@ -9,40 +9,40 @@ Disassembly of section .text: [a-f0-9]+ <_start>: -[ ]*[a-f0-9]+: 13 05 ca 01 20 00 adc 0x2001ca\(%rip\),%eax # 2003c8 <.*> -[ ]*[a-f0-9]+: 03 1d c4 01 20 00 add 0x2001c4\(%rip\),%ebx # 2003c8 <.*> -[ ]*[a-f0-9]+: 23 0d be 01 20 00 and 0x2001be\(%rip\),%ecx # 2003c8 <.*> -[ ]*[a-f0-9]+: 3b 15 b8 01 20 00 cmp 0x2001b8\(%rip\),%edx # 2003c8 <.*> -[ ]*[a-f0-9]+: 0b 35 b2 01 20 00 or 0x2001b2\(%rip\),%esi # 2003c8 <.*> -[ ]*[a-f0-9]+: 1b 3d ac 01 20 00 sbb 0x2001ac\(%rip\),%edi # 2003c8 <.*> -[ ]*[a-f0-9]+: 2b 2d a6 01 20 00 sub 0x2001a6\(%rip\),%ebp # 2003c8 <.*> -[ ]*[a-f0-9]+: 44 33 05 9f 01 20 00 xor 0x20019f\(%rip\),%r8d # 2003c8 <.*> -[ ]*[a-f0-9]+: 44 85 3d 98 01 20 00 test %r15d,0x200198\(%rip\) # 2003c8 <.*> -[ ]*[a-f0-9]+: 48 13 05 91 01 20 00 adc 0x200191\(%rip\),%rax # 2003c8 <.*> -[ ]*[a-f0-9]+: 48 03 1d 8a 01 20 00 add 0x20018a\(%rip\),%rbx # 2003c8 <.*> -[ ]*[a-f0-9]+: 48 23 0d 83 01 20 00 and 0x200183\(%rip\),%rcx # 2003c8 <.*> -[ ]*[a-f0-9]+: 48 3b 15 7c 01 20 00 cmp 0x20017c\(%rip\),%rdx # 2003c8 <.*> -[ ]*[a-f0-9]+: 48 0b 3d 75 01 20 00 or 0x200175\(%rip\),%rdi # 2003c8 <.*> -[ ]*[a-f0-9]+: 48 1b 35 6e 01 20 00 sbb 0x20016e\(%rip\),%rsi # 2003c8 <.*> -[ ]*[a-f0-9]+: 48 2b 2d 67 01 20 00 sub 0x200167\(%rip\),%rbp # 2003c8 <.*> -[ ]*[a-f0-9]+: 4c 33 05 60 01 20 00 xor 0x200160\(%rip\),%r8 # 2003c8 <.*> -[ ]*[a-f0-9]+: 4c 85 3d 59 01 20 00 test %r15,0x200159\(%rip\) # 2003c8 <.*> -[ ]*[a-f0-9]+: 13 05 5b 01 20 00 adc 0x20015b\(%rip\),%eax # 2003d0 <.*> -[ ]*[a-f0-9]+: 03 1d 55 01 20 00 add 0x200155\(%rip\),%ebx # 2003d0 <.*> -[ ]*[a-f0-9]+: 23 0d 4f 01 20 00 and 0x20014f\(%rip\),%ecx # 2003d0 <.*> -[ ]*[a-f0-9]+: 3b 15 49 01 20 00 cmp 0x200149\(%rip\),%edx # 2003d0 <.*> -[ ]*[a-f0-9]+: 0b 35 43 01 20 00 or 0x200143\(%rip\),%esi # 2003d0 <.*> -[ ]*[a-f0-9]+: 1b 3d 3d 01 20 00 sbb 0x20013d\(%rip\),%edi # 2003d0 <.*> -[ ]*[a-f0-9]+: 2b 2d 37 01 20 00 sub 0x200137\(%rip\),%ebp # 2003d0 <.*> -[ ]*[a-f0-9]+: 44 33 05 30 01 20 00 xor 0x200130\(%rip\),%r8d # 2003d0 <.*> -[ ]*[a-f0-9]+: 44 85 3d 29 01 20 00 test %r15d,0x200129\(%rip\) # 2003d0 <.*> -[ ]*[a-f0-9]+: 48 13 05 22 01 20 00 adc 0x200122\(%rip\),%rax # 2003d0 <.*> -[ ]*[a-f0-9]+: 48 03 1d 1b 01 20 00 add 0x20011b\(%rip\),%rbx # 2003d0 <.*> -[ ]*[a-f0-9]+: 48 23 0d 14 01 20 00 and 0x200114\(%rip\),%rcx # 2003d0 <.*> -[ ]*[a-f0-9]+: 48 3b 15 0d 01 20 00 cmp 0x20010d\(%rip\),%rdx # 2003d0 <.*> -[ ]*[a-f0-9]+: 48 0b 3d 06 01 20 00 or 0x200106\(%rip\),%rdi # 2003d0 <.*> -[ ]*[a-f0-9]+: 48 1b 35 ff 00 20 00 sbb 0x2000ff\(%rip\),%rsi # 2003d0 <.*> -[ ]*[a-f0-9]+: 48 2b 2d f8 00 20 00 sub 0x2000f8\(%rip\),%rbp # 2003d0 <.*> -[ ]*[a-f0-9]+: 4c 33 05 f1 00 20 00 xor 0x2000f1\(%rip\),%r8 # 2003d0 <.*> -[ ]*[a-f0-9]+: 4c 85 3d ea 00 20 00 test %r15,0x2000ea\(%rip\) # 2003d0 <.*> +[ ]*[a-f0-9]+: 13 05 ca 01 20 00 adc 0x2001ca\(%rip\),%eax # 200358 <.*> +[ ]*[a-f0-9]+: 03 1d c4 01 20 00 add 0x2001c4\(%rip\),%ebx # 200358 <.*> +[ ]*[a-f0-9]+: 23 0d be 01 20 00 and 0x2001be\(%rip\),%ecx # 200358 <.*> +[ ]*[a-f0-9]+: 3b 15 b8 01 20 00 cmp 0x2001b8\(%rip\),%edx # 200358 <.*> +[ ]*[a-f0-9]+: 0b 35 b2 01 20 00 or 0x2001b2\(%rip\),%esi # 200358 <.*> +[ ]*[a-f0-9]+: 1b 3d ac 01 20 00 sbb 0x2001ac\(%rip\),%edi # 200358 <.*> +[ ]*[a-f0-9]+: 2b 2d a6 01 20 00 sub 0x2001a6\(%rip\),%ebp # 200358 <.*> +[ ]*[a-f0-9]+: 44 33 05 9f 01 20 00 xor 0x20019f\(%rip\),%r8d # 200358 <.*> +[ ]*[a-f0-9]+: 44 85 3d 98 01 20 00 test %r15d,0x200198\(%rip\) # 200358 <.*> +[ ]*[a-f0-9]+: 48 13 05 91 01 20 00 adc 0x200191\(%rip\),%rax # 200358 <.*> +[ ]*[a-f0-9]+: 48 03 1d 8a 01 20 00 add 0x20018a\(%rip\),%rbx # 200358 <.*> +[ ]*[a-f0-9]+: 48 23 0d 83 01 20 00 and 0x200183\(%rip\),%rcx # 200358 <.*> +[ ]*[a-f0-9]+: 48 3b 15 7c 01 20 00 cmp 0x20017c\(%rip\),%rdx # 200358 <.*> +[ ]*[a-f0-9]+: 48 0b 3d 75 01 20 00 or 0x200175\(%rip\),%rdi # 200358 <.*> +[ ]*[a-f0-9]+: 48 1b 35 6e 01 20 00 sbb 0x20016e\(%rip\),%rsi # 200358 <.*> +[ ]*[a-f0-9]+: 48 2b 2d 67 01 20 00 sub 0x200167\(%rip\),%rbp # 200358 <.*> +[ ]*[a-f0-9]+: 4c 33 05 60 01 20 00 xor 0x200160\(%rip\),%r8 # 200358 <.*> +[ ]*[a-f0-9]+: 4c 85 3d 59 01 20 00 test %r15,0x200159\(%rip\) # 200358 <.*> +[ ]*[a-f0-9]+: 13 05 5b 01 20 00 adc 0x20015b\(%rip\),%eax # 200360 <.*> +[ ]*[a-f0-9]+: 03 1d 55 01 20 00 add 0x200155\(%rip\),%ebx # 200360 <.*> +[ ]*[a-f0-9]+: 23 0d 4f 01 20 00 and 0x20014f\(%rip\),%ecx # 200360 <.*> +[ ]*[a-f0-9]+: 3b 15 49 01 20 00 cmp 0x200149\(%rip\),%edx # 200360 <.*> +[ ]*[a-f0-9]+: 0b 35 43 01 20 00 or 0x200143\(%rip\),%esi # 200360 <.*> +[ ]*[a-f0-9]+: 1b 3d 3d 01 20 00 sbb 0x20013d\(%rip\),%edi # 200360 <.*> +[ ]*[a-f0-9]+: 2b 2d 37 01 20 00 sub 0x200137\(%rip\),%ebp # 200360 <.*> +[ ]*[a-f0-9]+: 44 33 05 30 01 20 00 xor 0x200130\(%rip\),%r8d # 200360 <.*> +[ ]*[a-f0-9]+: 44 85 3d 29 01 20 00 test %r15d,0x200129\(%rip\) # 200360 <.*> +[ ]*[a-f0-9]+: 48 13 05 22 01 20 00 adc 0x200122\(%rip\),%rax # 200360 <.*> +[ ]*[a-f0-9]+: 48 03 1d 1b 01 20 00 add 0x20011b\(%rip\),%rbx # 200360 <.*> +[ ]*[a-f0-9]+: 48 23 0d 14 01 20 00 and 0x200114\(%rip\),%rcx # 200360 <.*> +[ ]*[a-f0-9]+: 48 3b 15 0d 01 20 00 cmp 0x20010d\(%rip\),%rdx # 200360 <.*> +[ ]*[a-f0-9]+: 48 0b 3d 06 01 20 00 or 0x200106\(%rip\),%rdi # 200360 <.*> +[ ]*[a-f0-9]+: 48 1b 35 ff 00 20 00 sbb 0x2000ff\(%rip\),%rsi # 200360 <.*> +[ ]*[a-f0-9]+: 48 2b 2d f8 00 20 00 sub 0x2000f8\(%rip\),%rbp # 200360 <.*> +[ ]*[a-f0-9]+: 4c 33 05 f1 00 20 00 xor 0x2000f1\(%rip\),%r8 # 200360 <.*> +[ ]*[a-f0-9]+: 4c 85 3d ea 00 20 00 test %r15,0x2000ea\(%rip\) # 200360 <.*> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/load1c-nacl.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/load1c-nacl.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/load1c-nacl.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/load1c-nacl.d 2018-06-13 10:31:39.000000000 +0200 @@ -9,40 +9,40 @@ Disassembly of section .text: 0+ <_start>: -[ ]*[a-f0-9]+: 13 05 0a 03 01 10 adc 0x1001030a\(%rip\),%eax # 10010310 <.*> -[ ]*[a-f0-9]+: 03 1d 04 03 01 10 add 0x10010304\(%rip\),%ebx # 10010310 <.*> -[ ]*[a-f0-9]+: 23 0d fe 02 01 10 and 0x100102fe\(%rip\),%ecx # 10010310 <.*> -[ ]*[a-f0-9]+: 3b 15 f8 02 01 10 cmp 0x100102f8\(%rip\),%edx # 10010310 <.*> -[ ]*[a-f0-9]+: 0b 35 f2 02 01 10 or 0x100102f2\(%rip\),%esi # 10010310 <.*> -[ ]*[a-f0-9]+: 1b 3d ec 02 01 10 sbb 0x100102ec\(%rip\),%edi # 10010310 <.*> -[ ]*[a-f0-9]+: 2b 2d e6 02 01 10 sub 0x100102e6\(%rip\),%ebp # 10010310 <.*> -[ ]*[a-f0-9]+: 44 33 05 df 02 01 10 xor 0x100102df\(%rip\),%r8d # 10010310 <.*> -[ ]*[a-f0-9]+: 44 85 3d d8 02 01 10 test %r15d,0x100102d8\(%rip\) # 10010310 <.*> -[ ]*[a-f0-9]+: 48 13 05 d1 02 01 10 adc 0x100102d1\(%rip\),%rax # 10010310 <.*> -[ ]*[a-f0-9]+: 48 03 1d ca 02 01 10 add 0x100102ca\(%rip\),%rbx # 10010310 <.*> -[ ]*[a-f0-9]+: 48 23 0d c3 02 01 10 and 0x100102c3\(%rip\),%rcx # 10010310 <.*> -[ ]*[a-f0-9]+: 48 3b 15 bc 02 01 10 cmp 0x100102bc\(%rip\),%rdx # 10010310 <.*> -[ ]*[a-f0-9]+: 48 0b 3d b5 02 01 10 or 0x100102b5\(%rip\),%rdi # 10010310 <.*> -[ ]*[a-f0-9]+: 48 1b 35 ae 02 01 10 sbb 0x100102ae\(%rip\),%rsi # 10010310 <.*> -[ ]*[a-f0-9]+: 48 2b 2d a7 02 01 10 sub 0x100102a7\(%rip\),%rbp # 10010310 <.*> -[ ]*[a-f0-9]+: 4c 33 05 a0 02 01 10 xor 0x100102a0\(%rip\),%r8 # 10010310 <.*> -[ ]*[a-f0-9]+: 4c 85 3d 99 02 01 10 test %r15,0x10010299\(%rip\) # 10010310 <.*> -[ ]*[a-f0-9]+: 13 05 9b 02 01 10 adc 0x1001029b\(%rip\),%eax # 10010318 <.*> -[ ]*[a-f0-9]+: 03 1d 95 02 01 10 add 0x10010295\(%rip\),%ebx # 10010318 <.*> -[ ]*[a-f0-9]+: 23 0d 8f 02 01 10 and 0x1001028f\(%rip\),%ecx # 10010318 <.*> -[ ]*[a-f0-9]+: 3b 15 89 02 01 10 cmp 0x10010289\(%rip\),%edx # 10010318 <.*> -[ ]*[a-f0-9]+: 0b 35 83 02 01 10 or 0x10010283\(%rip\),%esi # 10010318 <.*> -[ ]*[a-f0-9]+: 1b 3d 7d 02 01 10 sbb 0x1001027d\(%rip\),%edi # 10010318 <.*> -[ ]*[a-f0-9]+: 2b 2d 77 02 01 10 sub 0x10010277\(%rip\),%ebp # 10010318 <.*> -[ ]*[a-f0-9]+: 44 33 05 70 02 01 10 xor 0x10010270\(%rip\),%r8d # 10010318 <.*> -[ ]*[a-f0-9]+: 44 85 3d 69 02 01 10 test %r15d,0x10010269\(%rip\) # 10010318 <.*> -[ ]*[a-f0-9]+: 48 13 05 62 02 01 10 adc 0x10010262\(%rip\),%rax # 10010318 <.*> -[ ]*[a-f0-9]+: 48 03 1d 5b 02 01 10 add 0x1001025b\(%rip\),%rbx # 10010318 <.*> -[ ]*[a-f0-9]+: 48 23 0d 54 02 01 10 and 0x10010254\(%rip\),%rcx # 10010318 <.*> -[ ]*[a-f0-9]+: 48 3b 15 4d 02 01 10 cmp 0x1001024d\(%rip\),%rdx # 10010318 <.*> -[ ]*[a-f0-9]+: 48 0b 3d 46 02 01 10 or 0x10010246\(%rip\),%rdi # 10010318 <.*> -[ ]*[a-f0-9]+: 48 1b 35 3f 02 01 10 sbb 0x1001023f\(%rip\),%rsi # 10010318 <.*> -[ ]*[a-f0-9]+: 48 2b 2d 38 02 01 10 sub 0x10010238\(%rip\),%rbp # 10010318 <.*> -[ ]*[a-f0-9]+: 4c 33 05 31 02 01 10 xor 0x10010231\(%rip\),%r8 # 10010318 <.*> -[ ]*[a-f0-9]+: 4c 85 3d 2a 02 01 10 test %r15,0x1001022a\(%rip\) # 10010318 <.*> + +[a-f0-9]+: 13 05 9a 02 01 10 adc 0x1001029a\(%rip\),%eax # 100102a0 <.got> + +[a-f0-9]+: 03 1d 94 02 01 10 add 0x10010294\(%rip\),%ebx # 100102a0 <.got> + +[a-f0-9]+: 23 0d 8e 02 01 10 and 0x1001028e\(%rip\),%ecx # 100102a0 <.got> + +[a-f0-9]+: 3b 15 88 02 01 10 cmp 0x10010288\(%rip\),%edx # 100102a0 <.got> + +[a-f0-9]+: 0b 35 82 02 01 10 or 0x10010282\(%rip\),%esi # 100102a0 <.got> + +[a-f0-9]+: 1b 3d 7c 02 01 10 sbb 0x1001027c\(%rip\),%edi # 100102a0 <.got> + +[a-f0-9]+: 2b 2d 76 02 01 10 sub 0x10010276\(%rip\),%ebp # 100102a0 <.got> + +[a-f0-9]+: 44 33 05 6f 02 01 10 xor 0x1001026f\(%rip\),%r8d # 100102a0 <.got> + +[a-f0-9]+: 44 85 3d 68 02 01 10 test %r15d,0x10010268\(%rip\) # 100102a0 <.got> + +[a-f0-9]+: 48 13 05 61 02 01 10 adc 0x10010261\(%rip\),%rax # 100102a0 <.got> + +[a-f0-9]+: 48 03 1d 5a 02 01 10 add 0x1001025a\(%rip\),%rbx # 100102a0 <.got> + +[a-f0-9]+: 48 23 0d 53 02 01 10 and 0x10010253\(%rip\),%rcx # 100102a0 <.got> + +[a-f0-9]+: 48 3b 15 4c 02 01 10 cmp 0x1001024c\(%rip\),%rdx # 100102a0 <.got> + +[a-f0-9]+: 48 0b 3d 45 02 01 10 or 0x10010245\(%rip\),%rdi # 100102a0 <.got> + +[a-f0-9]+: 48 1b 35 3e 02 01 10 sbb 0x1001023e\(%rip\),%rsi # 100102a0 <.got> + +[a-f0-9]+: 48 2b 2d 37 02 01 10 sub 0x10010237\(%rip\),%rbp # 100102a0 <.got> + +[a-f0-9]+: 4c 33 05 30 02 01 10 xor 0x10010230\(%rip\),%r8 # 100102a0 <.got> + +[a-f0-9]+: 4c 85 3d 29 02 01 10 test %r15,0x10010229\(%rip\) # 100102a0 <.got> + +[a-f0-9]+: 13 05 2b 02 01 10 adc 0x1001022b\(%rip\),%eax # 100102a8 + +[a-f0-9]+: 03 1d 25 02 01 10 add 0x10010225\(%rip\),%ebx # 100102a8 + +[a-f0-9]+: 23 0d 1f 02 01 10 and 0x1001021f\(%rip\),%ecx # 100102a8 + +[a-f0-9]+: 3b 15 19 02 01 10 cmp 0x10010219\(%rip\),%edx # 100102a8 + +[a-f0-9]+: 0b 35 13 02 01 10 or 0x10010213\(%rip\),%esi # 100102a8 + +[a-f0-9]+: 1b 3d 0d 02 01 10 sbb 0x1001020d\(%rip\),%edi # 100102a8 + +[a-f0-9]+: 2b 2d 07 02 01 10 sub 0x10010207\(%rip\),%ebp # 100102a8 + +[a-f0-9]+: 44 33 05 00 02 01 10 xor 0x10010200\(%rip\),%r8d # 100102a8 + +[a-f0-9]+: 44 85 3d f9 01 01 10 test %r15d,0x100101f9\(%rip\) # 100102a8 + +[a-f0-9]+: 48 13 05 f2 01 01 10 adc 0x100101f2\(%rip\),%rax # 100102a8 + +[a-f0-9]+: 48 03 1d eb 01 01 10 add 0x100101eb\(%rip\),%rbx # 100102a8 + +[a-f0-9]+: 48 23 0d e4 01 01 10 and 0x100101e4\(%rip\),%rcx # 100102a8 + +[a-f0-9]+: 48 3b 15 dd 01 01 10 cmp 0x100101dd\(%rip\),%rdx # 100102a8 + +[a-f0-9]+: 48 0b 3d d6 01 01 10 or 0x100101d6\(%rip\),%rdi # 100102a8 + +[a-f0-9]+: 48 1b 35 cf 01 01 10 sbb 0x100101cf\(%rip\),%rsi # 100102a8 + +[a-f0-9]+: 48 2b 2d c8 01 01 10 sub 0x100101c8\(%rip\),%rbp # 100102a8 + +[a-f0-9]+: 4c 33 05 c1 01 01 10 xor 0x100101c1\(%rip\),%r8 # 100102a8 + +[a-f0-9]+: 4c 85 3d ba 01 01 10 test %r15,0x100101ba\(%rip\) # 100102a8 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/load1d.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/load1d.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/load1d.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/load1d.d 2018-06-13 10:31:39.000000000 +0200 @@ -9,40 +9,40 @@ Disassembly of section .text: 0+[a-f0-9]+ <_start>: -[ ]*[a-f0-9]+: 13 05 5a 01 20 00 adc 0x20015a\(%rip\),%eax # 2002b8 <.*> -[ ]*[a-f0-9]+: 03 1d 54 01 20 00 add 0x200154\(%rip\),%ebx # 2002b8 <.*> -[ ]*[a-f0-9]+: 23 0d 4e 01 20 00 and 0x20014e\(%rip\),%ecx # 2002b8 <.*> -[ ]*[a-f0-9]+: 3b 15 48 01 20 00 cmp 0x200148\(%rip\),%edx # 2002b8 <.*> -[ ]*[a-f0-9]+: 0b 35 42 01 20 00 or 0x200142\(%rip\),%esi # 2002b8 <.*> -[ ]*[a-f0-9]+: 1b 3d 3c 01 20 00 sbb 0x20013c\(%rip\),%edi # 2002b8 <.*> -[ ]*[a-f0-9]+: 2b 2d 36 01 20 00 sub 0x200136\(%rip\),%ebp # 2002b8 <.*> -[ ]*[a-f0-9]+: 44 33 05 2f 01 20 00 xor 0x20012f\(%rip\),%r8d # 2002b8 <.*> -[ ]*[a-f0-9]+: 44 85 3d 28 01 20 00 test %r15d,0x200128\(%rip\) # 2002b8 <.*> -[ ]*[a-f0-9]+: 48 13 05 21 01 20 00 adc 0x200121\(%rip\),%rax # 2002b8 <.*> -[ ]*[a-f0-9]+: 48 03 1d 1a 01 20 00 add 0x20011a\(%rip\),%rbx # 2002b8 <.*> -[ ]*[a-f0-9]+: 48 23 0d 13 01 20 00 and 0x200113\(%rip\),%rcx # 2002b8 <.*> -[ ]*[a-f0-9]+: 48 3b 15 0c 01 20 00 cmp 0x20010c\(%rip\),%rdx # 2002b8 <.*> -[ ]*[a-f0-9]+: 48 0b 3d 05 01 20 00 or 0x200105\(%rip\),%rdi # 2002b8 <.*> -[ ]*[a-f0-9]+: 48 1b 35 fe 00 20 00 sbb 0x2000fe\(%rip\),%rsi # 2002b8 <.*> -[ ]*[a-f0-9]+: 48 2b 2d f7 00 20 00 sub 0x2000f7\(%rip\),%rbp # 2002b8 <.*> -[ ]*[a-f0-9]+: 4c 33 05 f0 00 20 00 xor 0x2000f0\(%rip\),%r8 # 2002b8 <.*> -[ ]*[a-f0-9]+: 4c 85 3d e9 00 20 00 test %r15,0x2000e9\(%rip\) # 2002b8 <.*> -[ ]*[a-f0-9]+: 13 05 eb 00 20 00 adc 0x2000eb\(%rip\),%eax # 2002c0 <.*> -[ ]*[a-f0-9]+: 03 1d e5 00 20 00 add 0x2000e5\(%rip\),%ebx # 2002c0 <.*> -[ ]*[a-f0-9]+: 23 0d df 00 20 00 and 0x2000df\(%rip\),%ecx # 2002c0 <.*> -[ ]*[a-f0-9]+: 3b 15 d9 00 20 00 cmp 0x2000d9\(%rip\),%edx # 2002c0 <.*> -[ ]*[a-f0-9]+: 0b 35 d3 00 20 00 or 0x2000d3\(%rip\),%esi # 2002c0 <.*> -[ ]*[a-f0-9]+: 1b 3d cd 00 20 00 sbb 0x2000cd\(%rip\),%edi # 2002c0 <.*> -[ ]*[a-f0-9]+: 2b 2d c7 00 20 00 sub 0x2000c7\(%rip\),%ebp # 2002c0 <.*> -[ ]*[a-f0-9]+: 44 33 05 c0 00 20 00 xor 0x2000c0\(%rip\),%r8d # 2002c0 <.*> -[ ]*[a-f0-9]+: 44 85 3d b9 00 20 00 test %r15d,0x2000b9\(%rip\) # 2002c0 <.*> -[ ]*[a-f0-9]+: 48 13 05 b2 00 20 00 adc 0x2000b2\(%rip\),%rax # 2002c0 <.*> -[ ]*[a-f0-9]+: 48 03 1d ab 00 20 00 add 0x2000ab\(%rip\),%rbx # 2002c0 <.*> -[ ]*[a-f0-9]+: 48 23 0d a4 00 20 00 and 0x2000a4\(%rip\),%rcx # 2002c0 <.*> -[ ]*[a-f0-9]+: 48 3b 15 9d 00 20 00 cmp 0x20009d\(%rip\),%rdx # 2002c0 <.*> -[ ]*[a-f0-9]+: 48 0b 3d 96 00 20 00 or 0x200096\(%rip\),%rdi # 2002c0 <.*> -[ ]*[a-f0-9]+: 48 1b 35 8f 00 20 00 sbb 0x20008f\(%rip\),%rsi # 2002c0 <.*> -[ ]*[a-f0-9]+: 48 2b 2d 88 00 20 00 sub 0x200088\(%rip\),%rbp # 2002c0 <.*> -[ ]*[a-f0-9]+: 4c 33 05 81 00 20 00 xor 0x200081\(%rip\),%r8 # 2002c0 <.*> -[ ]*[a-f0-9]+: 4c 85 3d 7a 00 20 00 test %r15,0x20007a\(%rip\) # 2002c0 <.*> +[ ]*[a-f0-9]+: 13 05 5a 01 20 00 adc 0x20015a\(%rip\),%eax # 200260 <.*> +[ ]*[a-f0-9]+: 03 1d 54 01 20 00 add 0x200154\(%rip\),%ebx # 200260 <.*> +[ ]*[a-f0-9]+: 23 0d 4e 01 20 00 and 0x20014e\(%rip\),%ecx # 200260 <.*> +[ ]*[a-f0-9]+: 3b 15 48 01 20 00 cmp 0x200148\(%rip\),%edx # 200260 <.*> +[ ]*[a-f0-9]+: 0b 35 42 01 20 00 or 0x200142\(%rip\),%esi # 200260 <.*> +[ ]*[a-f0-9]+: 1b 3d 3c 01 20 00 sbb 0x20013c\(%rip\),%edi # 200260 <.*> +[ ]*[a-f0-9]+: 2b 2d 36 01 20 00 sub 0x200136\(%rip\),%ebp # 200260 <.*> +[ ]*[a-f0-9]+: 44 33 05 2f 01 20 00 xor 0x20012f\(%rip\),%r8d # 200260 <.*> +[ ]*[a-f0-9]+: 44 85 3d 28 01 20 00 test %r15d,0x200128\(%rip\) # 200260 <.*> +[ ]*[a-f0-9]+: 48 13 05 21 01 20 00 adc 0x200121\(%rip\),%rax # 200260 <.*> +[ ]*[a-f0-9]+: 48 03 1d 1a 01 20 00 add 0x20011a\(%rip\),%rbx # 200260 <.*> +[ ]*[a-f0-9]+: 48 23 0d 13 01 20 00 and 0x200113\(%rip\),%rcx # 200260 <.*> +[ ]*[a-f0-9]+: 48 3b 15 0c 01 20 00 cmp 0x20010c\(%rip\),%rdx # 200260 <.*> +[ ]*[a-f0-9]+: 48 0b 3d 05 01 20 00 or 0x200105\(%rip\),%rdi # 200260 <.*> +[ ]*[a-f0-9]+: 48 1b 35 fe 00 20 00 sbb 0x2000fe\(%rip\),%rsi # 200260 <.*> +[ ]*[a-f0-9]+: 48 2b 2d f7 00 20 00 sub 0x2000f7\(%rip\),%rbp # 200260 <.*> +[ ]*[a-f0-9]+: 4c 33 05 f0 00 20 00 xor 0x2000f0\(%rip\),%r8 # 200260 <.*> +[ ]*[a-f0-9]+: 4c 85 3d e9 00 20 00 test %r15,0x2000e9\(%rip\) # 200260 <.*> +[ ]*[a-f0-9]+: 13 05 eb 00 20 00 adc 0x2000eb\(%rip\),%eax # 200268 <.*> +[ ]*[a-f0-9]+: 03 1d e5 00 20 00 add 0x2000e5\(%rip\),%ebx # 200268 <.*> +[ ]*[a-f0-9]+: 23 0d df 00 20 00 and 0x2000df\(%rip\),%ecx # 200268 <.*> +[ ]*[a-f0-9]+: 3b 15 d9 00 20 00 cmp 0x2000d9\(%rip\),%edx # 200268 <.*> +[ ]*[a-f0-9]+: 0b 35 d3 00 20 00 or 0x2000d3\(%rip\),%esi # 200268 <.*> +[ ]*[a-f0-9]+: 1b 3d cd 00 20 00 sbb 0x2000cd\(%rip\),%edi # 200268 <.*> +[ ]*[a-f0-9]+: 2b 2d c7 00 20 00 sub 0x2000c7\(%rip\),%ebp # 200268 <.*> +[ ]*[a-f0-9]+: 44 33 05 c0 00 20 00 xor 0x2000c0\(%rip\),%r8d # 200268 <.*> +[ ]*[a-f0-9]+: 44 85 3d b9 00 20 00 test %r15d,0x2000b9\(%rip\) # 200268 <.*> +[ ]*[a-f0-9]+: 48 13 05 b2 00 20 00 adc 0x2000b2\(%rip\),%rax # 200268 <.*> +[ ]*[a-f0-9]+: 48 03 1d ab 00 20 00 add 0x2000ab\(%rip\),%rbx # 200268 <.*> +[ ]*[a-f0-9]+: 48 23 0d a4 00 20 00 and 0x2000a4\(%rip\),%rcx # 200268 <.*> +[ ]*[a-f0-9]+: 48 3b 15 9d 00 20 00 cmp 0x20009d\(%rip\),%rdx # 200268 <.*> +[ ]*[a-f0-9]+: 48 0b 3d 96 00 20 00 or 0x200096\(%rip\),%rdi # 200268 <.*> +[ ]*[a-f0-9]+: 48 1b 35 8f 00 20 00 sbb 0x20008f\(%rip\),%rsi # 200268 <.*> +[ ]*[a-f0-9]+: 48 2b 2d 88 00 20 00 sub 0x200088\(%rip\),%rbp # 200268 <.*> +[ ]*[a-f0-9]+: 4c 33 05 81 00 20 00 xor 0x200081\(%rip\),%r8 # 200268 <.*> +[ ]*[a-f0-9]+: 4c 85 3d 7a 00 20 00 test %r15,0x20007a\(%rip\) # 200268 <.*> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/load1d-nacl.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/load1d-nacl.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/load1d-nacl.d 2017-08-10 23:19:33.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/load1d-nacl.d 2018-06-13 10:31:39.000000000 +0200 @@ -9,40 +9,40 @@ Disassembly of section .text: 0+ <_start>: -[ ]*[a-f0-9]+: 13 05 e2 01 01 10 adc 0x100101e2\(%rip\),%eax # 100101e8 <.*> -[ ]*[a-f0-9]+: 03 1d dc 01 01 10 add 0x100101dc\(%rip\),%ebx # 100101e8 <.*> -[ ]*[a-f0-9]+: 23 0d d6 01 01 10 and 0x100101d6\(%rip\),%ecx # 100101e8 <.*> -[ ]*[a-f0-9]+: 3b 15 d0 01 01 10 cmp 0x100101d0\(%rip\),%edx # 100101e8 <.*> -[ ]*[a-f0-9]+: 0b 35 ca 01 01 10 or 0x100101ca\(%rip\),%esi # 100101e8 <.*> -[ ]*[a-f0-9]+: 1b 3d c4 01 01 10 sbb 0x100101c4\(%rip\),%edi # 100101e8 <.*> -[ ]*[a-f0-9]+: 2b 2d be 01 01 10 sub 0x100101be\(%rip\),%ebp # 100101e8 <.*> -[ ]*[a-f0-9]+: 44 33 05 b7 01 01 10 xor 0x100101b7\(%rip\),%r8d # 100101e8 <.*> -[ ]*[a-f0-9]+: 44 85 3d b0 01 01 10 test %r15d,0x100101b0\(%rip\) # 100101e8 <.*> -[ ]*[a-f0-9]+: 48 13 05 a9 01 01 10 adc 0x100101a9\(%rip\),%rax # 100101e8 <.*> -[ ]*[a-f0-9]+: 48 03 1d a2 01 01 10 add 0x100101a2\(%rip\),%rbx # 100101e8 <.*> -[ ]*[a-f0-9]+: 48 23 0d 9b 01 01 10 and 0x1001019b\(%rip\),%rcx # 100101e8 <.*> -[ ]*[a-f0-9]+: 48 3b 15 94 01 01 10 cmp 0x10010194\(%rip\),%rdx # 100101e8 <.*> -[ ]*[a-f0-9]+: 48 0b 3d 8d 01 01 10 or 0x1001018d\(%rip\),%rdi # 100101e8 <.*> -[ ]*[a-f0-9]+: 48 1b 35 86 01 01 10 sbb 0x10010186\(%rip\),%rsi # 100101e8 <.*> -[ ]*[a-f0-9]+: 48 2b 2d 7f 01 01 10 sub 0x1001017f\(%rip\),%rbp # 100101e8 <.*> -[ ]*[a-f0-9]+: 4c 33 05 78 01 01 10 xor 0x10010178\(%rip\),%r8 # 100101e8 <.*> -[ ]*[a-f0-9]+: 4c 85 3d 71 01 01 10 test %r15,0x10010171\(%rip\) # 100101e8 <.*> -[ ]*[a-f0-9]+: 13 05 73 01 01 10 adc 0x10010173\(%rip\),%eax # 100101f0 <.*> -[ ]*[a-f0-9]+: 03 1d 6d 01 01 10 add 0x1001016d\(%rip\),%ebx # 100101f0 <.*> -[ ]*[a-f0-9]+: 23 0d 67 01 01 10 and 0x10010167\(%rip\),%ecx # 100101f0 <.*> -[ ]*[a-f0-9]+: 3b 15 61 01 01 10 cmp 0x10010161\(%rip\),%edx # 100101f0 <.*> -[ ]*[a-f0-9]+: 0b 35 5b 01 01 10 or 0x1001015b\(%rip\),%esi # 100101f0 <.*> -[ ]*[a-f0-9]+: 1b 3d 55 01 01 10 sbb 0x10010155\(%rip\),%edi # 100101f0 <.*> -[ ]*[a-f0-9]+: 2b 2d 4f 01 01 10 sub 0x1001014f\(%rip\),%ebp # 100101f0 <.*> -[ ]*[a-f0-9]+: 44 33 05 48 01 01 10 xor 0x10010148\(%rip\),%r8d # 100101f0 <.*> -[ ]*[a-f0-9]+: 44 85 3d 41 01 01 10 test %r15d,0x10010141\(%rip\) # 100101f0 <.*> -[ ]*[a-f0-9]+: 48 13 05 3a 01 01 10 adc 0x1001013a\(%rip\),%rax # 100101f0 <.*> -[ ]*[a-f0-9]+: 48 03 1d 33 01 01 10 add 0x10010133\(%rip\),%rbx # 100101f0 <.*> -[ ]*[a-f0-9]+: 48 23 0d 2c 01 01 10 and 0x1001012c\(%rip\),%rcx # 100101f0 <.*> -[ ]*[a-f0-9]+: 48 3b 15 25 01 01 10 cmp 0x10010125\(%rip\),%rdx # 100101f0 <.*> -[ ]*[a-f0-9]+: 48 0b 3d 1e 01 01 10 or 0x1001011e\(%rip\),%rdi # 100101f0 <.*> -[ ]*[a-f0-9]+: 48 1b 35 17 01 01 10 sbb 0x10010117\(%rip\),%rsi # 100101f0 <.*> -[ ]*[a-f0-9]+: 48 2b 2d 10 01 01 10 sub 0x10010110\(%rip\),%rbp # 100101f0 <.*> -[ ]*[a-f0-9]+: 4c 33 05 09 01 01 10 xor 0x10010109\(%rip\),%r8 # 100101f0 <.*> -[ ]*[a-f0-9]+: 4c 85 3d 02 01 01 10 test %r15,0x10010102\(%rip\) # 100101f0 <.*> + +[a-f0-9]+: 13 05 8a 01 01 10 adc 0x1001018a\(%rip\),%eax # 10010190 <.got> + +[a-f0-9]+: 03 1d 84 01 01 10 add 0x10010184\(%rip\),%ebx # 10010190 <.got> + +[a-f0-9]+: 23 0d 7e 01 01 10 and 0x1001017e\(%rip\),%ecx # 10010190 <.got> + +[a-f0-9]+: 3b 15 78 01 01 10 cmp 0x10010178\(%rip\),%edx # 10010190 <.got> + +[a-f0-9]+: 0b 35 72 01 01 10 or 0x10010172\(%rip\),%esi # 10010190 <.got> + +[a-f0-9]+: 1b 3d 6c 01 01 10 sbb 0x1001016c\(%rip\),%edi # 10010190 <.got> + +[a-f0-9]+: 2b 2d 66 01 01 10 sub 0x10010166\(%rip\),%ebp # 10010190 <.got> + +[a-f0-9]+: 44 33 05 5f 01 01 10 xor 0x1001015f\(%rip\),%r8d # 10010190 <.got> + +[a-f0-9]+: 44 85 3d 58 01 01 10 test %r15d,0x10010158\(%rip\) # 10010190 <.got> + +[a-f0-9]+: 48 13 05 51 01 01 10 adc 0x10010151\(%rip\),%rax # 10010190 <.got> + +[a-f0-9]+: 48 03 1d 4a 01 01 10 add 0x1001014a\(%rip\),%rbx # 10010190 <.got> + +[a-f0-9]+: 48 23 0d 43 01 01 10 and 0x10010143\(%rip\),%rcx # 10010190 <.got> + +[a-f0-9]+: 48 3b 15 3c 01 01 10 cmp 0x1001013c\(%rip\),%rdx # 10010190 <.got> + +[a-f0-9]+: 48 0b 3d 35 01 01 10 or 0x10010135\(%rip\),%rdi # 10010190 <.got> + +[a-f0-9]+: 48 1b 35 2e 01 01 10 sbb 0x1001012e\(%rip\),%rsi # 10010190 <.got> + +[a-f0-9]+: 48 2b 2d 27 01 01 10 sub 0x10010127\(%rip\),%rbp # 10010190 <.got> + +[a-f0-9]+: 4c 33 05 20 01 01 10 xor 0x10010120\(%rip\),%r8 # 10010190 <.got> + +[a-f0-9]+: 4c 85 3d 19 01 01 10 test %r15,0x10010119\(%rip\) # 10010190 <.got> + +[a-f0-9]+: 13 05 1b 01 01 10 adc 0x1001011b\(%rip\),%eax # 10010198 + +[a-f0-9]+: 03 1d 15 01 01 10 add 0x10010115\(%rip\),%ebx # 10010198 + +[a-f0-9]+: 23 0d 0f 01 01 10 and 0x1001010f\(%rip\),%ecx # 10010198 + +[a-f0-9]+: 3b 15 09 01 01 10 cmp 0x10010109\(%rip\),%edx # 10010198 + +[a-f0-9]+: 0b 35 03 01 01 10 or 0x10010103\(%rip\),%esi # 10010198 + +[a-f0-9]+: 1b 3d fd 00 01 10 sbb 0x100100fd\(%rip\),%edi # 10010198 + +[a-f0-9]+: 2b 2d f7 00 01 10 sub 0x100100f7\(%rip\),%ebp # 10010198 + +[a-f0-9]+: 44 33 05 f0 00 01 10 xor 0x100100f0\(%rip\),%r8d # 10010198 + +[a-f0-9]+: 44 85 3d e9 00 01 10 test %r15d,0x100100e9\(%rip\) # 10010198 + +[a-f0-9]+: 48 13 05 e2 00 01 10 adc 0x100100e2\(%rip\),%rax # 10010198 + +[a-f0-9]+: 48 03 1d db 00 01 10 add 0x100100db\(%rip\),%rbx # 10010198 + +[a-f0-9]+: 48 23 0d d4 00 01 10 and 0x100100d4\(%rip\),%rcx # 10010198 + +[a-f0-9]+: 48 3b 15 cd 00 01 10 cmp 0x100100cd\(%rip\),%rdx # 10010198 + +[a-f0-9]+: 48 0b 3d c6 00 01 10 or 0x100100c6\(%rip\),%rdi # 10010198 + +[a-f0-9]+: 48 1b 35 bf 00 01 10 sbb 0x100100bf\(%rip\),%rsi # 10010198 + +[a-f0-9]+: 48 2b 2d b8 00 01 10 sub 0x100100b8\(%rip\),%rbp # 10010198 + +[a-f0-9]+: 4c 33 05 b1 00 01 10 xor 0x100100b1\(%rip\),%r8 # 10010198 + +[a-f0-9]+: 4c 85 3d aa 00 01 10 test %r15,0x100100aa\(%rip\) # 10010198 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/mpx3n.dd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/mpx3n.dd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/mpx3n.dd 2017-05-16 02:03:49.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/mpx3n.dd 2018-06-13 10:31:39.000000000 +0200 @@ -3,26 +3,26 @@ Disassembly of section .plt: -0+400290 <.plt>: - +[a-f0-9]+: ff 35 a2 01 20 00 pushq 0x2001a2\(%rip\) # 600438 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 a3 01 20 00 bnd jmpq \*0x2001a3\(%rip\) # 600440 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+400220 <.plt>: + +[a-f0-9]+: ff 35 a2 01 20 00 pushq 0x2001a2\(%rip\) # 6003c8 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 a3 01 20 00 bnd jmpq \*0x2001a3\(%rip\) # 6003d0 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 400290 <.plt> + +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 400220 <.plt> +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .plt.sec: -0+4002b0 : - +[a-f0-9]+: f2 ff 25 91 01 20 00 bnd jmpq \*0x200191\(%rip\) # 600448 +0+400240 : + +[a-f0-9]+: f2 ff 25 91 01 20 00 bnd jmpq \*0x200191\(%rip\) # 6003d8 +[a-f0-9]+: 90 nop Disassembly of section .text: -0+4002b8 <_start>: - +[a-f0-9]+: bf b0 02 40 00 mov \$0x4002b0,%edi +0+400248 <_start>: + +[a-f0-9]+: bf 40 02 40 00 mov \$0x400240,%edi +[a-f0-9]+: f2 ff d7 bnd callq \*%rdi - +[a-f0-9]+: 48 8b 3d 89 01 20 00 mov 0x200189\(%rip\),%rdi # 600450 + +[a-f0-9]+: 48 8b 3d 89 01 20 00 mov 0x200189\(%rip\),%rdi # 6003e0 +[a-f0-9]+: f2 ff d7 bnd callq \*%rdi +[a-f0-9]+: c3 retq #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/mpx4.dd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/mpx4.dd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/mpx4.dd 2017-05-16 02:03:49.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/mpx4.dd 2018-06-13 10:31:39.000000000 +0200 @@ -3,22 +3,22 @@ Disassembly of section .plt: -0+400260 <.plt>: -[ ]*[a-f0-9]+: ff 35 42 01 20 00 pushq 0x200142\(%rip\) # 6003a8 <_GLOBAL_OFFSET_TABLE_\+0x8> -[ ]*[a-f0-9]+: f2 ff 25 43 01 20 00 bnd jmpq \*0x200143\(%rip\) # 6003b0 <_GLOBAL_OFFSET_TABLE_\+0x10> -[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) -[ ]*[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 -[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 400260 <.plt> -[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +0+4001f0 <.plt>: + +[a-f0-9]+: ff 35 42 01 20 00 pushq 0x200142\(%rip\) # 600338 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 43 01 20 00 bnd jmpq \*0x200143\(%rip\) # 600340 <_GLOBAL_OFFSET_TABLE_\+0x10> + +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) + +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 + +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 4001f0 <.plt> + +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .plt.sec: -0+400280 : -[ ]*[a-f0-9]+: f2 ff 25 31 01 20 00 bnd jmpq \*0x200131\(%rip\) # 6003b8 -[ ]*[a-f0-9]+: 90 nop +0+400210 : + +[a-f0-9]+: f2 ff 25 31 01 20 00 bnd jmpq \*0x200131\(%rip\) # 600348 + +[a-f0-9]+: 90 nop Disassembly of section .text: -0+400288 <_start>: -[ ]*[a-f0-9]+: bf 80 02 40 00 mov \$0x400280,%edi -[ ]*[a-f0-9]+: f2 ff d7 bnd callq \*%rdi +0+400218 <_start>: + +[a-f0-9]+: bf 10 02 40 00 mov \$0x400210,%edi + +[a-f0-9]+: f2 ff d7 bnd callq \*%rdi diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/mpx4n.dd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/mpx4n.dd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/mpx4n.dd 2017-05-16 02:03:49.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/mpx4n.dd 2018-06-13 10:31:39.000000000 +0200 @@ -3,23 +3,23 @@ Disassembly of section .plt: -0+400260 <.plt>: - +[a-f0-9]+: ff 35 62 01 20 00 pushq 0x200162\(%rip\) # 6003c8 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 63 01 20 00 bnd jmpq \*0x200163\(%rip\) # 6003d0 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+4001f0 <.plt>: + +[a-f0-9]+: ff 35 62 01 20 00 pushq 0x200162\(%rip\) # 600358 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 63 01 20 00 bnd jmpq \*0x200163\(%rip\) # 600360 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 400260 <.plt> + +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 4001f0 <.plt> +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .plt.sec: -0+400280 : - +[a-f0-9]+: f2 ff 25 51 01 20 00 bnd jmpq \*0x200151\(%rip\) # 6003d8 +0+400210 : + +[a-f0-9]+: f2 ff 25 51 01 20 00 bnd jmpq \*0x200151\(%rip\) # 600368 +[a-f0-9]+: 90 nop Disassembly of section .text: -0+400288 <_start>: - +[a-f0-9]+: bf 80 02 40 00 mov \$0x400280,%edi +0+400218 <_start>: + +[a-f0-9]+: bf 10 02 40 00 mov \$0x400210,%edi +[a-f0-9]+: f2 ff d7 bnd callq \*%rdi #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/plt2.dd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/plt2.dd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/plt2.dd 2017-05-16 02:03:49.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/plt2.dd 2018-06-13 10:31:39.000000000 +0200 @@ -9,25 +9,25 @@ Disassembly of section .plt: -0+400290 <.plt>: - +[a-f0-9]+: ff 35 7a 01 20 00 pushq 0x20017a\(%rip\) # 600410 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: ff 25 7c 01 20 00 jmpq \*0x20017c\(%rip\) # 600418 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+400220 <.plt>: + +[a-f0-9]+: ff 35 7a 01 20 00 pushq 0x20017a\(%rip\) # 6003a0 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: ff 25 7c 01 20 00 jmpq \*0x20017c\(%rip\) # 6003a8 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) -0+4002a0 : - +[a-f0-9]+: ff 25 7a 01 20 00 jmpq \*0x20017a\(%rip\) # 600420 +0+400230 : + +[a-f0-9]+: ff 25 7a 01 20 00 jmpq \*0x20017a\(%rip\) # 6003b0 +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: e9 e0 ff ff ff jmpq 400290 <.plt> + +[a-f0-9]+: e9 e0 ff ff ff jmpq 400220 <.plt> -0+4002b0 : - +[a-f0-9]+: ff 25 72 01 20 00 jmpq \*0x200172\(%rip\) # 600428 +0+400240 : + +[a-f0-9]+: ff 25 72 01 20 00 jmpq \*0x200172\(%rip\) # 6003b8 +[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 - +[a-f0-9]+: e9 d0 ff ff ff jmpq 400290 <.plt> + +[a-f0-9]+: e9 d0 ff ff ff jmpq 400220 <.plt> Disassembly of section .text: -0+4002c0 <_start>: - +[a-f0-9]+: e8 db ff ff ff callq 4002a0 - +[a-f0-9]+: e8 e6 ff ff ff callq 4002b0 - +[a-f0-9]+: 81 7c 24 08 a0 02 40 00 cmpl \$0x4002a0,0x8\(%rsp\) +0+400250 <_start>: + +[a-f0-9]+: e8 db ff ff ff callq 400230 + +[a-f0-9]+: e8 e6 ff ff ff callq 400240 + +[a-f0-9]+: 81 7c 24 08 30 02 40 00 cmpl \$0x400230,0x8\(%rsp\) #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr14207.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr14207.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr14207.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr14207.d 2018-06-13 10:31:39.000000000 +0200 @@ -5,12 +5,12 @@ #target: x86_64-*-linux* Elf file type is DYN \(Shared object file\) -Entry point 0x1c1 +Entry point 0x149 There are 4 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x0001c8 0x0001c8 R 0x200000 + LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x000150 0x000150 R 0x200000 LOAD 0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.0 0x000c.8 RW 0x200000 DYNAMIC 0x000b.0 0x0000000000200b.0 0x0000000000200b.0 0x0001.0 0x0001.0 RW 0x8 GNU_RELRO 0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.0 0x0004.8 R 0x1 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr19162.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr19162.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr19162.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr19162.d 2018-06-13 10:31:39.000000000 +0200 @@ -6,5 +6,5 @@ #target: x86_64-*-linux* #... - DYNAMIC 0x000190 0x0000000000200190 0x0000000000200190 0x0000b0 0x0000b0 RW 0x8 + DYNAMIC 0x000118 0x0000000000200118 0x0000000000200118 0x0000b0 0x0000b0 RW 0x8 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr20253-1f.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr20253-1f.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr20253-1f.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr20253-1f.d 2018-06-13 10:31:39.000000000 +0200 @@ -9,17 +9,17 @@ Disassembly of section .text: -0+1f8 : +0+188 : +[a-f0-9]+: c3 retq -0+1f9 : +0+189 : +[a-f0-9]+: c3 retq -0+1fa <_start>: - +[a-f0-9]+: ff 15 08 01 20 00 callq \*0x200108\(%rip\) # 200308 <.*> - +[a-f0-9]+: ff 25 0a 01 20 00 jmpq \*0x20010a\(%rip\) # 200310 <.*> - +[a-f0-9]+: 48 c7 05 ff 00 20 00 00 00 00 00 movq \$0x0,0x2000ff\(%rip\) # 200310 <.*> - +[a-f0-9]+: 48 83 3d ef 00 20 00 00 cmpq \$0x0,0x2000ef\(%rip\) # 200308 <.*> - +[a-f0-9]+: 48 3b 0d e8 00 20 00 cmp 0x2000e8\(%rip\),%rcx # 200308 <.*> - +[a-f0-9]+: 48 3b 0d e9 00 20 00 cmp 0x2000e9\(%rip\),%rcx # 200310 <.*> +0+18a <_start>: + +[a-f0-9]+: ff 15 08 01 20 00 callq \*0x200108\(%rip\) # 200298 <.*> + +[a-f0-9]+: ff 25 0a 01 20 00 jmpq \*0x20010a\(%rip\) # 2002a0 <.*> + +[a-f0-9]+: 48 c7 05 ff 00 20 00 00 00 00 00 movq \$0x0,0x2000ff\(%rip\) # 2002a0 <.*> + +[a-f0-9]+: 48 83 3d ef 00 20 00 00 cmpq \$0x0,0x2000ef\(%rip\) # 200298 <.*> + +[a-f0-9]+: 48 3b 0d e8 00 20 00 cmp 0x2000e8\(%rip\),%rcx # 200298 <.*> + +[a-f0-9]+: 48 3b 0d e9 00 20 00 cmp 0x2000e9\(%rip\),%rcx # 2002a0 <.*> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr20253-1l.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr20253-1l.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr20253-1l.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr20253-1l.d 2018-06-13 10:31:39.000000000 +0200 @@ -9,17 +9,17 @@ Disassembly of section .text: -0+158 : +0+100 : +[a-f0-9]+: c3 retq -0+159 : +0+101 : +[a-f0-9]+: c3 retq -0+15a <_start>: - +[a-f0-9]+: ff 15 98 00 20 00 callq \*0x200098\(%rip\) # 2001f8 <.*> - +[a-f0-9]+: ff 25 9a 00 20 00 jmpq \*0x20009a\(%rip\) # 200200 <.*> - +[a-f0-9]+: 48 c7 05 8f 00 20 00 00 00 00 00 movq \$0x0,0x20008f\(%rip\) # 200200 <.*> - +[a-f0-9]+: 48 83 3d 7f 00 20 00 00 cmpq \$0x0,0x20007f\(%rip\) # 2001f8 <.*> - +[a-f0-9]+: 48 3b 0d 78 00 20 00 cmp 0x200078\(%rip\),%rcx # 2001f8 <.*> - +[a-f0-9]+: 48 3b 0d 79 00 20 00 cmp 0x200079\(%rip\),%rcx # 200200 <.*> +0+102 <_start>: + +[a-f0-9]+: ff 15 98 00 20 00 callq \*0x200098\(%rip\) # 2001a0 <.*> + +[a-f0-9]+: ff 25 9a 00 20 00 jmpq \*0x20009a\(%rip\) # 2001a8 <.*> + +[a-f0-9]+: 48 c7 05 8f 00 20 00 00 00 00 00 movq \$0x0,0x20008f\(%rip\) # 2001a8 <.*> + +[a-f0-9]+: 48 83 3d 7f 00 20 00 00 cmpq \$0x0,0x20007f\(%rip\) # 2001a0 <.*> + +[a-f0-9]+: 48 3b 0d 78 00 20 00 cmp 0x200078\(%rip\),%rcx # 2001a0 <.*> + +[a-f0-9]+: 48 3b 0d 79 00 20 00 cmp 0x200079\(%rip\),%rcx # 2001a8 <.*> #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr20830a.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr20830a.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr20830a.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr20830a.d 2018-06-13 10:31:39.000000000 +0200 @@ -21,7 +21,7 @@ DW_CFA_nop DW_CFA_nop -0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244 +0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -30,18 +30,18 @@ DW_CFA_nop DW_CFA_nop -0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000230 +0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001c0 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 0000000000000226 + DW_CFA_advance_loc: 6 to 00000000000001b6 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 0000000000000230 + DW_CFA_advance_loc: 10 to 00000000000001c0 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000230..0000000000000238 +0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001c0..00000000000001c8 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -49,20 +49,20 @@ Disassembly of section .plt: -0+220 <.plt>: - +[a-f0-9]+: ff 35 e2 0d 20 00 pushq 0x200de2\(%rip\) # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: ff 25 e4 0d 20 00 jmpq \*0x200de4\(%rip\) # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+1b0 <.plt>: + +[a-f0-9]+: ff 35 52 0e 20 00 pushq 0x200e52\(%rip\) # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: ff 25 54 0e 20 00 jmpq \*0x200e54\(%rip\) # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) Disassembly of section .plt.got: -0+230 : - +[a-f0-9]+: ff 25 c2 0d 20 00 jmpq \*0x200dc2\(%rip\) # 200ff8 +0+1c0 : + +[a-f0-9]+: ff 25 32 0e 20 00 jmpq \*0x200e32\(%rip\) # 200ff8 +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .text: -0+238 : - +[a-f0-9]+: e8 f3 ff ff ff callq 230 - +[a-f0-9]+: 48 8b 05 b4 0d 20 00 mov 0x200db4\(%rip\),%rax # 200ff8 +0+1c8 : + +[a-f0-9]+: e8 f3 ff ff ff callq 1c0 + +[a-f0-9]+: 48 8b 05 24 0e 20 00 mov 0x200e24\(%rip\),%rax # 200ff8 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr20830a-now.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr20830a-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr20830a-now.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr20830a-now.d 2018-06-13 10:31:39.000000000 +0200 @@ -21,7 +21,7 @@ DW_CFA_nop DW_CFA_nop -0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244 +0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -30,18 +30,18 @@ DW_CFA_nop DW_CFA_nop -0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000230 +0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001c0 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 0000000000000226 + DW_CFA_advance_loc: 6 to 00000000000001b6 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 0000000000000230 + DW_CFA_advance_loc: 10 to 00000000000001c0 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000230..0000000000000238 +0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001c0..00000000000001c8 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -49,20 +49,20 @@ Disassembly of section .plt: -0+220 <.plt>: - +[a-f0-9]+: ff 35 c2 0d 20 00 pushq 0x200dc2\(%rip\) # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: ff 25 c4 0d 20 00 jmpq \*0x200dc4\(%rip\) # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+1b0 <.plt>: + +[a-f0-9]+: ff 35 32 0e 20 00 pushq 0x200e32\(%rip\) # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: ff 25 34 0e 20 00 jmpq \*0x200e34\(%rip\) # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) Disassembly of section .plt.got: -0+230 : - +[a-f0-9]+: ff 25 c2 0d 20 00 jmpq \*0x200dc2\(%rip\) # 200ff8 +0+1c0 : + +[a-f0-9]+: ff 25 32 0e 20 00 jmpq \*0x200e32\(%rip\) # 200ff8 +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .text: -0+238 : - +[a-f0-9]+: e8 f3 ff ff ff callq 230 - +[a-f0-9]+: 48 8b 05 b4 0d 20 00 mov 0x200db4\(%rip\),%rax # 200ff8 +0+1c8 : + +[a-f0-9]+: e8 f3 ff ff ff callq 1c0 + +[a-f0-9]+: 48 8b 05 24 0e 20 00 mov 0x200e24\(%rip\),%rax # 200ff8 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr20830b.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr20830b.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr20830b.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr20830b.d 2018-06-13 10:31:39.000000000 +0200 @@ -21,19 +21,19 @@ DW_CFA_nop DW_CFA_nop -0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000188..0000000000000194 +0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000138..0000000000000144 DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+2c 0000000000000020 00000030 FDE cie=00000000 pc=0000000000000170..0000000000000180 +0+2c 0000000000000020 00000030 FDE cie=00000000 pc=0000000000000120..0000000000000130 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 0000000000000176 + DW_CFA_advance_loc: 6 to 0000000000000126 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 0000000000000180 + DW_CFA_advance_loc: 10 to 0000000000000130 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) -0+50 0000000000000010 00000054 FDE cie=00000000 pc=0000000000000180..0000000000000188 +0+50 0000000000000010 00000054 FDE cie=00000000 pc=0000000000000130..0000000000000138 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -41,20 +41,20 @@ Disassembly of section .plt: -0+170 <.plt>: - +[a-f0-9]+: ff 35 92 0e 20 00 pushq 0x200e92\(%rip\) # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: ff 25 94 0e 20 00 jmpq \*0x200e94\(%rip\) # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+120 <.plt>: + +[a-f0-9]+: ff 35 e2 0e 20 00 pushq 0x200ee2\(%rip\) # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: ff 25 e4 0e 20 00 jmpq \*0x200ee4\(%rip\) # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) Disassembly of section .plt.got: -0+180 : - +[a-f0-9]+: ff 25 72 0e 20 00 jmpq \*0x200e72\(%rip\) # 200ff8 +0+130 : + +[a-f0-9]+: ff 25 c2 0e 20 00 jmpq \*0x200ec2\(%rip\) # 200ff8 +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .text: -0+188 : - +[a-f0-9]+: e8 f3 ff ff ff callq 180 - +[a-f0-9]+: 48 8b 05 64 0e 20 00 mov 0x200e64\(%rip\),%rax # 200ff8 +0+138 : + +[a-f0-9]+: e8 f3 ff ff ff callq 130 + +[a-f0-9]+: 48 8b 05 b4 0e 20 00 mov 0x200eb4\(%rip\),%rax # 200ff8 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr20830b-now.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr20830b-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr20830b-now.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr20830b-now.d 2018-06-13 10:31:39.000000000 +0200 @@ -21,19 +21,19 @@ DW_CFA_nop DW_CFA_nop -0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000188..0000000000000194 +0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000138..0000000000000144 DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+2c 0000000000000020 00000030 FDE cie=00000000 pc=0000000000000170..0000000000000180 +0+2c 0000000000000020 00000030 FDE cie=00000000 pc=0000000000000120..0000000000000130 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 0000000000000176 + DW_CFA_advance_loc: 6 to 0000000000000126 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 0000000000000180 + DW_CFA_advance_loc: 10 to 0000000000000130 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) -0+50 0000000000000010 00000054 FDE cie=00000000 pc=0000000000000180..0000000000000188 +0+50 0000000000000010 00000054 FDE cie=00000000 pc=0000000000000130..0000000000000138 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -41,20 +41,20 @@ Disassembly of section .plt: -0+170 <.plt>: - +[a-f0-9]+: ff 35 72 0e 20 00 pushq 0x200e72\(%rip\) # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: ff 25 74 0e 20 00 jmpq \*0x200e74\(%rip\) # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+120 <.plt>: + +[a-f0-9]+: ff 35 c2 0e 20 00 pushq 0x200ec2\(%rip\) # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: ff 25 c4 0e 20 00 jmpq \*0x200ec4\(%rip\) # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) Disassembly of section .plt.got: -0+180 : - +[a-f0-9]+: ff 25 72 0e 20 00 jmpq \*0x200e72\(%rip\) # 200ff8 +0+130 : + +[a-f0-9]+: ff 25 c2 0e 20 00 jmpq \*0x200ec2\(%rip\) # 200ff8 +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .text: -0+188 : - +[a-f0-9]+: e8 f3 ff ff ff callq 180 - +[a-f0-9]+: 48 8b 05 64 0e 20 00 mov 0x200e64\(%rip\),%rax # 200ff8 +0+138 : + +[a-f0-9]+: e8 f3 ff ff ff callq 130 + +[a-f0-9]+: 48 8b 05 b4 0e 20 00 mov 0x200eb4\(%rip\),%rax # 200ff8 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr21038a.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr21038a.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr21038a.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr21038a.d 2018-06-13 10:31:39.000000000 +0200 @@ -20,7 +20,7 @@ DW_CFA_nop DW_CFA_nop -0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244 +0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -29,18 +29,18 @@ DW_CFA_nop DW_CFA_nop -0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000230 +0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001c0 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 0000000000000226 + DW_CFA_advance_loc: 6 to 00000000000001b6 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 0000000000000230 + DW_CFA_advance_loc: 10 to 00000000000001c0 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000230..0000000000000238 +0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001c0..00000000000001c8 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -48,20 +48,20 @@ Disassembly of section .plt: -0+220 <.plt>: - +[a-f0-9]+: ff 35 e2 0d 20 00 pushq 0x200de2\(%rip\) # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 e3 0d 20 00 bnd jmpq \*0x200de3\(%rip\) # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+1b0 <.plt>: + +[a-f0-9]+: ff 35 52 0e 20 00 pushq 0x200e52\(%rip\) # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 53 0e 20 00 bnd jmpq \*0x200e53\(%rip\) # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) Disassembly of section .plt.got: -0+230 : - +[a-f0-9]+: f2 ff 25 c1 0d 20 00 bnd jmpq \*0x200dc1\(%rip\) # 200ff8 +0+1c0 : + +[a-f0-9]+: f2 ff 25 31 0e 20 00 bnd jmpq \*0x200e31\(%rip\) # 200ff8 +[a-f0-9]+: 90 nop Disassembly of section .text: -0+238 : - +[a-f0-9]+: e8 f3 ff ff ff callq 230 - +[a-f0-9]+: 48 8b 05 b4 0d 20 00 mov 0x200db4\(%rip\),%rax # 200ff8 +0+1c8 : + +[a-f0-9]+: e8 f3 ff ff ff callq 1c0 + +[a-f0-9]+: 48 8b 05 24 0e 20 00 mov 0x200e24\(%rip\),%rax # 200ff8 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr21038a-now.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr21038a-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr21038a-now.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr21038a-now.d 2018-06-13 10:31:39.000000000 +0200 @@ -21,7 +21,7 @@ DW_CFA_nop DW_CFA_nop -0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244 +0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -30,18 +30,18 @@ DW_CFA_nop DW_CFA_nop -0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000230 +0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001c0 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 0000000000000226 + DW_CFA_advance_loc: 6 to 00000000000001b6 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 0000000000000230 + DW_CFA_advance_loc: 10 to 00000000000001c0 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000230..0000000000000238 +0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001c0..00000000000001c8 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -49,20 +49,20 @@ Disassembly of section .plt: -0+220 <.plt>: - +[a-f0-9]+: ff 35 c2 0d 20 00 pushq 0x200dc2\(%rip\) # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 c3 0d 20 00 bnd jmpq \*0x200dc3\(%rip\) # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+1b0 <.plt>: + +[a-f0-9]+: ff 35 32 0e 20 00 pushq 0x200e32\(%rip\) # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 33 0e 20 00 bnd jmpq \*0x200e33\(%rip\) # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) Disassembly of section .plt.got: -0+230 : - +[a-f0-9]+: f2 ff 25 c1 0d 20 00 bnd jmpq \*0x200dc1\(%rip\) # 200ff8 +0+1c0 : + +[a-f0-9]+: f2 ff 25 31 0e 20 00 bnd jmpq \*0x200e31\(%rip\) # 200ff8 +[a-f0-9]+: 90 nop Disassembly of section .text: -0+238 : - +[a-f0-9]+: e8 f3 ff ff ff callq 230 - +[a-f0-9]+: 48 8b 05 b4 0d 20 00 mov 0x200db4\(%rip\),%rax # 200ff8 +0+1c8 : + +[a-f0-9]+: e8 f3 ff ff ff callq 1c0 + +[a-f0-9]+: 48 8b 05 24 0e 20 00 mov 0x200e24\(%rip\),%rax # 200ff8 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr21038b.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr21038b.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr21038b.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr21038b.d 2018-06-13 10:31:39.000000000 +0200 @@ -20,7 +20,7 @@ DW_CFA_nop DW_CFA_nop -0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000248..000000000000024d +0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001d8..00000000000001dd DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -29,18 +29,18 @@ DW_CFA_nop DW_CFA_nop -0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000240 +0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001d0 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 0000000000000226 + DW_CFA_advance_loc: 6 to 00000000000001b6 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 0000000000000230 + DW_CFA_advance_loc: 10 to 00000000000001c0 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000240..0000000000000248 +0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001d0..00000000000001d8 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -48,22 +48,22 @@ Disassembly of section .plt: -0+220 <.plt>: - +[a-f0-9]+: ff 35 e2 0d 20 00 pushq 0x200de2\(%rip\) # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 e3 0d 20 00 bnd jmpq \*0x200de3\(%rip\) # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+1b0 <.plt>: + +[a-f0-9]+: ff 35 52 0e 20 00 pushq 0x200e52\(%rip\) # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 53 0e 20 00 bnd jmpq \*0x200e53\(%rip\) # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 220 <.plt> + +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 1b0 <.plt> +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .plt.sec: -0+240 : - +[a-f0-9]+: f2 ff 25 d1 0d 20 00 bnd jmpq \*0x200dd1\(%rip\) # 201018 +0+1d0 : + +[a-f0-9]+: f2 ff 25 41 0e 20 00 bnd jmpq \*0x200e41\(%rip\) # 201018 +[a-f0-9]+: 90 nop Disassembly of section .text: -0+248 : - +[a-f0-9]+: e8 f3 ff ff ff callq 240 +0+1d8 : + +[a-f0-9]+: e8 f3 ff ff ff callq 1d0 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr21038b-now.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr21038b-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr21038b-now.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr21038b-now.d 2018-06-13 10:31:39.000000000 +0200 @@ -21,7 +21,7 @@ DW_CFA_nop DW_CFA_nop -0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000248..000000000000024d +0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001d8..00000000000001dd DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -30,18 +30,18 @@ DW_CFA_nop DW_CFA_nop -0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000240 +0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001b0..00000000000001d0 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 0000000000000226 + DW_CFA_advance_loc: 6 to 00000000000001b6 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 0000000000000230 + DW_CFA_advance_loc: 10 to 00000000000001c0 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000240..0000000000000248 +0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000001d0..00000000000001d8 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -49,22 +49,22 @@ Disassembly of section .plt: -0+220 <.plt>: - +[a-f0-9]+: ff 35 c2 0d 20 00 pushq 0x200dc2\(%rip\) # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 c3 0d 20 00 bnd jmpq \*0x200dc3\(%rip\) # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+1b0 <.plt>: + +[a-f0-9]+: ff 35 32 0e 20 00 pushq 0x200e32\(%rip\) # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 33 0e 20 00 bnd jmpq \*0x200e33\(%rip\) # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 220 <.plt> + +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 1b0 <.plt> +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .plt.sec: -0+240 : - +[a-f0-9]+: f2 ff 25 b1 0d 20 00 bnd jmpq \*0x200db1\(%rip\) # 200ff8 +0+1d0 : + +[a-f0-9]+: f2 ff 25 21 0e 20 00 bnd jmpq \*0x200e21\(%rip\) # 200ff8 +[a-f0-9]+: 90 nop Disassembly of section .text: -0+248 : - +[a-f0-9]+: e8 f3 ff ff ff callq 240 +0+1d8 : + +[a-f0-9]+: e8 f3 ff ff ff callq 1d0 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr21038c.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr21038c.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr21038c.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr21038c.d 2018-06-13 10:31:39.000000000 +0200 @@ -20,7 +20,7 @@ DW_CFA_nop DW_CFA_nop -0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000290..00000000000002a1 +0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000220..0000000000000231 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -29,18 +29,18 @@ DW_CFA_nop DW_CFA_nop -0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000260..0000000000000280 +0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001f0..0000000000000210 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 0000000000000266 + DW_CFA_advance_loc: 6 to 00000000000001f6 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 0000000000000270 + DW_CFA_advance_loc: 10 to 0000000000000200 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+58 0000000000000014 0000005c FDE cie=00000000 pc=0000000000000280..0000000000000288 +0+58 0000000000000014 0000005c FDE cie=00000000 pc=0000000000000210..0000000000000218 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -49,7 +49,7 @@ DW_CFA_nop DW_CFA_nop -0+70 0000000000000010 00000074 FDE cie=00000000 pc=0000000000000288..0000000000000290 +0+70 0000000000000010 00000074 FDE cie=00000000 pc=0000000000000218..0000000000000220 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -57,30 +57,30 @@ Disassembly of section .plt: -0+260 <.plt>: - +[a-f0-9]+: ff 35 a2 0d 20 00 pushq 0x200da2\(%rip\) # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 a3 0d 20 00 bnd jmpq \*0x200da3\(%rip\) # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+1f0 <.plt>: + +[a-f0-9]+: ff 35 12 0e 20 00 pushq 0x200e12\(%rip\) # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 13 0e 20 00 bnd jmpq \*0x200e13\(%rip\) # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 260 <.plt> + +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 1f0 <.plt> +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .plt.got: -0+280 : - +[a-f0-9]+: f2 ff 25 71 0d 20 00 bnd jmpq \*0x200d71\(%rip\) # 200ff8 +0+210 : + +[a-f0-9]+: f2 ff 25 e1 0d 20 00 bnd jmpq \*0x200de1\(%rip\) # 200ff8 +[a-f0-9]+: 90 nop Disassembly of section .plt.sec: -0+288 : - +[a-f0-9]+: f2 ff 25 89 0d 20 00 bnd jmpq \*0x200d89\(%rip\) # 201018 +0+218 : + +[a-f0-9]+: f2 ff 25 f9 0d 20 00 bnd jmpq \*0x200df9\(%rip\) # 201018 +[a-f0-9]+: 90 nop Disassembly of section .text: -0+290 : - +[a-f0-9]+: e8 eb ff ff ff callq 280 - +[a-f0-9]+: e8 ee ff ff ff callq 288 - +[a-f0-9]+: 48 8b 05 57 0d 20 00 mov 0x200d57\(%rip\),%rax # 200ff8 +0+220 : + +[a-f0-9]+: e8 eb ff ff ff callq 210 + +[a-f0-9]+: e8 ee ff ff ff callq 218 + +[a-f0-9]+: 48 8b 05 c7 0d 20 00 mov 0x200dc7\(%rip\),%rax # 200ff8 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr21038c-now.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr21038c-now.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr21038c-now.d 2018-02-19 13:02:21.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr21038c-now.d 2018-06-13 10:31:39.000000000 +0200 @@ -21,7 +21,7 @@ DW_CFA_nop DW_CFA_nop -0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000290..00000000000002a1 +0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000220..0000000000000231 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -30,18 +30,18 @@ DW_CFA_nop DW_CFA_nop -0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000260..0000000000000280 +0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001f0..0000000000000210 DW_CFA_def_cfa_offset: 16 - DW_CFA_advance_loc: 6 to 0000000000000266 + DW_CFA_advance_loc: 6 to 00000000000001f6 DW_CFA_def_cfa_offset: 24 - DW_CFA_advance_loc: 10 to 0000000000000270 + DW_CFA_advance_loc: 10 to 0000000000000200 DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\) DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+58 0000000000000014 0000005c FDE cie=00000000 pc=0000000000000280..0000000000000288 +0+58 0000000000000014 0000005c FDE cie=00000000 pc=0000000000000210..0000000000000218 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -50,7 +50,7 @@ DW_CFA_nop DW_CFA_nop -0+70 0000000000000010 00000074 FDE cie=00000000 pc=0000000000000288..0000000000000290 +0+70 0000000000000010 00000074 FDE cie=00000000 pc=0000000000000218..0000000000000220 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -58,30 +58,30 @@ Disassembly of section .plt: -0+260 <.plt>: - +[a-f0-9]+: ff 35 7a 0d 20 00 pushq 0x200d7a\(%rip\) # 200fe0 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 7b 0d 20 00 bnd jmpq \*0x200d7b\(%rip\) # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x10> +0+1f0 <.plt>: + +[a-f0-9]+: ff 35 ea 0d 20 00 pushq 0x200dea\(%rip\) # 200fe0 <_GLOBAL_OFFSET_TABLE_\+0x8> + +[a-f0-9]+: f2 ff 25 eb 0d 20 00 bnd jmpq \*0x200deb\(%rip\) # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x10> +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) +[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 - +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 260 <.plt> + +[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 1f0 <.plt> +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) Disassembly of section .plt.got: -0+280 : - +[a-f0-9]+: f2 ff 25 71 0d 20 00 bnd jmpq \*0x200d71\(%rip\) # 200ff8 +0+210 : + +[a-f0-9]+: f2 ff 25 e1 0d 20 00 bnd jmpq \*0x200de1\(%rip\) # 200ff8 +[a-f0-9]+: 90 nop Disassembly of section .plt.sec: -0+288 : - +[a-f0-9]+: f2 ff 25 61 0d 20 00 bnd jmpq \*0x200d61\(%rip\) # 200ff0 +0+218 : + +[a-f0-9]+: f2 ff 25 d1 0d 20 00 bnd jmpq \*0x200dd1\(%rip\) # 200ff0 +[a-f0-9]+: 90 nop Disassembly of section .text: -0+290 : - +[a-f0-9]+: e8 eb ff ff ff callq 280 - +[a-f0-9]+: e8 ee ff ff ff callq 288 - +[a-f0-9]+: 48 8b 05 57 0d 20 00 mov 0x200d57\(%rip\),%rax # 200ff8 +0+220 : + +[a-f0-9]+: e8 eb ff ff ff callq 210 + +[a-f0-9]+: e8 ee ff ff ff callq 218 + +[a-f0-9]+: 48 8b 05 c7 0d 20 00 mov 0x200dc7\(%rip\),%rax # 200ff8 #pass diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr23189.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr23189.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr23189.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr23189.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,5 @@ +#as: --64 -mrelax-relocations=yes +#ld: -shared -melf_x86_64 -T pr23189.t +#readelf: -r --wide + +There are no relocations in this file. diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr23189.s binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr23189.s --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr23189.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr23189.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,5 @@ + .globl _start + .type _start, @function +_start: + movq __hidden_sym@GOTPCREL(%rip), %rax + .size _start, .-_start diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr23189.t binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr23189.t --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr23189.t 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr23189.t 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,11 @@ +EXTERN(_start) +ENTRY(_start) + +SECTIONS +{ + .text : + { + HIDDEN (__hidden_sym = .); + *(.text*) + } +} diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr23194.d binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr23194.d --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr23194.d 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr23194.d 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,7 @@ +#as: --64 -mrelax-relocations=yes +#ld: -shared -melf_x86_64 --version-script pr23194.map +#readelf: -r --wide + +Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry: + Offset Info Type Symbol's Value Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_GLOB_DAT +[0-9a-f]+ +foobar@@FOO \+ 0 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr23194.map binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr23194.map --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr23194.map 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr23194.map 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,7 @@ +FOO { + global: + bar; + foobar; + local: + *; +}; diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr23194.s binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr23194.s --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/pr23194.s 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/pr23194.s 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,13 @@ + .text + .symver foo,foo@FOO + .globl foo + .type foo, @function +foo: + movq foobar@GOTPCREL(%rip), %rax + .size foo, .-foo + .globl bar + .type bar, @function +bar: + jmp *foo@GOTPCREL(%rip) + .size bar, .-bar + .comm foobar,30,4 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd 2018-06-13 10:31:39.000000000 +0200 @@ -16,11 +16,11 @@ +\[[ 0-9]+\] .dynsym +.* +\[[ 0-9]+\] .dynstr +.* +\[[ 0-9]+\] .rela.dyn +.* - +\[[ 0-9]+\] .tdata +PROGBITS +0+100303b0 [0-9a-f]+ 0+60 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .tbss +NOBITS +0+10030410 [0-9a-f]+ 0+40 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10030410 [0-9a-f]+ 0+100 10 +WA +5 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+10030510 [0-9a-f]+ 0+28 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030538 [0-9a-f]+ 0+18 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .tdata +PROGBITS +0+10030348 [0-9a-f]+ 0+60 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .tbss +NOBITS +0+100303a8 [0-9a-f]+ 0+40 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100303a8 [0-9a-f]+ 0+100 10 +WA +5 +0 +8 + +\[[ 0-9]+\] .got +PROGBITS +0+100304a8 [0-9a-f]+ 0+28 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .got.plt +PROGBITS +0+100304d0 [0-9a-f]+ 0+18 08 +WA +0 +0 +8 +\[[ 0-9]+\] .symtab +.* +\[[ 0-9]+\] .strtab +.* +\[[ 0-9]+\] .shstrtab +.* @@ -37,10 +37,10 @@ +INTERP.* .*Requesting program interpreter.* +LOAD +0x0+10000 0x0+20000 0x0+20000 0x0+10000 0x0+10000 R E +0x10000 - +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+3b0 0x0+3b0 R +0x10000 - +LOAD +0x0+3b0 0x0+100303b0 0x0+100303b0 0x0+1a0 0x0+1a0 RW +0x10000 - +DYNAMIC +0x0+410 0x0+10030410 0x0+10030410 0x0+100 0x0+100 RW +0x8 - +TLS +0x0+3b0 0x0+100303b0 0x0+100303b0 0x0+60 0x0+a0 R +0x1 + +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+348 0x0+348 R +0x10000 + +LOAD +0x0+348 0x0+10030348 0x0+10030348 0x0+1a0 0x0+1a0 RW +0x10000 + +DYNAMIC +0x0+3a8 0x0+100303a8 0x0+100303a8 0x0+100 0x0+100 RW +0x8 + +TLS +0x0+348 0x0+10030348 0x0+10030348 0x0+60 0x0+a0 R +0x1 Section to Segment mapping: +Segment Sections... @@ -66,11 +66,8 @@ .* TLS +GLOBAL +DEFAULT +UND sG5 .* TLS +GLOBAL +DEFAULT +UND sG2 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr -.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* TLS +GLOBAL +DEFAULT +UND sG1 -.* NOTYPE +GLOBAL +DEFAULT +11 _edata -.* NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsbin2.rd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsbin2.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsbin2.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsbin2.rd 2018-06-13 10:31:39.000000000 +0200 @@ -64,11 +64,8 @@ .* TLS +GLOBAL +DEFAULT +UND sG5 .* TLS +GLOBAL +DEFAULT +UND sG2 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr -.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* TLS +GLOBAL +DEFAULT +UND sG1 -.* NOTYPE +GLOBAL +DEFAULT +11 _edata -.* NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd 2018-06-13 10:31:39.000000000 +0200 @@ -16,11 +16,11 @@ +\[[ 0-9]+\] .dynsym +.* +\[[ 0-9]+\] .dynstr +.* +\[[ 0-9]+\] .rela.dyn +.* - +\[[ 0-9]+\] .tdata +PROGBITS +0+10030370 0+370 0+60 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .tbss +NOBITS +0+100303d0 0+3d0 0+40 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100303d0 0+3d0 0+100 10 +WA +5 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+100304d0 0+4d0 0+20 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+100304f0 0+4f0 0+18 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .tdata +PROGBITS +0+10030300 0+300 0+60 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .tbss +NOBITS +0+10030360 0+360 0+40 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10030360 0+360 0+100 10 +WA +5 +0 +8 + +\[[ 0-9]+\] .got +PROGBITS +0+10030460 0+460 0+20 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030480 0+480 0+18 08 +WA +0 +0 +8 +\[[ 0-9]+\] .symtab +.* +\[[ 0-9]+\] .strtab +.* +\[[ 0-9]+\] .shstrtab +.* @@ -37,10 +37,10 @@ +INTERP.* .*Requesting program interpreter.* +LOAD +0x0+10000 0x0+20000 0x0+20000 0x0+10000 0x0+10000 R E 0x10000 - +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+370 0x0+370 R +0x10000 - +LOAD +0x0+370 0x0+10030370 0x0+10030370 0x0+198 0x0+198 RW +0x10000 - +DYNAMIC +0x0+3d0 0x0+100303d0 0x0+100303d0 0x0+100 0x0+100 RW +0x8 - +TLS +0x0+370 0x0+10030370 0x0+10030370 0x0+60 0x0+a0 R +0x1 + +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+300 0x0+300 R +0x10000 + +LOAD +0x0+300 0x0+10030300 0x0+10030300 0x0+198 0x0+198 RW +0x10000 + +DYNAMIC +0x0+360 0x0+10030360 0x0+10030360 0x0+100 0x0+100 RW +0x8 + +TLS +0x0+300 0x0+10030300 0x0+10030300 0x0+60 0x0+a0 R +0x1 Section to Segment mapping: +Segment Sections... @@ -54,21 +54,18 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -0+100304d0 +0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0 -0+100304d8 +0+200000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0 -0+100304e0 +0+400000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 -0+100304e8 +0+500000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0 +0+10030460 +0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0 +0+10030468 +0+200000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0 +0+10030470 +0+300000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 +0+10030478 +0+400000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0 Symbol table '\.dynsym' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 - +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata - +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -104,8 +101,8 @@ +[0-9]+: 0+9c +0 +TLS +LOCAL +DEFAULT +8 bl8 .* FILE +LOCAL +DEFAULT +ABS +[0-9]+: 0+a0 +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_ - +[0-9]+: 0+100303d0 +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC - +[0-9]+: 0+100304f0 +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+10030360 +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC + +[0-9]+: 0+10030480 +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +7 sg8 +[0-9]+: 0+7c +0 +TLS +GLOBAL +DEFAULT +8 bg8 +[0-9]+: 0+74 +0 +TLS +GLOBAL +DEFAULT +8 bg6 diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsbindesc.rd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsbindesc.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsbindesc.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsbindesc.rd 2018-06-13 10:31:39.000000000 +0200 @@ -54,19 +54,16 @@ +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend 0+601360 +0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0 0+601368 +0+200000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0 -0+601370 +0+400000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 -0+601378 +0+500000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0 +0+601370 +0+300000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 +0+601378 +0+400000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0 Symbol table '\.dynsym' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 - +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata - +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsbin-nacl.rd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsbin-nacl.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsbin-nacl.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsbin-nacl.rd 2018-06-13 10:31:39.000000000 +0200 @@ -18,11 +18,11 @@ +\[[ 0-9]+\] .dynstr +.* +\[[ 0-9]+\] .rela.dyn +.* +\[[ 0-9]+\] .rela.plt +.* - +\[[ 0-9]+\] .tdata +PROGBITS +0+100303b0 [0-9a-f]+ 0+60 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .tbss +NOBITS +0+10030410 [0-9a-f]+ 0+40 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10030410 [0-9a-f]+ 0+140 10 +WA +6 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+10030550 [0-9a-f]+ 0+20 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030570 [0-9a-f]+ 0+20 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .tdata +PROGBITS +0+10030348 [0-9a-f]+ 0+60 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .tbss +NOBITS +0+100303a8 [0-9a-f]+ 0+40 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100303a8 [0-9a-f]+ 0+140 10 +WA +6 +0 +8 + +\[[ 0-9]+\] .got +PROGBITS +0+100304e8 [0-9a-f]+ 0+20 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030508 [0-9a-f]+ 0+20 08 +WA +0 +0 +8 +\[[ 0-9]+\] .symtab +.* +\[[ 0-9]+\] .strtab +.* +\[[ 0-9]+\] .shstrtab +.* @@ -39,10 +39,10 @@ +INTERP.* .*Requesting program interpreter.* +LOAD +0x0+10000 0x0+20000 0x0+20000 0x0+10000 0x0+10000 R E +0x10000 - +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+3b0 0x0+3b0 R +0x10000 - +LOAD +0x0+3b0 0x0+100303b0 0x0+100303b0 0x0+1e0 0x0+1e0 RW +0x10000 - +DYNAMIC +0x0+410 0x0+10030410 0x0+10030410 0x0+140 0x0+140 RW +0x8 - +TLS +0x0+3b0 0x0+100303b0 0x0+100303b0 0x0+60 0x0+a0 R +0x1 + +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+348 0x0+348 R +0x10000 + +LOAD +0x0+348 0x0+10030348 0x0+10030348 0x0+1e0 0x0+1e0 RW +0x10000 + +DYNAMIC +0x0+3a8 0x0+100303a8 0x0+100303a8 0x0+140 0x0+140 RW +0x8 + +TLS +0x0+348 0x0+10030348 0x0+10030348 0x0+60 0x0+a0 R +0x1 Section to Segment mapping: +Segment Sections... @@ -71,11 +71,8 @@ .* TLS +GLOBAL +DEFAULT +UND sG5 .* TLS +GLOBAL +DEFAULT +UND sG2 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr -.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* TLS +GLOBAL +DEFAULT +UND sG1 -.* NOTYPE +GLOBAL +DEFAULT +13 _edata -.* NOTYPE +GLOBAL +DEFAULT +13 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsbin.rd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsbin.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsbin.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsbin.rd 2018-06-13 10:31:39.000000000 +0200 @@ -69,11 +69,8 @@ .* TLS +GLOBAL +DEFAULT +UND sG5 .* TLS +GLOBAL +DEFAULT +UND sG2 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr -.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* TLS +GLOBAL +DEFAULT +UND sG1 -.* NOTYPE +GLOBAL +DEFAULT +13 _edata -.* NOTYPE +GLOBAL +DEFAULT +13 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd 2018-06-13 10:31:39.000000000 +0200 @@ -17,11 +17,11 @@ +\[[ 0-9]+\] .dynstr +.* +\[[ 0-9]+\] .rela.dyn +.* +\[[ 0-9]+\] .rela.plt +.* - +\[[ 0-9]+\] .tdata +PROGBITS +0+10010450 [0-9a-f]+ +0+60 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .tbss +NOBITS +0+100104b0 [0-9a-f]+ 0+20 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100104b0 [0-9a-f]+ 0+150 10 +WA +5 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+10010600 [0-9a-f]+ 0+48 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+10010648 [0-9a-f]+ 0+68 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .tdata +PROGBITS +0+100103e8 [0-9a-f]+ +0+60 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .tbss +NOBITS +0+10010448 [0-9a-f]+ 0+20 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10010448 [0-9a-f]+ 0+150 10 +WA +5 +0 +8 + +\[[ 0-9]+\] .got +PROGBITS +0+10010598 [0-9a-f]+ 0+48 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .got.plt +PROGBITS +0+100105e0 [0-9a-f]+ 0+68 08 +WA +0 +0 +8 +\[[ 0-9]+\] .symtab +.* +\[[ 0-9]+\] .strtab +.* +\[[ 0-9]+\] .shstrtab +.* @@ -36,9 +36,9 @@ +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align +LOAD +0x[0-9a-f]+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000 +LOAD +0x[0-9a-f]+ 0x0+10000000 0x0+10000000 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x10000 - +LOAD +0x[0-9a-f]+ 0x0+10010450 0x0+10010450 0x0+260 0x0+260 RW +0x10000 - +DYNAMIC +0x[0-9a-f]+ 0x0+100104b0 0x0+100104b0 0x0+150 0x0+150 RW +0x8 - +TLS +0x[0-9a-f]+ 0x0+10010450 0x0+10010450 0x0+60 0x0+80 R +0x1 + +LOAD +0x[0-9a-f]+ 0x0+100103e8 0x0+100103e8 0x0+260 0x0+260 RW +0x10000 + +DYNAMIC +0x[0-9a-f]+ 0x0+10010448 0x0+10010448 0x0+150 0x0+150 RW +0x8 + +TLS +0x[0-9a-f]+ 0x0+100103e8 0x0+100103e8 0x0+60 0x0+80 R +0x1 Section to Segment mapping: +Segment Sections... @@ -60,7 +60,7 @@ 0x[0-9a-f]+ +\(PLTREL\).* 0x[0-9a-f]+ +\(JMPREL\).* 0x[0-9a-f]+ +\(TLSDESC_PLT\) +0x40 - 0x[0-9a-f]+ +\(TLSDESC_GOT\) +0x10010640 + 0x[0-9a-f]+ +\(TLSDESC_GOT\) +0x100105d8 0x[0-9a-f]+ +\(RELA\).* 0x[0-9a-f]+ +\(RELASZ\).* 0x[0-9a-f]+ +\(RELAENT\).* @@ -69,22 +69,22 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -0+10010600 +[0-9a-f]+ R_X86_64_TPOFF64 +24 -0+10010608 +[0-9a-f]+ R_X86_64_TPOFF64 +30 -0+10010610 +[0-9a-f]+ R_X86_64_TPOFF64 +64 -0+10010620 +[0-9a-f]+ R_X86_64_TPOFF64 +50 -0+10010628 +[0-9a-f]+ R_X86_64_TPOFF64 +70 -0+10010638 +[0-9a-f]+ R_X86_64_TPOFF64 +44 -0+10010618 +[0-9a-f]+ R_X86_64_TPOFF64 +0+10 sg5 \+ 0 -0+10010630 +[0-9a-f]+ R_X86_64_TPOFF64 +0+4 sg2 \+ 0 +0+10010598 +[0-9a-f]+ R_X86_64_TPOFF64 +24 +0+100105a0 +[0-9a-f]+ R_X86_64_TPOFF64 +30 +0+100105a8 +[0-9a-f]+ R_X86_64_TPOFF64 +64 +0+100105b8 +[0-9a-f]+ R_X86_64_TPOFF64 +50 +0+100105c0 +[0-9a-f]+ R_X86_64_TPOFF64 +70 +0+100105d0 +[0-9a-f]+ R_X86_64_TPOFF64 +44 +0+100105b0 +[0-9a-f]+ R_X86_64_TPOFF64 +0+10 sg5 \+ 0 +0+100105c8 +[0-9a-f]+ R_X86_64_TPOFF64 +0+4 sg2 \+ 0 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 5 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -0+10010690 +[0-9a-f]+ R_X86_64_TLSDESC +0+ sg1 \+ 0 -0+10010660 +[0-9a-f]+ R_X86_64_TLSDESC +20 -0+100106a0 +[0-9a-f]+ R_X86_64_TLSDESC +40 -0+10010670 +[0-9a-f]+ R_X86_64_TLSDESC +60 -0+10010680 +[0-9a-f]+ R_X86_64_TLSDESC +0 +0+10010628 +[0-9a-f]+ R_X86_64_TLSDESC +0+ sg1 \+ 0 +0+100105f8 +[0-9a-f]+ R_X86_64_TLSDESC +20 +0+10010638 +[0-9a-f]+ R_X86_64_TLSDESC +40 +0+10010608 +[0-9a-f]+ R_X86_64_TLSDESC +60 +0+10010618 +[0-9a-f]+ R_X86_64_TLSDESC +0 Symbol table '\.dynsym' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -95,12 +95,9 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +2 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -129,7 +126,7 @@ .* FILE +LOCAL +DEFAULT +ABS +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +9 sH1 +[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +8 _TLS_MODULE_BASE_ - +[0-9]+: 0+100104b0 +0 +OBJECT +LOCAL +DEFAULT +10 _DYNAMIC + +[0-9]+: 0+10010448 +0 +OBJECT +LOCAL +DEFAULT +10 _DYNAMIC +[0-9]+: 0+48 +0 +TLS +LOCAL +DEFAULT +8 sh3 +[0-9]+: 0+64 +0 +TLS +LOCAL +DEFAULT +9 sH2 +[0-9]+: 0+78 +0 +TLS +LOCAL +DEFAULT +9 sH7 @@ -143,7 +140,7 @@ +[0-9]+: 0+74 +0 +TLS +LOCAL +DEFAULT +9 sH6 +[0-9]+: 0+7c +0 +TLS +LOCAL +DEFAULT +9 sH8 +[0-9]+: 0+40 +0 +TLS +LOCAL +DEFAULT +8 sh1 - +[0-9]+: 0+10010648 +0 +OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+100105e0 +0 +OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+44 +0 +TLS +LOCAL +DEFAULT +8 sh2 +[0-9]+: 0+54 +0 +TLS +LOCAL +DEFAULT +8 sh6 +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +8 sg8 @@ -152,9 +149,6 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +2 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsdesc.rd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsdesc.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsdesc.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsdesc.rd 2018-06-13 10:31:39.000000000 +0200 @@ -15,7 +15,7 @@ +\[[ 0-9]+\] .dynstr +.* +\[[ 0-9]+\] .rela.dyn +.* +\[[ 0-9]+\] .rela.plt +.* - +\[[ 0-9]+\] .plt +PROGBITS +0+420 0+420 0+20 10 +AX +0 +0 +(4|16) + +\[[ 0-9]+\] .plt +PROGBITS +0+3b0 0+3b0 0+20 10 +AX +0 +0 +(4|16) +\[[ 0-9]+\] .text +PROGBITS +0+1000 0+1000 0+153 00 +AX +0 +0 4096 +\[[ 0-9]+\] .tdata +PROGBITS +0+201153 0+1153 0+60 00 WAT +0 +0 +1 +\[[ 0-9]+\] .tbss +NOBITS +0+2011b3 0+11b3 0+20 00 WAT +0 +0 +1 @@ -57,7 +57,7 @@ 0x[0-9a-f]+ +\(PLTRELSZ\).* 0x[0-9a-f]+ +\(PLTREL\).* 0x[0-9a-f]+ +\(JMPREL\).* - 0x[0-9a-f]+ +\(TLSDESC_PLT\) +0x430 + 0x[0-9a-f]+ +\(TLSDESC_PLT\) +0x3c0 0x[0-9a-f]+ +\(TLSDESC_GOT\) +0x201348 0x[0-9a-f]+ +\(RELA\).* 0x[0-9a-f]+ +\(RELASZ\).* @@ -93,12 +93,9 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +7 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -150,9 +147,6 @@ +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +7 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd 2018-06-13 10:31:39.000000000 +0200 @@ -50,14 +50,14 @@ [0-9a-f]+ +0+300000010 R_X86_64_DTPMOD64 +0+ sG2 \+ 0 [0-9a-f]+ +0+300000011 R_X86_64_DTPOFF64 +0+ sG2 \+ 0 [0-9a-f]+ +0+400000012 R_X86_64_TPOFF64 +0+ sG4 \+ 0 -[0-9a-f]+ +0+700000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 -[0-9a-f]+ +0+900000010 R_X86_64_DTPMOD64 +0+ sG1 \+ 0 -[0-9a-f]+ +0+900000011 R_X86_64_DTPOFF64 +0+ sG1 \+ 0 +[0-9a-f]+ +0+600000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 +[0-9a-f]+ +0+800000010 R_X86_64_DTPMOD64 +0+ sG1 \+ 0 +[0-9a-f]+ +0+800000011 R_X86_64_DTPOFF64 +0+ sG1 \+ 0 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 3 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend [0-9a-f]+ +0+500000007 R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0 -[0-9a-f]+ +0+900000024 R_X86_64_TLSDESC +0+ sG1 \+ 0 +[0-9a-f]+ +0+800000024 R_X86_64_TLSDESC +0+ sG1 \+ 0 [0-9a-f]+ +0+300000024 R_X86_64_TLSDESC +0+ sG2 \+ 0 Symbol table '\.dynsym' contains [0-9]+ entries: @@ -68,12 +68,9 @@ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -95,9 +92,6 @@ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsgdesc.rd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsgdesc.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlsgdesc.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlsgdesc.rd 2018-06-13 10:31:39.000000000 +0200 @@ -48,14 +48,14 @@ [0-9a-f]+ +0+300000010 R_X86_64_DTPMOD64 +0+ sG2 \+ 0 [0-9a-f]+ +0+300000011 R_X86_64_DTPOFF64 +0+ sG2 \+ 0 [0-9a-f]+ +0+400000012 R_X86_64_TPOFF64 +0+ sG4 \+ 0 -[0-9a-f]+ +0+700000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 -[0-9a-f]+ +0+900000010 R_X86_64_DTPMOD64 +0+ sG1 \+ 0 -[0-9a-f]+ +0+900000011 R_X86_64_DTPOFF64 +0+ sG1 \+ 0 +[0-9a-f]+ +0+600000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 +[0-9a-f]+ +0+800000010 R_X86_64_DTPMOD64 +0+ sG1 \+ 0 +[0-9a-f]+ +0+800000011 R_X86_64_DTPOFF64 +0+ sG1 \+ 0 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 3 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend [0-9a-f]+ +0+500000007 R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0 -[0-9a-f]+ +0+900000024 R_X86_64_TLSDESC +0+ sG1 \+ 0 +[0-9a-f]+ +0+800000024 R_X86_64_TLSDESC +0+ sG1 \+ 0 [0-9a-f]+ +0+300000024 R_X86_64_TLSDESC +0+ sG2 \+ 0 Symbol table '\.dynsym' contains [0-9]+ entries: @@ -66,12 +66,9 @@ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -93,9 +90,6 @@ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlspic2-nacl.rd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlspic2-nacl.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlspic2-nacl.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlspic2-nacl.rd 2018-06-13 10:31:39.000000000 +0200 @@ -17,11 +17,11 @@ +\[[ 0-9]+\] .dynstr +.* +\[[ 0-9]+\] .rela.dyn +.* +\[[ 0-9]+\] .rela.plt +.* - +\[[ 0-9]+\] .tdata +PROGBITS +0+100104c8 [0-9a-f]+ 0+60 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .tbss +NOBITS +0+10010528 [0-9a-f]+ 0+20 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10010528 [0-9a-f]+ 0+130 10 +WA +5 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+10010658 [0-9a-f]+ 0+98 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+100106f0 [0-9a-f]+ 0+20 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .tdata +PROGBITS +0+10010458 [0-9a-f]+ 0+60 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .tbss +NOBITS +0+100104b8 [0-9a-f]+ 0+20 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100104b8 [0-9a-f]+ 0+130 10 +WA +5 +0 +8 + +\[[ 0-9]+\] .got +PROGBITS +0+100105e8 [0-9a-f]+ 0+98 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .got.plt +PROGBITS +0+10010680 [0-9a-f]+ 0+20 08 +WA +0 +0 +8 +\[[ 0-9]+\] .symtab +.* +\[[ 0-9]+\] .strtab +.* +\[[ 0-9]+\] .shstrtab +.* @@ -35,10 +35,10 @@ Program Headers: +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align +LOAD +0x0+10000 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000 - +LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+4c8 0x0+4c8 R +0x10000 - +LOAD +0x0+4c8 0x0+100104c8 0x0+100104c8 0x0+248 0x0+248 RW +0x10000 - +DYNAMIC +0x0+528 0x0+10010528 0x0+10010528 0x0+130 0x0+130 RW +0x8 - +TLS +0x0+4c8 0x0+100104c8 0x0+100104c8 0x0+60 0x0+80 R +0x1 + +LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+458 0x0+458 R +0x10000 + +LOAD +0x0+458 0x0+10010458 0x0+10010458 0x0+248 0x0+248 RW +0x10000 + +DYNAMIC +0x0+4b8 0x0+100104b8 0x0+100104b8 0x0+130 0x0+130 RW +0x8 + +TLS +0x0+458 0x0+10010458 0x0+10010458 0x0+60 0x0+80 R +0x1 Section to Segment mapping: +Segment Sections... @@ -80,12 +80,9 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +2 fn1 -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -137,9 +134,6 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +2 fn1 -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlspic2.rd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlspic2.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlspic2.rd 2016-10-11 09:09:54.000000000 +0200 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlspic2.rd 2018-06-13 10:31:39.000000000 +0200 @@ -74,12 +74,9 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -131,9 +128,6 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlspic-nacl.rd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlspic-nacl.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlspic-nacl.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlspic-nacl.rd 2018-06-13 10:31:39.000000000 +0200 @@ -17,11 +17,11 @@ +\[[ 0-9]+\] .dynstr +.* +\[[ 0-9]+\] .rela.dyn +.* +\[[ 0-9]+\] .rela.plt +.* - +\[[ 0-9]+\] .tdata +PROGBITS +0+100104b0 [0-9a-f]+ 0+60 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .tbss +NOBITS +0+10010510 [0-9a-f]+ 0+20 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10010510 [0-9a-f]+ 0+130 10 +WA +5 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+10010640 [0-9a-f]+ 0+90 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+100106d0 [0-9a-f]+ 0+20 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .tdata +PROGBITS +0+10010440 [0-9a-f]+ 0+60 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .tbss +NOBITS +0+100104a0 [0-9a-f]+ 0+20 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100104a0 [0-9a-f]+ 0+130 10 +WA +5 +0 +8 + +\[[ 0-9]+\] .got +PROGBITS +0+100105d0 [0-9a-f]+ 0+90 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .got.plt +PROGBITS +0+10010660 [0-9a-f]+ 0+20 08 +WA +0 +0 +8 +\[[ 0-9]+\] .symtab +.* +\[[ 0-9]+\] .strtab +.* +\[[ 0-9]+\] .shstrtab +.* @@ -35,10 +35,10 @@ Program Headers: +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align +LOAD +0x0+10000 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000 - +LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+4b0 0x0+4b0 R +0x10000 - +LOAD +0x0+4b0 0x0+100104b0 0x0+100104b0 0x0+240 0x0+240 RW +0x10000 - +DYNAMIC +0x0+510 0x0+10010510 0x0+10010510 0x0+130 0x0+130 RW +0x8 - +TLS +0x0+4b0 0x0+100104b0 0x0+100104b0 0x0+60 0x0+80 R +0x1 + +LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+440 0x0+440 R +0x10000 + +LOAD +0x0+440 0x0+10010440 0x0+10010440 0x0+240 0x0+240 RW +0x10000 + +DYNAMIC +0x0+4a0 0x0+100104a0 0x0+100104a0 0x0+130 0x0+130 RW +0x8 + +TLS +0x0+440 0x0+10010440 0x0+10010440 0x0+60 0x0+80 R +0x1 Section to Segment mapping: +Segment Sections... @@ -79,12 +79,9 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +2 fn1 -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -136,9 +133,6 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +2 fn1 -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlspic.rd binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlspic.rd --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/tlspic.rd 2017-11-09 17:40:03.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/tlspic.rd 2018-06-13 10:31:39.000000000 +0200 @@ -77,12 +77,9 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -134,9 +131,6 @@ .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +12 _edata -.* NOTYPE +GLOBAL +DEFAULT +12 _end diff -Nru binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/x86-64.exp binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/x86-64.exp --- binutils-2.30.51.20180512/ld/testsuite/ld-x86-64/x86-64.exp 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/ld/testsuite/ld-x86-64/x86-64.exp 2018-06-04 21:27:35.000000000 +0200 @@ -395,6 +395,8 @@ run_dump_test "pr22135" run_dump_test "pr22782a" run_dump_test "pr22782b" +run_dump_test "pr23189" +run_dump_test "pr23194" if { ![istarget "x86_64-*-linux*"] && ![istarget "x86_64-*-nacl*"]} { return diff -Nru binutils-2.30.51.20180512/libiberty/argv.c binutils-2.30.52.20180613/libiberty/argv.c --- binutils-2.30.51.20180512/libiberty/argv.c 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/libiberty/argv.c 2018-06-04 21:27:35.000000000 +0200 @@ -455,6 +455,8 @@ file_argc = 0; while (file_argv[file_argc]) ++file_argc; + /* Free the original option's memory. */ + free ((*argvp)[i]); /* Now, insert FILE_ARGV into ARGV. The "+1" below handles the NULL terminator at the end of ARGV. */ *argvp = ((char **) diff -Nru binutils-2.30.51.20180512/libiberty/ChangeLog binutils-2.30.52.20180613/libiberty/ChangeLog --- binutils-2.30.51.20180512/libiberty/ChangeLog 2018-04-24 07:57:35.000000000 +0200 +++ binutils-2.30.52.20180613/libiberty/ChangeLog 2018-06-04 21:27:35.000000000 +0200 @@ -1,3 +1,17 @@ +2018-05-28 Bernd Edlinger + + * splay-tree.c (splay_tree_compare_strings, + splay_tree_delete_pointers): New utility functions. + +2018-05-10 Martin Liska + + PR bootstrap/64914 + * md5.c: Use strict alignment with UBSAN_BOOTSTRAP. + +2018-04-30 Daniel van Gerpen + + * argv.c (expandargv): Fix memory leak for copied argv. + 2018-04-13 Rainer Orth PR lto/81968 diff -Nru binutils-2.30.51.20180512/libiberty/md5.c binutils-2.30.52.20180613/libiberty/md5.c --- binutils-2.30.51.20180512/libiberty/md5.c 2018-01-10 16:50:57.000000000 +0100 +++ binutils-2.30.52.20180613/libiberty/md5.c 2018-06-04 21:27:35.000000000 +0200 @@ -231,7 +231,7 @@ /* Process available complete blocks. */ if (len > 64) { -#if !_STRING_ARCH_unaligned +#if !_STRING_ARCH_unaligned || defined UBSAN_BOOTSTRAP /* To check alignment gcc has an appropriate operator. Other compilers don't. */ # if __GNUC__ >= 2 diff -Nru binutils-2.30.51.20180512/libiberty/splay-tree.c binutils-2.30.52.20180613/libiberty/splay-tree.c --- binutils-2.30.51.20180512/libiberty/splay-tree.c 2018-01-10 16:50:57.000000000 +0100 +++ binutils-2.30.52.20180613/libiberty/splay-tree.c 2018-06-04 21:27:35.000000000 +0200 @@ -31,6 +31,9 @@ #ifdef HAVE_STDLIB_H #include #endif +#ifdef HAVE_STRING_H +#include +#endif #include @@ -590,3 +593,19 @@ else return 0; } + +/* Splay-tree comparison function, treating the keys as strings. */ + +int +splay_tree_compare_strings (splay_tree_key k1, splay_tree_key k2) +{ + return strcmp ((char *) k1, (char *) k2); +} + +/* Splay-tree delete function, simply using free. */ + +void +splay_tree_delete_pointers (splay_tree_value value) +{ + free ((void *) value); +} diff -Nru binutils-2.30.51.20180512/opcodes/aarch64-asm-2.c binutils-2.30.52.20180613/opcodes/aarch64-asm-2.c --- binutils-2.30.51.20180512/opcodes/aarch64-asm-2.c 2018-03-30 06:11:10.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/aarch64-asm-2.c 2018-05-16 15:49:14.000000000 +0200 @@ -579,10 +579,11 @@ return aarch64_opcode_table + value; } -const char* +bfd_boolean aarch64_insert_operand (const aarch64_operand *self, const aarch64_opnd_info *info, - aarch64_insn *code, const aarch64_inst *inst) + aarch64_insn *code, const aarch64_inst *inst, + aarch64_operand_error *errors) { /* Use the index as the key. */ int key = self - aarch64_operands; @@ -634,26 +635,26 @@ case 182: case 186: case 189: - return aarch64_ins_regno (self, info, code, inst); + return aarch64_ins_regno (self, info, code, inst, errors); case 13: - return aarch64_ins_reg_extended (self, info, code, inst); + return aarch64_ins_reg_extended (self, info, code, inst, errors); case 14: - return aarch64_ins_reg_shifted (self, info, code, inst); + return aarch64_ins_reg_shifted (self, info, code, inst, errors); case 19: - return aarch64_ins_ft (self, info, code, inst); + return aarch64_ins_ft (self, info, code, inst, errors); case 30: case 31: case 32: case 191: - return aarch64_ins_reglane (self, info, code, inst); + return aarch64_ins_reglane (self, info, code, inst, errors); case 33: - return aarch64_ins_reglist (self, info, code, inst); + return aarch64_ins_reglist (self, info, code, inst, errors); case 34: - return aarch64_ins_ldst_reglist (self, info, code, inst); + return aarch64_ins_ldst_reglist (self, info, code, inst, errors); case 35: - return aarch64_ins_ldst_reglist_r (self, info, code, inst); + return aarch64_ins_ldst_reglist_r (self, info, code, inst, errors); case 36: - return aarch64_ins_ldst_elemlist (self, info, code, inst); + return aarch64_ins_ldst_elemlist (self, info, code, inst, errors); case 37: case 38: case 39: @@ -686,85 +687,85 @@ case 171: case 172: case 173: - return aarch64_ins_imm (self, info, code, inst); + return aarch64_ins_imm (self, info, code, inst, errors); case 41: case 42: - return aarch64_ins_advsimd_imm_shift (self, info, code, inst); + return aarch64_ins_advsimd_imm_shift (self, info, code, inst, errors); case 43: case 44: case 45: - return aarch64_ins_advsimd_imm_modified (self, info, code, inst); + return aarch64_ins_advsimd_imm_modified (self, info, code, inst, errors); case 49: case 140: - return aarch64_ins_fpimm (self, info, code, inst); + return aarch64_ins_fpimm (self, info, code, inst, errors); case 64: case 147: - return aarch64_ins_limm (self, info, code, inst); + return aarch64_ins_limm (self, info, code, inst, errors); case 65: - return aarch64_ins_aimm (self, info, code, inst); + return aarch64_ins_aimm (self, info, code, inst, errors); case 66: - return aarch64_ins_imm_half (self, info, code, inst); + return aarch64_ins_imm_half (self, info, code, inst, errors); case 67: - return aarch64_ins_fbits (self, info, code, inst); + return aarch64_ins_fbits (self, info, code, inst, errors); case 69: case 70: case 145: - return aarch64_ins_imm_rotate2 (self, info, code, inst); + return aarch64_ins_imm_rotate2 (self, info, code, inst, errors); case 71: case 144: - return aarch64_ins_imm_rotate1 (self, info, code, inst); + return aarch64_ins_imm_rotate1 (self, info, code, inst, errors); case 72: case 73: - return aarch64_ins_cond (self, info, code, inst); + return aarch64_ins_cond (self, info, code, inst, errors); case 79: case 86: - return aarch64_ins_addr_simple (self, info, code, inst); + return aarch64_ins_addr_simple (self, info, code, inst, errors); case 80: - return aarch64_ins_addr_regoff (self, info, code, inst); + return aarch64_ins_addr_regoff (self, info, code, inst, errors); case 81: case 82: case 83: - return aarch64_ins_addr_simm (self, info, code, inst); + return aarch64_ins_addr_simm (self, info, code, inst, errors); case 84: - return aarch64_ins_addr_simm10 (self, info, code, inst); + return aarch64_ins_addr_simm10 (self, info, code, inst, errors); case 85: - return aarch64_ins_addr_uimm12 (self, info, code, inst); + return aarch64_ins_addr_uimm12 (self, info, code, inst, errors); case 87: - return aarch64_ins_addr_offset (self, info, code, inst); + return aarch64_ins_addr_offset (self, info, code, inst, errors); case 88: - return aarch64_ins_simd_addr_post (self, info, code, inst); + return aarch64_ins_simd_addr_post (self, info, code, inst, errors); case 89: - return aarch64_ins_sysreg (self, info, code, inst); + return aarch64_ins_sysreg (self, info, code, inst, errors); case 90: - return aarch64_ins_pstatefield (self, info, code, inst); + return aarch64_ins_pstatefield (self, info, code, inst, errors); case 91: case 92: case 93: case 94: - return aarch64_ins_sysins_op (self, info, code, inst); + return aarch64_ins_sysins_op (self, info, code, inst, errors); case 95: case 96: - return aarch64_ins_barrier (self, info, code, inst); + return aarch64_ins_barrier (self, info, code, inst, errors); case 97: - return aarch64_ins_prfop (self, info, code, inst); + return aarch64_ins_prfop (self, info, code, inst, errors); case 98: - return aarch64_ins_hint (self, info, code, inst); + return aarch64_ins_hint (self, info, code, inst, errors); case 99: - return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst); + return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors); case 100: case 101: case 102: case 103: - return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst); + return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors); case 104: - return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst); + return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors); case 105: - return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst); + return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors); case 106: case 107: case 108: case 109: - return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst); + return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors); case 110: case 111: case 112: @@ -778,7 +779,7 @@ case 120: case 121: case 122: - return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst); + return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors); case 123: case 124: case 125: @@ -787,49 +788,49 @@ case 128: case 129: case 130: - return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst); + return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors); case 131: case 132: case 133: case 134: - return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst); + return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors); case 135: - return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst); + return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors); case 136: - return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst); + return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors); case 137: - return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst); + return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors); case 138: - return aarch64_ins_sve_aimm (self, info, code, inst); + return aarch64_ins_sve_aimm (self, info, code, inst, errors); case 139: - return aarch64_ins_sve_asimm (self, info, code, inst); + return aarch64_ins_sve_asimm (self, info, code, inst, errors); case 141: - return aarch64_ins_sve_float_half_one (self, info, code, inst); + return aarch64_ins_sve_float_half_one (self, info, code, inst, errors); case 142: - return aarch64_ins_sve_float_half_two (self, info, code, inst); + return aarch64_ins_sve_float_half_two (self, info, code, inst, errors); case 143: - return aarch64_ins_sve_float_zero_one (self, info, code, inst); + return aarch64_ins_sve_float_zero_one (self, info, code, inst, errors); case 146: - return aarch64_ins_inv_limm (self, info, code, inst); + return aarch64_ins_inv_limm (self, info, code, inst, errors); case 148: - return aarch64_ins_sve_limm_mov (self, info, code, inst); + return aarch64_ins_sve_limm_mov (self, info, code, inst, errors); case 150: - return aarch64_ins_sve_scale (self, info, code, inst); + return aarch64_ins_sve_scale (self, info, code, inst, errors); case 162: case 163: - return aarch64_ins_sve_shlimm (self, info, code, inst); + return aarch64_ins_sve_shlimm (self, info, code, inst, errors); case 164: case 165: - return aarch64_ins_sve_shrimm (self, info, code, inst); + return aarch64_ins_sve_shrimm (self, info, code, inst, errors); case 183: case 184: case 185: - return aarch64_ins_sve_quad_index (self, info, code, inst); + return aarch64_ins_sve_quad_index (self, info, code, inst, errors); case 187: - return aarch64_ins_sve_index (self, info, code, inst); + return aarch64_ins_sve_index (self, info, code, inst, errors); case 188: case 190: - return aarch64_ins_sve_reglist (self, info, code, inst); + return aarch64_ins_sve_reglist (self, info, code, inst, errors); default: assert (0); abort (); } } diff -Nru binutils-2.30.51.20180512/opcodes/aarch64-asm.c binutils-2.30.52.20180613/opcodes/aarch64-asm.c --- binutils-2.30.51.20180512/opcodes/aarch64-asm.c 2018-01-05 03:08:29.000000000 +0100 +++ binutils-2.30.52.20180613/opcodes/aarch64-asm.c 2018-05-16 15:49:14.000000000 +0200 @@ -22,6 +22,7 @@ #include #include "libiberty.h" #include "aarch64-asm.h" +#include "opintl.h" /* Utilities. */ @@ -78,21 +79,23 @@ /* Operand inserters. */ /* Insert register number. */ -const char * +bfd_boolean aarch64_ins_regno (const aarch64_operand *self, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { insert_field (self->fields[0], code, info->reg.regno, 0); - return NULL; + return TRUE; } /* Insert register number, index and/or other data for SIMD register element operand, e.g. the last source operand in SQDMLAL , , .[]. */ -const char * +bfd_boolean aarch64_ins_reglane (const aarch64_operand *self, const aarch64_opnd_info *info, - aarch64_insn *code, const aarch64_inst *inst) + aarch64_insn *code, const aarch64_inst *inst, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { /* regno */ insert_field (self->fields[0], code, info->reglane.regno, inst->opcode->mask); @@ -173,28 +176,30 @@ assert (0); } } - return NULL; + return TRUE; } /* Insert regno and len field of a register list operand, e.g. Vn in TBL. */ -const char * +bfd_boolean aarch64_ins_reglist (const aarch64_operand *self, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { /* R */ insert_field (self->fields[0], code, info->reglist.first_regno, 0); /* len */ insert_field (FLD_len, code, info->reglist.num_regs - 1, 0); - return NULL; + return TRUE; } /* Insert Rt and opcode fields for a register list operand, e.g. Vt in AdvSIMD load/store instructions. */ -const char * +bfd_boolean aarch64_ins_ldst_reglist (const aarch64_operand *self ATTRIBUTE_UNUSED, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst) + const aarch64_inst *inst, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { aarch64_insn value = 0; /* Number of elements in each structure to be loaded/stored. */ @@ -229,15 +234,16 @@ } insert_field (FLD_opcode, code, value, 0); - return NULL; + return TRUE; } /* Insert Rt and S fields for a register list operand, e.g. Vt in AdvSIMD load single structure to all lanes instructions. */ -const char * +bfd_boolean aarch64_ins_ldst_reglist_r (const aarch64_operand *self ATTRIBUTE_UNUSED, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst) + const aarch64_inst *inst, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { aarch64_insn value; /* The opcode dependent area stores the number of elements in @@ -254,15 +260,16 @@ value = (aarch64_insn) 1; insert_field (FLD_S, code, value, 0); - return NULL; + return TRUE; } /* Insert Q, opcode<2:1>, S, size and Rt fields for a register element list operand e.g. Vt in AdvSIMD load/store single element instructions. */ -const char * +bfd_boolean aarch64_ins_ldst_elemlist (const aarch64_operand *self ATTRIBUTE_UNUSED, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { aarch64_field field = {0, 0}; aarch64_insn QSsize = 0; /* fields Q:S:size. */ @@ -302,16 +309,17 @@ gen_sub_field (FLD_asisdlso_opcode, 1, 2, &field); insert_field_2 (&field, code, opcodeh2, 0); - return NULL; + return TRUE; } /* Insert fields immh:immb and/or Q for e.g. the shift immediate in SSHR ., ., # or SSHR , , #. */ -const char * +bfd_boolean aarch64_ins_advsimd_imm_shift (const aarch64_operand *self ATTRIBUTE_UNUSED, const aarch64_opnd_info *info, - aarch64_insn *code, const aarch64_inst *inst) + aarch64_insn *code, const aarch64_inst *inst, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { unsigned val = aarch64_get_qualifier_standard_value (info->qualifier); aarch64_insn Q, imm; @@ -357,15 +365,16 @@ imm = info->imm.value + (8 << (unsigned)val); insert_fields (code, imm, 0, 2, FLD_immb, FLD_immh); - return NULL; + return TRUE; } /* Insert fields for e.g. the immediate operands in BFM , , #, #. */ -const char * +bfd_boolean aarch64_ins_imm (const aarch64_operand *self, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { int64_t imm; @@ -373,29 +382,32 @@ if (operand_need_shift_by_two (self)) imm >>= 2; insert_all_fields (self, code, imm); - return NULL; + return TRUE; } /* Insert immediate and its shift amount for e.g. the last operand in MOVZ , #{, LSL #}. */ -const char * +bfd_boolean aarch64_ins_imm_half (const aarch64_operand *self, const aarch64_opnd_info *info, - aarch64_insn *code, const aarch64_inst *inst) + aarch64_insn *code, const aarch64_inst *inst, + aarch64_operand_error *errors) { /* imm16 */ - aarch64_ins_imm (self, info, code, inst); + aarch64_ins_imm (self, info, code, inst, errors); /* hw */ insert_field (FLD_hw, code, info->shifter.amount >> 4, 0); - return NULL; + return TRUE; } /* Insert cmode and "a:b:c:d:e:f:g:h" fields for e.g. the last operand in MOVI ., # {, LSL #}. */ -const char * +bfd_boolean aarch64_ins_advsimd_imm_modified (const aarch64_operand *self ATTRIBUTE_UNUSED, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors + ATTRIBUTE_UNUSED) { enum aarch64_opnd_qualifier opnd0_qualifier = inst->operands[0].qualifier; uint64_t imm = info->imm.value; @@ -417,7 +429,7 @@ insert_fields (code, imm, 0, 2, FLD_defgh, FLD_abc); if (kind == AARCH64_MOD_NONE) - return NULL; + return TRUE; /* shift amount partially in cmode */ assert (kind == AARCH64_MOD_LSL || kind == AARCH64_MOD_MSL); @@ -429,7 +441,7 @@ /* For 8-bit move immediate, the optional LSL #0 does not require encoding. */ if (esize == 1) - return NULL; + return TRUE; amount >>= 3; if (esize == 4) gen_sub_field (FLD_cmode, 1, 2, &field); /* per word */ @@ -444,74 +456,80 @@ } insert_field_2 (&field, code, amount, 0); - return NULL; + return TRUE; } /* Insert fields for an 8-bit floating-point immediate. */ -const char * +bfd_boolean aarch64_ins_fpimm (const aarch64_operand *self, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { insert_all_fields (self, code, info->imm.value); - return NULL; + return TRUE; } /* Insert 1-bit rotation immediate (#90 or #270). */ -const char * +bfd_boolean aarch64_ins_imm_rotate1 (const aarch64_operand *self, const aarch64_opnd_info *info, - aarch64_insn *code, const aarch64_inst *inst) + aarch64_insn *code, const aarch64_inst *inst, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { uint64_t rot = (info->imm.value - 90) / 180; assert (rot < 2U); insert_field (self->fields[0], code, rot, inst->opcode->mask); - return NULL; + return TRUE; } /* Insert 2-bit rotation immediate (#0, #90, #180 or #270). */ -const char * +bfd_boolean aarch64_ins_imm_rotate2 (const aarch64_operand *self, const aarch64_opnd_info *info, - aarch64_insn *code, const aarch64_inst *inst) + aarch64_insn *code, const aarch64_inst *inst, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { uint64_t rot = info->imm.value / 90; assert (rot < 4U); insert_field (self->fields[0], code, rot, inst->opcode->mask); - return NULL; + return TRUE; } /* Insert # for the immediate operand in fp fix-point instructions, e.g. SCVTF
, , #. */ -const char * +bfd_boolean aarch64_ins_fbits (const aarch64_operand *self, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { insert_field (self->fields[0], code, 64 - info->imm.value, 0); - return NULL; + return TRUE; } /* Insert arithmetic immediate for e.g. the last operand in SUBS , , # {, }. */ -const char * +bfd_boolean aarch64_ins_aimm (const aarch64_operand *self, const aarch64_opnd_info *info, - aarch64_insn *code, const aarch64_inst *inst ATTRIBUTE_UNUSED) + aarch64_insn *code, const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { /* shift */ aarch64_insn value = info->shifter.amount ? 1 : 0; insert_field (self->fields[0], code, value, 0); /* imm12 (unsigned) */ insert_field (self->fields[1], code, info->imm.value, 0); - return NULL; + return TRUE; } /* Common routine shared by aarch64_ins{,_inv}_limm. INVERT_P says whether the operand should be inverted before encoding. */ -static const char * +static bfd_boolean aarch64_ins_limm_1 (const aarch64_operand *self, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst, bfd_boolean invert_p) + const aarch64_inst *inst, bfd_boolean invert_p, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { aarch64_insn value; uint64_t imm = info->imm.value; @@ -524,40 +542,43 @@ insert_fields (code, value, 0, 3, self->fields[2], self->fields[1], self->fields[0]); - return NULL; + return TRUE; } /* Insert logical/bitmask immediate for e.g. the last operand in ORR , , #. */ -const char * +bfd_boolean aarch64_ins_limm (const aarch64_operand *self, const aarch64_opnd_info *info, - aarch64_insn *code, const aarch64_inst *inst) + aarch64_insn *code, const aarch64_inst *inst, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { return aarch64_ins_limm_1 (self, info, code, inst, - inst->opcode->op == OP_BIC); + inst->opcode->op == OP_BIC, errors); } /* Insert a logical/bitmask immediate for the BIC alias of AND (etc.). */ -const char * +bfd_boolean aarch64_ins_inv_limm (const aarch64_operand *self, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst) + const aarch64_inst *inst, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { - return aarch64_ins_limm_1 (self, info, code, inst, TRUE); + return aarch64_ins_limm_1 (self, info, code, inst, TRUE, errors); } /* Encode Ft for e.g. STR , [, {, {}}] or LDP , , [], #. */ -const char * +bfd_boolean aarch64_ins_ft (const aarch64_operand *self, const aarch64_opnd_info *info, - aarch64_insn *code, const aarch64_inst *inst) + aarch64_insn *code, const aarch64_inst *inst, + aarch64_operand_error *errors) { aarch64_insn value = 0; assert (info->idx == 0); /* Rt */ - aarch64_ins_regno (self, info, code, inst); + aarch64_ins_regno (self, info, code, inst, errors); if (inst->opcode->iclass == ldstpair_indexed || inst->opcode->iclass == ldstnapair_offs || inst->opcode->iclass == ldstpair_off @@ -580,26 +601,28 @@ insert_fields (code, value, 0, 2, FLD_ldst_size, FLD_opc1); } - return NULL; + return TRUE; } /* Encode the address operand for e.g. STXRB , , [{,#0}]. */ -const char * +bfd_boolean aarch64_ins_addr_simple (const aarch64_operand *self ATTRIBUTE_UNUSED, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { /* Rn */ insert_field (FLD_Rn, code, info->addr.base_regno, 0); - return NULL; + return TRUE; } /* Encode the address operand for e.g. STR , [, {, {}}]. */ -const char * +bfd_boolean aarch64_ins_addr_regoff (const aarch64_operand *self ATTRIBUTE_UNUSED, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { aarch64_insn S; enum aarch64_modifier_kind kind = info->shifter.kind; @@ -624,15 +647,16 @@ S = info->shifter.operator_present && info->shifter.amount_present; insert_field (FLD_S, code, S, 0); - return NULL; + return TRUE; } /* Encode the address operand for e.g. stlur , [{, }]. */ -const char * +bfd_boolean aarch64_ins_addr_offset (const aarch64_operand *self ATTRIBUTE_UNUSED, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { /* Rn */ insert_field (self->fields[0], code, info->addr.base_regno, 0); @@ -647,15 +671,16 @@ assert (info->addr.preind == 1 && info->addr.postind == 0); insert_field (self->fields[2], code, 1, 0); } - return NULL; + return TRUE; } /* Encode the address operand for e.g. LDRSW , [, #]!. */ -const char * +bfd_boolean aarch64_ins_addr_simm (const aarch64_operand *self, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { int imm; @@ -679,15 +704,16 @@ insert_field (self->fields[1], code, 1, 0); } - return NULL; + return TRUE; } /* Encode the address operand for e.g. LDRAA , [{, #}]. */ -const char * +bfd_boolean aarch64_ins_addr_simm10 (const aarch64_operand *self, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { int imm; @@ -703,15 +729,16 @@ assert (info->addr.preind == 1 && info->addr.postind == 0); insert_field (self->fields[3], code, 1, 0); } - return NULL; + return TRUE; } /* Encode the address operand for e.g. LDRSW , [{, #}]. */ -const char * +bfd_boolean aarch64_ins_addr_uimm12 (const aarch64_operand *self, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { int shift = get_logsz (aarch64_get_qualifier_esize (info->qualifier)); @@ -719,15 +746,16 @@ insert_field (self->fields[0], code, info->addr.base_regno, 0); /* uimm12 */ insert_field (self->fields[1], code,info->addr.offset.imm >> shift, 0); - return NULL; + return TRUE; } /* Encode the address operand for e.g. LD1 {., ., .}, [], >. */ -const char * +bfd_boolean aarch64_ins_simd_addr_post (const aarch64_operand *self ATTRIBUTE_UNUSED, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { /* Rn */ insert_field (FLD_Rn, code, info->addr.base_regno, 0); @@ -736,100 +764,138 @@ insert_field (FLD_Rm, code, info->addr.offset.regno, 0); else insert_field (FLD_Rm, code, 0x1f, 0); - return NULL; + return TRUE; } /* Encode the condition operand for e.g. CSEL , , , . */ -const char * +bfd_boolean aarch64_ins_cond (const aarch64_operand *self ATTRIBUTE_UNUSED, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { /* cond */ insert_field (FLD_cond, code, info->cond->value, 0); - return NULL; + return TRUE; } /* Encode the system register operand for e.g. MRS , . */ -const char * +bfd_boolean aarch64_ins_sysreg (const aarch64_operand *self ATTRIBUTE_UNUSED, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst, + aarch64_operand_error *detail ATTRIBUTE_UNUSED) { + /* If a system instruction check if we have any restrictions on which + registers it can use. */ + if (inst->opcode->iclass == ic_system) + { + uint64_t opcode_flags + = inst->opcode->flags & (F_SYS_READ | F_SYS_WRITE); + uint32_t sysreg_flags + = info->sysreg.flags & (F_REG_READ | F_REG_WRITE); + + /* Check to see if it's read-only, else check if it's write only. + if it's both or unspecified don't care. */ + if (opcode_flags == F_SYS_READ + && sysreg_flags + && sysreg_flags != F_REG_READ) + { + detail->kind = AARCH64_OPDE_SYNTAX_ERROR; + detail->error = _("specified register cannot be read from"); + detail->index = info->idx; + detail->non_fatal = TRUE; + } + else if (opcode_flags == F_SYS_WRITE + && sysreg_flags + && sysreg_flags != F_REG_WRITE) + { + detail->kind = AARCH64_OPDE_SYNTAX_ERROR; + detail->error = _("specified register cannot be written to"); + detail->index = info->idx; + detail->non_fatal = TRUE; + } + } /* op0:op1:CRn:CRm:op2 */ - insert_fields (code, info->sysreg, inst->opcode->mask, 5, + insert_fields (code, info->sysreg.value, inst->opcode->mask, 5, FLD_op2, FLD_CRm, FLD_CRn, FLD_op1, FLD_op0); - return NULL; + return TRUE; } /* Encode the PSTATE field operand for e.g. MSR , #. */ -const char * +bfd_boolean aarch64_ins_pstatefield (const aarch64_operand *self ATTRIBUTE_UNUSED, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { /* op1:op2 */ insert_fields (code, info->pstatefield, inst->opcode->mask, 2, FLD_op2, FLD_op1); - return NULL; + return TRUE; } /* Encode the system instruction op operand for e.g. AT , . */ -const char * +bfd_boolean aarch64_ins_sysins_op (const aarch64_operand *self ATTRIBUTE_UNUSED, const aarch64_opnd_info *info, aarch64_insn *code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { /* op1:CRn:CRm:op2 */ insert_fields (code, info->sysins_op->value, inst->opcode->mask, 4, FLD_op2, FLD_CRm, FLD_CRn, FLD_op1); - return NULL; + return TRUE; } /* Encode the memory barrier option operand for e.g. DMB
, , #. */ -int +bfd_boolean aarch64_ext_fbits (const aarch64_operand *self ATTRIBUTE_UNUSED, aarch64_opnd_info *info, const aarch64_insn code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { info->imm.value = 64- extract_field (FLD_scale, code, 0); - return 1; + return TRUE; } /* Decode arithmetic immediate for e.g. SUBS , , # {, }. */ -int +bfd_boolean aarch64_ext_aimm (const aarch64_operand *self ATTRIBUTE_UNUSED, aarch64_opnd_info *info, const aarch64_insn code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { aarch64_insn value; @@ -781,18 +812,18 @@ /* shift */ value = extract_field (FLD_shift, code, 0); if (value >= 2) - return 0; + return FALSE; info->shifter.amount = value ? 12 : 0; /* imm12 (unsigned) */ info->imm.value = extract_field (FLD_imm12, code, 0); - return 1; + return TRUE; } /* Return true if VALUE is a valid logical immediate encoding, storing the decoded value in *RESULT if so. ESIZE is the number of bytes in the decoded immediate. */ -static int +static bfd_boolean decode_limm (uint32_t esize, aarch64_insn value, int64_t *result) { uint64_t imm, mask; @@ -820,7 +851,7 @@ case 0x30 ... 0x37: /* 110xxx */ simd_size = 8; S &= 0x7; break; case 0x38 ... 0x3b: /* 1110xx */ simd_size = 4; S &= 0x3; break; case 0x3c ... 0x3d: /* 11110x */ simd_size = 2; S &= 0x1; break; - default: return 0; + default: return FALSE; } mask = (1ull << simd_size) - 1; /* Top bits are IGNORED. */ @@ -828,11 +859,11 @@ } if (simd_size > esize * 8) - return 0; + return FALSE; /* NOTE: if S = simd_size - 1 we get 0xf..f which is rejected. */ if (S == simd_size - 1) - return 0; + return FALSE; /* S+1 consecutive bits to 1. */ /* NOTE: S can't be 63 due to detection above. */ imm = (1ull << (S + 1)) - 1; @@ -858,14 +889,15 @@ *result = imm & ~((uint64_t) -1 << (esize * 4) << (esize * 4)); - return 1; + return TRUE; } /* Decode a logical immediate for e.g. ORR , , #. */ -int +bfd_boolean aarch64_ext_limm (const aarch64_operand *self, aarch64_opnd_info *info, const aarch64_insn code, - const aarch64_inst *inst) + const aarch64_inst *inst, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { uint32_t esize; aarch64_insn value; @@ -877,23 +909,25 @@ } /* Decode a logical immediate for the BIC alias of AND (etc.). */ -int +bfd_boolean aarch64_ext_inv_limm (const aarch64_operand *self, aarch64_opnd_info *info, const aarch64_insn code, - const aarch64_inst *inst) + const aarch64_inst *inst, + aarch64_operand_error *errors) { - if (!aarch64_ext_limm (self, info, code, inst)) - return 0; + if (!aarch64_ext_limm (self, info, code, inst, errors)) + return FALSE; info->imm.value = ~info->imm.value; - return 1; + return TRUE; } /* Decode Ft for e.g. STR , [, {, {}}] or LDP , , [], #. */ -int +bfd_boolean aarch64_ext_ft (const aarch64_operand *self ATTRIBUTE_UNUSED, aarch64_opnd_info *info, - const aarch64_insn code, const aarch64_inst *inst) + const aarch64_insn code, const aarch64_inst *inst, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { aarch64_insn value; @@ -913,7 +947,7 @@ case 0: qualifier = AARCH64_OPND_QLF_S_S; break; case 1: qualifier = AARCH64_OPND_QLF_S_D; break; case 2: qualifier = AARCH64_OPND_QLF_S_Q; break; - default: return 0; + default: return FALSE; } info->qualifier = qualifier; } @@ -922,31 +956,33 @@ /* opc1:size */ value = extract_fields (code, 0, 2, FLD_opc1, FLD_ldst_size); if (value > 0x4) - return 0; + return FALSE; info->qualifier = get_sreg_qualifier_from_value (value); } - return 1; + return TRUE; } /* Decode the address operand for e.g. STXRB , , [{,#0}]. */ -int +bfd_boolean aarch64_ext_addr_simple (const aarch64_operand *self ATTRIBUTE_UNUSED, aarch64_opnd_info *info, aarch64_insn code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { /* Rn */ info->addr.base_regno = extract_field (FLD_Rn, code, 0); - return 1; + return TRUE; } /* Decode the address operand for e.g. stlur , [{, }]. */ -int +bfd_boolean aarch64_ext_addr_offset (const aarch64_operand *self ATTRIBUTE_UNUSED, aarch64_opnd_info *info, - aarch64_insn code, const aarch64_inst *inst) + aarch64_insn code, const aarch64_inst *inst, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { info->qualifier = get_expected_qualifier (inst, info->idx); @@ -960,15 +996,16 @@ info->addr.writeback = 1; info->addr.preind = 1; } - return 1; + return TRUE; } /* Decode the address operand for e.g. STR , [, {, {}}]. */ -int +bfd_boolean aarch64_ext_addr_regoff (const aarch64_operand *self ATTRIBUTE_UNUSED, aarch64_opnd_info *info, - aarch64_insn code, const aarch64_inst *inst) + aarch64_insn code, const aarch64_inst *inst, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { aarch64_insn S, value; @@ -1004,13 +1041,14 @@ info->shifter.amount_present = 1; } - return 1; + return TRUE; } /* Decode the address operand for e.g. LDRSW , [], #. */ -int +bfd_boolean aarch64_ext_addr_simm (const aarch64_operand *self, aarch64_opnd_info *info, - aarch64_insn code, const aarch64_inst *inst) + aarch64_insn code, const aarch64_inst *inst, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { aarch64_insn imm; info->qualifier = get_expected_qualifier (inst, info->idx); @@ -1039,14 +1077,15 @@ info->addr.postind = 1; } - return 1; + return TRUE; } /* Decode the address operand for e.g. LDRSW , [{, #}]. */ -int +bfd_boolean aarch64_ext_addr_uimm12 (const aarch64_operand *self, aarch64_opnd_info *info, aarch64_insn code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { int shift; info->qualifier = get_expected_qualifier (inst, info->idx); @@ -1055,14 +1094,15 @@ info->addr.base_regno = extract_field (self->fields[0], code, 0); /* uimm12 */ info->addr.offset.imm = extract_field (self->fields[1], code, 0) << shift; - return 1; + return TRUE; } /* Decode the address operand for e.g. LDRAA , [{, #}]. */ -int +bfd_boolean aarch64_ext_addr_simm10 (const aarch64_operand *self, aarch64_opnd_info *info, aarch64_insn code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { aarch64_insn imm; @@ -1076,15 +1116,16 @@ info->addr.writeback = 1; info->addr.preind = 1; } - return 1; + return TRUE; } /* Decode the address operand for e.g. LD1 {., ., .}, [], >. */ -int +bfd_boolean aarch64_ext_simd_addr_post (const aarch64_operand *self ATTRIBUTE_UNUSED, aarch64_opnd_info *info, - aarch64_insn code, const aarch64_inst *inst) + aarch64_insn code, const aarch64_inst *inst, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { /* The opcode dependent area stores the number of elements in each structure to be loaded/stored. */ @@ -1110,57 +1151,76 @@ info->addr.offset.is_reg = 1; info->addr.writeback = 1; - return 1; + return TRUE; } /* Decode the condition operand for e.g. CSEL , , , . */ -int +bfd_boolean aarch64_ext_cond (const aarch64_operand *self ATTRIBUTE_UNUSED, aarch64_opnd_info *info, - aarch64_insn code, const aarch64_inst *inst ATTRIBUTE_UNUSED) + aarch64_insn code, const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { aarch64_insn value; /* cond */ value = extract_field (FLD_cond, code, 0); info->cond = get_cond_from_value (value); - return 1; + return TRUE; } /* Decode the system register operand for e.g. MRS , . */ -int +bfd_boolean aarch64_ext_sysreg (const aarch64_operand *self ATTRIBUTE_UNUSED, aarch64_opnd_info *info, aarch64_insn code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { /* op0:op1:CRn:CRm:op2 */ - info->sysreg = extract_fields (code, 0, 5, FLD_op0, FLD_op1, FLD_CRn, - FLD_CRm, FLD_op2); - return 1; + info->sysreg.value = extract_fields (code, 0, 5, FLD_op0, FLD_op1, FLD_CRn, + FLD_CRm, FLD_op2); + info->sysreg.flags = 0; + + /* If a system instruction, check which restrictions should be on the register + value during decoding, these will be enforced then. */ + if (inst->opcode->iclass == ic_system) + { + /* Check to see if it's read-only, else check if it's write only. + if it's both or unspecified don't care. */ + if ((inst->opcode->flags & (F_SYS_READ | F_SYS_WRITE)) == F_SYS_READ) + info->sysreg.flags = F_REG_READ; + else if ((inst->opcode->flags & (F_SYS_READ | F_SYS_WRITE)) + == F_SYS_WRITE) + info->sysreg.flags = F_REG_WRITE; + } + + return TRUE; } /* Decode the PSTATE field operand for e.g. MSR , #. */ -int +bfd_boolean aarch64_ext_pstatefield (const aarch64_operand *self ATTRIBUTE_UNUSED, aarch64_opnd_info *info, aarch64_insn code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { int i; /* op1:op2 */ info->pstatefield = extract_fields (code, 0, 2, FLD_op1, FLD_op2); for (i = 0; aarch64_pstatefields[i].name != NULL; ++i) if (aarch64_pstatefields[i].value == (aarch64_insn)info->pstatefield) - return 1; + return TRUE; /* Reserved value in . */ - return 0; + return FALSE; } /* Decode the system instruction op operand for e.g. AT , . */ -int +bfd_boolean aarch64_ext_sysins_op (const aarch64_operand *self ATTRIBUTE_UNUSED, aarch64_opnd_info *info, aarch64_insn code, - const aarch64_inst *inst ATTRIBUTE_UNUSED) + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) { int i; aarch64_insn value; @@ -1176,7 +1236,7 @@ case AARCH64_OPND_SYSREG_DC: sysins_ops = aarch64_sys_regs_dc; break; case AARCH64_OPND_SYSREG_IC: sysins_ops = aarch64_sys_regs_ic; break; case AARCH64_OPND_SYSREG_TLBI: sysins_ops = aarch64_sys_regs_tlbi; break; - default: assert (0); return 0; + default: assert (0); return FALSE; } for (i = 0; sysins_ops[i].name != NULL; ++i) @@ -1187,46 +1247,49 @@ info->sysins_op->name, (unsigned)info->sysins_op->value, aarch64_sys_ins_reg_has_xt (info->sysins_op), i); - return 1; + return TRUE; } - return 0; + return FALSE; } /* Decode the memory barrier option operand for e.g. DMB
, . */ +#define QL_INT2FP_FMOV \ +{ \ + QLF2(S_S,W), \ + QLF2(S_D,X), \ +} + /* e.g. SCVTF , . */ #define QL_INT2FP_H \ { \ @@ -311,6 +318,13 @@ QLF2(X,S_S), \ } +/* e.g. FMOV , . */ +#define QL_FP2INT_FMOV \ +{ \ + QLF2(W,S_S), \ + QLF2(X,S_D), \ +} + /* e.g. FCVTNS , . */ #define QL_FP2INT_H \ { \ @@ -3038,9 +3052,9 @@ FF16_INSN ("fcvtas",0x1ee40000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF), __FP_INSN ("fcvtau",0x1e250000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF), FF16_INSN ("fcvtau",0x1ee50000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF), - __FP_INSN ("fmov", 0x1e260000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF), + __FP_INSN ("fmov", 0x1e260000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT_FMOV, F_FPTYPE | F_SF), FF16_INSN ("fmov", 0x1ee60000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF), - __FP_INSN ("fmov", 0x1e270000, 0x7f3ffc00, float2int, 0, OP2 (Fd, Rn), QL_INT2FP, F_FPTYPE | F_SF), + __FP_INSN ("fmov", 0x1e270000, 0x7f3ffc00, float2int, 0, OP2 (Fd, Rn), QL_INT2FP_FMOV, F_FPTYPE | F_SF), FF16_INSN ("fmov", 0x1ee70000, 0x7f3ffc00, float2int, OP2 (Fd, Rn), QL_INT2FP_H, F_FPTYPE | F_SF), __FP_INSN ("fcvtps",0x1e280000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF), FF16_INSN ("fcvtps",0x1ee80000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF), @@ -3452,7 +3466,7 @@ CORE_INSN ("adr", 0x10000000, 0x9f000000, pcreladdr, 0, OP2 (Rd, ADDR_PCREL21), QL_ADRP, 0), CORE_INSN ("adrp", 0x90000000, 0x9f000000, pcreladdr, 0, OP2 (Rd, ADDR_ADRP), QL_ADRP, 0), /* System. */ - CORE_INSN ("msr", 0xd500401f, 0xfff8f01f, ic_system, 0, OP2 (PSTATEFIELD, UIMM4), {}, 0), + CORE_INSN ("msr", 0xd500401f, 0xfff8f01f, ic_system, 0, OP2 (PSTATEFIELD, UIMM4), {}, F_SYS_WRITE), CORE_INSN ("hint",0xd503201f, 0xfffff01f, ic_system, 0, OP1 (UIMM7), {}, F_HAS_ALIAS), CORE_INSN ("nop", 0xd503201f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS), CORE_INSN ("csdb",0xd503229f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS), @@ -3477,9 +3491,9 @@ CORE_INSN ("dc", 0xd5080000, 0xfff80000, ic_system, 0, OP2 (SYSREG_DC, Rt), QL_SRC_X, F_ALIAS), CORE_INSN ("ic", 0xd5080000, 0xfff80000, ic_system, 0, OP2 (SYSREG_IC, Rt_SYS), QL_SRC_X, F_ALIAS | F_OPD1_OPT | F_DEFAULT (0x1F)), CORE_INSN ("tlbi",0xd5080000, 0xfff80000, ic_system, 0, OP2 (SYSREG_TLBI, Rt_SYS), QL_SRC_X, F_ALIAS | F_OPD1_OPT | F_DEFAULT (0x1F)), - CORE_INSN ("msr", 0xd5000000, 0xffe00000, ic_system, 0, OP2 (SYSREG, Rt), QL_SRC_X, 0), + CORE_INSN ("msr", 0xd5000000, 0xffe00000, ic_system, 0, OP2 (SYSREG, Rt), QL_SRC_X, F_SYS_WRITE), CORE_INSN ("sysl",0xd5280000, 0xfff80000, ic_system, 0, OP5 (Rt, UIMM3_OP1, CRn, CRm, UIMM3_OP2), QL_SYSL, 0), - CORE_INSN ("mrs", 0xd5200000, 0xffe00000, ic_system, 0, OP2 (Rt, SYSREG), QL_DST_X, 0), + CORE_INSN ("mrs", 0xd5200000, 0xffe00000, ic_system, 0, OP2 (Rt, SYSREG), QL_DST_X, F_SYS_READ), V8_3_INSN ("paciaz", 0xd503231f, 0xffffffff, ic_system, OP0 (), {}, F_ALIAS), V8_3_INSN ("paciasp", 0xd503233f, 0xffffffff, ic_system, OP0 (), {}, F_ALIAS), V8_3_INSN ("pacibz", 0xd503235f, 0xffffffff, ic_system, OP0 (), {}, F_ALIAS), @@ -4313,8 +4327,8 @@ /* SIMD Dot Product (optional in v8.2-A). */ DOT_INSN ("udot", 0x2e009400, 0xbf20fc00, dotproduct, OP3 (Vd, Vn, Vm), QL_V3DOT, F_SIZEQ), DOT_INSN ("sdot", 0xe009400, 0xbf20fc00, dotproduct, OP3 (Vd, Vn, Vm), QL_V3DOT, F_SIZEQ), - DOT_INSN ("udot", 0x2f00e000, 0xbf00f000, dotproduct, OP3 (Vd, Vn, Em), QL_V2DOT, F_SIZEQ), - DOT_INSN ("sdot", 0xf00e000, 0xbf00f000, dotproduct, OP3 (Vd, Vn, Em), QL_V2DOT, F_SIZEQ), + DOT_INSN ("udot", 0x2f00e000, 0xbf00f400, dotproduct, OP3 (Vd, Vn, Em), QL_V2DOT, F_SIZEQ), + DOT_INSN ("sdot", 0xf00e000, 0xbf00f400, dotproduct, OP3 (Vd, Vn, Em), QL_V2DOT, F_SIZEQ), /* Crypto SHA2 (optional in ARMv8.2-a). */ SHA2_INSN ("sha512h", 0xce608000, 0xffe0fc00, cryptosha2, OP3 (Fd, Fn, Vm), QL_SHA512UPT, 0), SHA2_INSN ("sha512h2", 0xce608400, 0xffe0fc00, cryptosha2, OP3 (Fd, Fn, Vm), QL_SHA512UPT, 0), diff -Nru binutils-2.30.51.20180512/opcodes/ChangeLog binutils-2.30.52.20180613/opcodes/ChangeLog --- binutils-2.30.51.20180512/opcodes/ChangeLog 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/ChangeLog 2018-06-13 10:31:39.000000000 +0200 @@ -1,3 +1,211 @@ +2018-06-08 Egeyar Bagcioglu + + PR 20319 + * aarch64-tbl.h: Introduce QL_INT2FP_FMOV and QL_FP2INT_FMOV. + (aarch64_opcode_table) : Use QL_INT2FP_FMOV and QL_FP2INT_FMOV. + +2018-06-06 Alan Modra + + * xtensa-dis.c (print_insn_xtensa): Init fmt and valid_insn after + setjmp. Move init for some other vars later too. + +2018-06-04 Max Filippov + + * xtensa-dis.c (bfd.h, elf/xtensa.h): New includes. + (dis_private): Add new fields for property section tracking. + (xtensa_coalesce_insn_tables, xtensa_find_table_entry) + (xtensa_instruction_fits): New functions. + (fetch_data): Bump minimal fetch size to 4. + (print_insn_xtensa): Make struct dis_private static. + Load and prepare property table on section change. + Don't disassemble literals. Don't disassemble instructions that + cross property table boundaries. + +2018-06-01 H.J. Lu + + * configure: Regenerated. + +2018-06-01 Jan Beulich + + * i386-opc.tbl (mov, movq): Fold to/from SReg* forms. + * i386-tbl.h: Re-generate. + +2018-06-01 Jan Beulich + + * i386-opc.tbl (sldt, str): Add NoRex64. + * i386-tbl.h: Re-generate. + +2018-06-01 Jan Beulich + + * i386-opc.tbl (invpcid): Add Oword. + * i386-tbl.h: Re-generate. + +2018-06-01 Alan Modra + + * sysdep.h (_bfd_error_handler): Don't declare. + * msp430-decode.opc: Include bfd.h. Don't include ansidecl.h here. + * rl78-decode.opc: Likewise. + * msp430-decode.c: Regenerate. + * rl78-decode.c: Regenerate. + +2018-05-30 Amit Pawar + + * i386-gen.c (cpu_flag_init): Add CPU_ZNVER2_FLAGS. + * i386-init.h : Regenerated. + +2018-05-25 Alan Modra + + * Makefile.in: Regenerate. + * po/POTFILES.in: Regenerate. + +2018-05-21 Peter Bergner + + * ppc-opc.c (insert_bat, extract_bat, insert_bba, extract_bba, + insert_rbs, extract_rbs, insert_xb6s, extract_xb6s): Delete functions. + (insert_bab, extract_bab, insert_btab, extract_btab, + insert_rsb, extract_rsb, insert_xab6, extract_xab6): New functions. + (BAT, BBA VBA RBS XB6S): Delete macros. + (BTAB, BAB, VAB, RAB, RSB, XAB6): New macros. + (BB, BD, RBX, XC6): Update for new macros. + (powerpc_opcodes) : Likewise. + * ppc-dis.c (print_insn_powerpc): Delete handling of fake operands. + +2018-05-18 John Darrington + + * Makefile.am: Add support for s12z architecture. + * configure.ac: Likewise. + * disassemble.c: Likewise. + * disassemble.h: Likewise. + * Makefile.in: Regenerate. + * configure: Regenerate. + * s12z-dis.c: New file. + * s12z.h: New file. + +2018-05-18 Alan Modra + + * nfp-dis.c: Don't #include libbfd.h. + (init_nfp3200_priv): Use bfd_get_section_contents. + (nit_nfp6000_mecsr_sec): Likewise. + +2018-05-17 Nick Clifton + + * po/zh_CN.po: Updated simplified Chinese translation. + +2018-05-16 Tamar Christina + + PR binutils/23109 + * aarch64-tbl.h (aarch64_opcode_table): Correct sdot and udot. + * aarch64-dis-2.c: Regenerate. + +2018-05-15 Tamar Christina + + PR binutils/21446 + * aarch64-asm.c (opintl.h): Include. + (aarch64_ins_sysreg): Enforce read/write constraints. + * aarch64-dis.c (aarch64_ext_sysreg): Likewise. + * aarch64-opc.h (F_DEPRECATED, F_ARCHEXT, F_HASXT): Moved here. + (F_REG_READ, F_REG_WRITE): New. + * aarch64-opc.c (aarch64_print_operand): Generate notes for + AARCH64_OPND_SYSREG. + (F_DEPRECATED, F_ARCHEXT, F_HASXT): Move to aarch64-opc.h. + (aarch64_sys_regs): Add constraints to currentel, midr_el1, ctr_el0, + mpidr_el1, revidr_el1, aidr_el1, dczid_el0, id_dfr0_el1, id_pfr0_el1, + id_pfr1_el1, id_afr0_el1, id_mmfr0_el1, id_mmfr1_el1, id_mmfr2_el1, + id_mmfr3_el1, id_mmfr4_el1, id_isar0_el1, id_isar1_el1, id_isar2_el1, + id_isar3_el1, id_isar4_el1, id_isar5_el1, mvfr0_el1, mvfr1_el1, + mvfr2_el1, ccsidr_el1, id_aa64pfr0_el1, id_aa64pfr1_el1, + id_aa64dfr0_el1, id_aa64dfr1_el1, id_aa64isar0_el1, id_aa64isar1_el1, + id_aa64mmfr0_el1, id_aa64mmfr1_el1, id_aa64mmfr2_el1, id_aa64afr0_el1, + id_aa64afr0_el1, id_aa64afr1_el1, id_aa64zfr0_el1, clidr_el1, + csselr_el1, vsesr_el2, erridr_el1, erxfr_el1, rvbar_el1, rvbar_el2, + rvbar_el3, isr_el1, tpidrro_el0, cntfrq_el0, cntpct_el0, cntvct_el0, + mdccsr_el0, dbgdtrrx_el0, dbgdtrtx_el0, osdtrrx_el1, osdtrtx_el1, + mdrar_el1, oslar_el1, oslsr_el1, dbgauthstatus_el1, pmbidr_el1, + pmsidr_el1, pmswinc_el0, pmceid0_el0, pmceid1_el0. + * aarch64-tbl.h (aarch64_opcode_table): Add constraints to + msr (F_SYS_WRITE), mrs (F_SYS_READ). + +2018-05-15 Tamar Christina + + PR binutils/21446 + * aarch64-dis.c (no_notes: New. + (parse_aarch64_dis_option): Support notes. + (aarch64_decode_insn, print_operands): Likewise. + (print_aarch64_disassembler_options): Document notes. + * aarch64-opc.c (aarch64_print_operand): Support notes. + +2018-05-15 Tamar Christina + + PR binutils/21446 + * aarch64-asm.h (aarch64_insert_operand, aarch64_##x): Return boolean + and take error struct. + * aarch64-asm.c (aarch64_ext_regno, aarch64_ins_reglane, + aarch64_ins_reglist, aarch64_ins_ldst_reglist, + aarch64_ins_ldst_reglist_r, aarch64_ins_ldst_elemlist, + aarch64_ins_advsimd_imm_shift, aarch64_ins_imm, aarch64_ins_imm_half, + aarch64_ins_advsimd_imm_modified, aarch64_ins_fpimm, + aarch64_ins_imm_rotate1, aarch64_ins_imm_rotate2, aarch64_ins_fbits, + aarch64_ins_aimm, aarch64_ins_limm_1, aarch64_ins_limm, + aarch64_ins_inv_limm, aarch64_ins_ft, aarch64_ins_addr_simple, + aarch64_ins_addr_regoff, aarch64_ins_addr_offset, aarch64_ins_addr_simm, + aarch64_ins_addr_simm10, aarch64_ins_addr_uimm12, + aarch64_ins_simd_addr_post, aarch64_ins_cond, aarch64_ins_sysreg, + aarch64_ins_pstatefield, aarch64_ins_sysins_op, aarch64_ins_barrier, + aarch64_ins_prfop, aarch64_ins_hint, aarch64_ins_reg_extended, + aarch64_ins_reg_shifted, aarch64_ins_sve_addr_ri_s4xvl, + aarch64_ins_sve_addr_ri_s6xvl, aarch64_ins_sve_addr_ri_s9xvl, + aarch64_ins_sve_addr_ri_s4, aarch64_ins_sve_addr_ri_u6, + aarch64_ins_sve_addr_rr_lsl, aarch64_ins_sve_addr_rz_xtw, + aarch64_ins_sve_addr_zi_u5, aarch64_ext_sve_addr_zz, + aarch64_ins_sve_addr_zz_lsl, aarch64_ins_sve_addr_zz_sxtw, + aarch64_ins_sve_addr_zz_uxtw, aarch64_ins_sve_aimm, + aarch64_ins_sve_asimm, aarch64_ins_sve_index, aarch64_ins_sve_limm_mov, + aarch64_ins_sve_quad_index, aarch64_ins_sve_reglist, + aarch64_ins_sve_scale, aarch64_ins_sve_shlimm, aarch64_ins_sve_shrimm, + aarch64_ins_sve_float_half_one, aarch64_ins_sve_float_half_two, + aarch64_ins_sve_float_zero_one, aarch64_opcode_encode): Likewise. + * aarch64-dis.h (aarch64_extract_operand, aarch64_##x): Likewise. + * aarch64-dis.c (aarch64_ext_regno, aarch64_ext_reglane, + aarch64_ext_reglist, aarch64_ext_ldst_reglist, + aarch64_ext_ldst_reglist_r, aarch64_ext_ldst_elemlist, + aarch64_ext_advsimd_imm_shift, aarch64_ext_imm, aarch64_ext_imm_half, + aarch64_ext_advsimd_imm_modified, aarch64_ext_fpimm, + aarch64_ext_imm_rotate1, aarch64_ext_imm_rotate2, aarch64_ext_fbits, + aarch64_ext_aimm, aarch64_ext_limm_1, aarch64_ext_limm, decode_limm, + aarch64_ext_inv_limm, aarch64_ext_ft, aarch64_ext_addr_simple, + aarch64_ext_addr_regoff, aarch64_ext_addr_offset, aarch64_ext_addr_simm, + aarch64_ext_addr_simm10, aarch64_ext_addr_uimm12, + aarch64_ext_simd_addr_post, aarch64_ext_cond, aarch64_ext_sysreg, + aarch64_ext_pstatefield, aarch64_ext_sysins_op, aarch64_ext_barrier, + aarch64_ext_prfop, aarch64_ext_hint, aarch64_ext_reg_extended, + aarch64_ext_reg_shifted, aarch64_ext_sve_addr_ri_s4xvl, + aarch64_ext_sve_addr_ri_s6xvl, aarch64_ext_sve_addr_ri_s9xvl, + aarch64_ext_sve_addr_ri_s4, aarch64_ext_sve_addr_ri_u6, + aarch64_ext_sve_addr_rr_lsl, aarch64_ext_sve_addr_rz_xtw, + aarch64_ext_sve_addr_zi_u5, aarch64_ext_sve_addr_zz, + aarch64_ext_sve_addr_zz_lsl, aarch64_ext_sve_addr_zz_sxtw, + aarch64_ext_sve_addr_zz_uxtw, aarch64_ext_sve_aimm, + aarch64_ext_sve_asimm, aarch64_ext_sve_index, aarch64_ext_sve_limm_mov, + aarch64_ext_sve_quad_index, aarch64_ext_sve_reglist, + aarch64_ext_sve_scale, aarch64_ext_sve_shlimm, aarch64_ext_sve_shrimm, + aarch64_ext_sve_float_half_one, aarch64_ext_sve_float_half_two, + aarch64_ext_sve_float_zero_one, aarch64_opcode_decode): Likewise. + (determine_disassembling_preference, aarch64_decode_insn, + print_insn_aarch64_word, print_insn_data): Take errors struct. + (print_insn_aarch64): Use errors. + * aarch64-asm-2.c: Regenerate. + * aarch64-dis-2.c: Regenerate. + * aarch64-gen.c (print_operand_inserter): Use errors and change type to + boolean in aarch64_insert_operan. + (print_operand_extractor): Likewise. + * aarch64-opc.c (aarch64_print_operand): Use sysreg struct. + +2018-05-15 Francois H. Theron + + * nfp-dis.c: Use uint64_t for instruction variables, not bfd_vma. + 2018-05-09 H.J. Lu * i386-opc.tbl: Remove Disp from movidir{i,64b}. diff -Nru binutils-2.30.51.20180512/opcodes/configure binutils-2.30.52.20180613/opcodes/configure --- binutils-2.30.51.20180512/opcodes/configure 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/configure 2018-06-04 21:27:35.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for opcodes 2.30.51. +# Generated by GNU Autoconf 2.64 for opcodes 2.30.52. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software @@ -556,8 +556,8 @@ # Identity of this package. PACKAGE_NAME='opcodes' PACKAGE_TARNAME='opcodes' -PACKAGE_VERSION='2.30.51' -PACKAGE_STRING='opcodes 2.30.51' +PACKAGE_VERSION='2.30.52' +PACKAGE_STRING='opcodes 2.30.52' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1322,7 +1322,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures opcodes 2.30.51 to adapt to many kinds of systems. +\`configure' configures opcodes 2.30.52 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1393,7 +1393,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of opcodes 2.30.51:";; + short | recursive ) echo "Configuration of opcodes 2.30.52:";; esac cat <<\_ACEOF @@ -1500,7 +1500,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -opcodes configure 2.30.51 +opcodes configure 2.30.52 generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -1910,7 +1910,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by opcodes $as_me 2.30.51, which was +It was created by opcodes $as_me 2.30.52, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -3719,7 +3719,7 @@ # Define the identity of the package. PACKAGE='opcodes' - VERSION='2.30.51' + VERSION='2.30.52' cat >>confdefs.h <<_ACEOF @@ -12659,6 +12659,7 @@ bfd_m68hc12_arch) ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;; bfd_m9s12x_arch) ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;; bfd_m9s12xg_arch) ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;; + bfd_s12z_arch) ta="$ta s12z-dis.lo m68hc11-opc.lo" ;; bfd_m68k_arch) ta="$ta m68k-dis.lo m68k-opc.lo" ;; bfd_mcore_arch) ta="$ta mcore-dis.lo" ;; bfd_mep_arch) ta="$ta mep-asm.lo mep-desc.lo mep-dis.lo mep-ibld.lo mep-opc.lo" using_cgen=yes ;; @@ -13286,7 +13287,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by opcodes $as_me 2.30.51, which was +This file was extended by opcodes $as_me 2.30.52, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13350,7 +13351,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -opcodes config.status 2.30.51 +opcodes config.status 2.30.52 configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff -Nru binutils-2.30.51.20180512/opcodes/configure.ac binutils-2.30.52.20180613/opcodes/configure.ac --- binutils-2.30.51.20180512/opcodes/configure.ac 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/configure.ac 2018-06-04 21:27:35.000000000 +0200 @@ -283,6 +283,7 @@ bfd_m68hc12_arch) ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;; bfd_m9s12x_arch) ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;; bfd_m9s12xg_arch) ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;; + bfd_s12z_arch) ta="$ta s12z-dis.lo m68hc11-opc.lo" ;; bfd_m68k_arch) ta="$ta m68k-dis.lo m68k-opc.lo" ;; bfd_mcore_arch) ta="$ta mcore-dis.lo" ;; bfd_mep_arch) ta="$ta mep-asm.lo mep-desc.lo mep-dis.lo mep-ibld.lo mep-opc.lo" using_cgen=yes ;; diff -Nru binutils-2.30.51.20180512/opcodes/disassemble.c binutils-2.30.52.20180613/opcodes/disassemble.c --- binutils-2.30.51.20180512/opcodes/disassemble.c 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/disassemble.c 2018-06-04 21:27:35.000000000 +0200 @@ -251,6 +251,11 @@ disassemble = print_insn_m9s12xg; break; #endif +#if defined(ARCH_s12z) + case bfd_arch_s12z: + disassemble = print_insn_s12z; + break; +#endif #ifdef ARCH_m68k case bfd_arch_m68k: disassemble = print_insn_m68k; diff -Nru binutils-2.30.51.20180512/opcodes/disassemble.h binutils-2.30.52.20180613/opcodes/disassemble.h --- binutils-2.30.51.20180512/opcodes/disassemble.h 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/disassemble.h 2018-06-04 21:27:35.000000000 +0200 @@ -61,6 +61,7 @@ extern int print_insn_m68hc12 (bfd_vma, disassemble_info *); extern int print_insn_m9s12x (bfd_vma, disassemble_info *); extern int print_insn_m9s12xg (bfd_vma, disassemble_info *); +extern int print_insn_s12z (bfd_vma, disassemble_info *); extern int print_insn_m68k (bfd_vma, disassemble_info *); extern int print_insn_mcore (bfd_vma, disassemble_info *); extern int print_insn_metag (bfd_vma, disassemble_info *); diff -Nru binutils-2.30.51.20180512/opcodes/i386-gen.c binutils-2.30.52.20180613/opcodes/i386-gen.c --- binutils-2.30.51.20180512/opcodes/i386-gen.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/i386-gen.c 2018-06-04 21:27:35.000000000 +0200 @@ -97,6 +97,8 @@ "CPU_BDVER3_FLAGS|CpuAVX2|CpuMovbe|CpuBMI2|CpuRdRnd|CpuMWAITX" }, { "CPU_ZNVER1_FLAGS", "CPU_GENERIC64_FLAGS|CpuFISTTP|CpuRdtscp|CpuCX16|CPU_AVX2_FLAGS|CpuSSE4A|CpuABM|CpuSVME|CpuAES|CpuPCLMUL|CpuLZCNT|CpuPRFCHW|CpuFMA|CpuBMI|CpuF16C|CpuXsaveopt|CpuFSGSBase|CpuMovbe|CpuBMI2|CpuRdRnd|CpuADX|CpuRdSeed|CpuSMAP|CpuSHA|CpuXSAVEC|CpuXSAVES|CpuClflushOpt|CpuCLZERO|CpuMWAITX" }, + { "CPU_ZNVER2_FLAGS", + "CPU_ZNVER1_FLAGS|CpuRDPID|CpuWBNOINVD|CpuCLWB" }, { "CPU_BTVER1_FLAGS", "CPU_GENERIC64_FLAGS|CpuFISTTP|CpuCX16|CpuRdtscp|CPU_SSSE3_FLAGS|CpuSSE4A|CpuABM|CpuPRFCHW|CpuCX16|CpuClflush|CpuFISTTP|CpuSVME|CpuLZCNT" }, { "CPU_BTVER2_FLAGS", diff -Nru binutils-2.30.51.20180512/opcodes/i386-init.h binutils-2.30.52.20180613/opcodes/i386-init.h --- binutils-2.30.51.20180512/opcodes/i386-init.h 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/i386-init.h 2018-06-04 21:27:35.000000000 +0200 @@ -242,6 +242,14 @@ 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0 } } +#define CPU_ZNVER2_FLAGS \ + { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \ + 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, \ + 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, \ + 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \ + 0, 0, 0, 0, 0 } } + #define CPU_BTVER1_FLAGS \ { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \ 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ diff -Nru binutils-2.30.51.20180512/opcodes/i386-opc.tbl binutils-2.30.52.20180613/opcodes/i386-opc.tbl --- binutils-2.30.51.20180512/opcodes/i386-opc.tbl 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/i386-opc.tbl 2018-06-04 21:27:35.000000000 +0200 @@ -34,14 +34,9 @@ // size prefix. When moving to a 32 bit register, the upper 16 bits // are set to an implementation defined value (on the Pentium Pro, the // implementation defined value is zero). -mov, 2, 0x8c, None, 1, 0, Modrm|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg2, Reg16|Reg32|Reg64|RegMem } -mov, 2, 0x8c, None, 1, 0, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg2, Word|Unspecified|BaseIndex } -mov, 2, 0x8c, None, 1, Cpu386, Modrm|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg3, Reg16|Reg32|Reg64|RegMem } -mov, 2, 0x8c, None, 1, Cpu386, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg3, Word|Unspecified|BaseIndex } -mov, 2, 0x8e, None, 1, 0, Modrm|IgnoreSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg16|Reg32|Reg64, SReg2 } -mov, 2, 0x8e, None, 1, 0, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Word|Unspecified|BaseIndex, SReg2 } -mov, 2, 0x8e, None, 1, Cpu386, Modrm|IgnoreSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg16|Reg32|Reg64, SReg3 } -mov, 2, 0x8e, None, 1, Cpu386, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Word|Unspecified|BaseIndex, SReg3 } +mov, 2, 0x8c, None, 1, 0, Modrm|No_bSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { SReg2|SReg3, Reg16|Reg32|Reg64|RegMem } +mov, 2, 0x8c, None, 1, 0, D|Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg2|SReg3, Word|Unspecified|BaseIndex } +mov, 2, 0x8e, None, 1, 0, Modrm|IgnoreSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg16|Reg32|Reg64, SReg2|Sreg3 } // Move to/from control debug registers. In the 16 or 32bit modes // they are 32bit. In the 64bit mode they are 64bit. mov, 2, 0xf20, None, 2, Cpu386|CpuNo64, D|Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { Control, Reg32|RegMem } @@ -516,11 +511,11 @@ sgdt, 1, 0xf01, 0x0, 2, Cpu64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { Tbyte|Unspecified|BaseIndex } sidt, 1, 0xf01, 0x1, 2, Cpu286|CpuNo64, Modrm|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Fword|Unspecified|BaseIndex } sidt, 1, 0xf01, 0x1, 2, Cpu64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { Tbyte|Unspecified|BaseIndex } -sldt, 1, 0xf00, 0x0, 2, Cpu286, Modrm|No_bSuf|No_sSuf|No_ldSuf, { Reg16|Reg32|Reg64 } +sldt, 1, 0xf00, 0x0, 2, Cpu286, Modrm|No_bSuf|No_sSuf|No_ldSuf|NoRex64, { Reg16|Reg32|Reg64 } sldt, 1, 0xf00, 0x0, 2, Cpu286, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Word|Unspecified|BaseIndex } smsw, 1, 0xf01, 0x4, 2, Cpu286, Modrm|No_bSuf|No_sSuf|No_ldSuf, { Reg16|Reg32|Reg64 } smsw, 1, 0xf01, 0x4, 2, Cpu286, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Word|Unspecified|BaseIndex } -str, 1, 0xf00, 0x1, 2, Cpu286, Modrm|No_bSuf|No_sSuf|No_ldSuf, { Reg16|Reg32|Reg64 } +str, 1, 0xf00, 0x1, 2, Cpu286, Modrm|No_bSuf|No_sSuf|No_ldSuf|NoRex64, { Reg16|Reg32|Reg64 } str, 1, 0xf00, 0x1, 2, Cpu286, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Word|Unspecified|BaseIndex } verr, 1, 0xf00, 0x4, 2, Cpu286, Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg16|Word|Unspecified|BaseIndex } @@ -973,8 +968,7 @@ movq, 2, 0xf7e, None, 2, Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Size64, { RegMMX, Reg64|Unspecified|Qword|BaseIndex } // The segment register moves accept Reg64 so that a segment register // can be copied to a 64 bit register, and vice versa. -movq, 2, 0x8c, None, 1, Cpu64, Modrm|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg2|SReg3, Reg64|RegMem } -movq, 2, 0x8e, None, 1, Cpu64, Modrm|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg64, SReg2|SReg3 } +movq, 2, 0x8c, None, 1, Cpu64, D|Modrm|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg2|SReg3, Reg64|RegMem } // Move to/from control debug registers. In the 16 or 32bit modes they // are 32bit. In the 64bit mode they are 64bit. movq, 2, 0xf20, None, 2, Cpu64, D|Modrm|Size64|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Control, Reg64|RegMem } @@ -1583,8 +1577,8 @@ // INVPCID instruction -invpcid, 2, 0x660f3882, None, 3, CpuINVPCID|CpuNo64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_qSuf|No_sSuf|No_ldSuf, { Unspecified|BaseIndex, Reg32 } -invpcid, 2, 0x660f3882, None, 3, CpuINVPCID|Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_qSuf|No_sSuf|No_ldSuf|NoRex64, { Unspecified|BaseIndex, Reg64 } +invpcid, 2, 0x660f3882, None, 3, CpuINVPCID|CpuNo64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_qSuf|No_sSuf|No_ldSuf, { Oword|Unspecified|BaseIndex, Reg32 } +invpcid, 2, 0x660f3882, None, 3, CpuINVPCID|Cpu64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_qSuf|No_sSuf|No_ldSuf|NoRex64, { Oword|Unspecified|BaseIndex, Reg64 } // SSSE3 instructions. diff -Nru binutils-2.30.51.20180512/opcodes/i386-tbl.h binutils-2.30.52.20180613/opcodes/i386-tbl.h --- binutils-2.30.51.20180512/opcodes/i386-tbl.h 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/i386-tbl.h 2018-06-04 21:27:35.000000000 +0200 @@ -132,10 +132,10 @@ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + { { { 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -148,45 +148,11 @@ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, - { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0 }, - { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0 } }, - { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0 } } } }, - { "mov", 2, 0x8c, None, 1, - { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0 } }, - { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0 }, - { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0 } }, - { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0 } } } }, - { "mov", 2, 0x8c, None, 1, - { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0 } }, - { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + { { { 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, @@ -200,64 +166,13 @@ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0 }, - { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0 } }, - { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0 } } } }, - { "mov", 2, 0x8e, None, 1, - { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0 } }, - { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0 }, - { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0 } }, - { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0 } } } }, - { "mov", 2, 0x8e, None, 1, - { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0 } }, - { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, - { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0 } } } }, - { "mov", 2, 0x8e, None, 1, - { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0 } }, - { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0 }, - { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0 } }, - { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + { { 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }, { "mov", 2, 0xf20, None, 2, @@ -5795,7 +5710,7 @@ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5851,7 +5766,7 @@ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11076,7 +10991,7 @@ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, - { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, + { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, @@ -11086,23 +11001,6 @@ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }, - { "movq", 2, 0x8e, None, 1, - { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0 } }, - { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0 }, - { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0 } }, - { { 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0 } } } }, { "movq", 2, 0xf20, None, 2, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -20804,12 +20702,12 @@ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } }, - { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } }, { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, @@ -20821,12 +20719,12 @@ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } }, - { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } }, { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, diff -Nru binutils-2.30.51.20180512/opcodes/Makefile.am binutils-2.30.52.20180613/opcodes/Makefile.am --- binutils-2.30.51.20180512/opcodes/Makefile.am 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/Makefile.am 2018-06-04 21:27:35.000000000 +0200 @@ -175,6 +175,7 @@ m68hc11-opc.c \ m68k-dis.c \ m68k-opc.c \ + s12z-dis.c \ mcore-dis.c \ mep-asm.c \ mep-desc.c \ diff -Nru binutils-2.30.51.20180512/opcodes/Makefile.in binutils-2.30.52.20180613/opcodes/Makefile.in --- binutils-2.30.51.20180512/opcodes/Makefile.in 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/Makefile.in 2018-06-04 21:27:35.000000000 +0200 @@ -477,6 +477,7 @@ m68hc11-opc.c \ m68k-dis.c \ m68k-opc.c \ + s12z-dis.c \ mcore-dis.c \ mep-asm.c \ mep-desc.c \ @@ -926,6 +927,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rl78-dis.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rx-decode.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rx-dis.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s12z-dis.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390-dis.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390-opc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/score-dis.Plo@am__quote@ diff -Nru binutils-2.30.51.20180512/opcodes/msp430-decode.c binutils-2.30.52.20180613/opcodes/msp430-decode.c --- binutils-2.30.51.20180512/opcodes/msp430-decode.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/opcodes/msp430-decode.c 2018-06-04 21:27:35.000000000 +0200 @@ -26,7 +26,7 @@ #include #include #include -#include "ansidecl.h" +#include "bfd.h" #include "opintl.h" #include "opcode/msp430-decode.h" diff -Nru binutils-2.30.51.20180512/opcodes/msp430-decode.opc binutils-2.30.52.20180613/opcodes/msp430-decode.opc --- binutils-2.30.51.20180512/opcodes/msp430-decode.opc 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/opcodes/msp430-decode.opc 2018-06-04 21:27:35.000000000 +0200 @@ -24,7 +24,7 @@ #include #include #include -#include "ansidecl.h" +#include "bfd.h" #include "opintl.h" #include "opcode/msp430-decode.h" diff -Nru binutils-2.30.51.20180512/opcodes/nfp-dis.c binutils-2.30.52.20180613/opcodes/nfp-dis.c --- binutils-2.30.51.20180512/opcodes/nfp-dis.c 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/nfp-dis.c 2018-06-04 21:27:35.000000000 +0200 @@ -34,19 +34,13 @@ #include "elf-bfd.h" #include "bfd.h" #include "bfd_stdint.h" -#include "libbfd.h" #define _NFP_ERR_STOP -1 #define _NFP_ERR_CONT -8 -/* The bfd_vma type has the description below, so we use that and BFD_VMA_FMT - instead of uint64_t or bfd_uint64_t. - "Represent a target address. Also used as a generic unsigned type - which is guaranteed to be big enough to hold any arithmetic types - we need to deal with." */ - #define _BTST(v, b) (((v) >> b) & 1) -#define _BF(v, msb, lsb) (((v) >> (lsb)) & ((1U << ((msb) - (lsb) + 1)) - 1)) +#define _BF(v, msb, lsb) (((v) >> (lsb)) & \ + ((1U << ((msb) - (lsb) + 1)) - 1)) #define _BFS(v, msb, lsb, lshift) (_BF(v, msb, lsb) << (lshift)) #define _NFP_ME27_28_CSR_CTX_ENABLES 0x18 @@ -928,10 +922,10 @@ }; static int -nfp_me_print_invalid (bfd_vma instr, struct disassemble_info *dinfo) +nfp_me_print_invalid (uint64_t instr, struct disassemble_info *dinfo) { const char * err_msg = N_(":"); - dinfo->fprintf_func (dinfo->stream, "%s 0x%" BFD_VMA_FMT "x", err_msg, instr); + dinfo->fprintf_func (dinfo->stream, "%s 0x%" PRIx64, err_msg, instr); return _NFP_ERR_CONT; } @@ -1101,7 +1095,7 @@ } static int -nfp_me27_28_print_alu_shf (bfd_vma instr, unsigned int pred_cc, +nfp_me27_28_print_alu_shf (uint64_t instr, unsigned int pred_cc, unsigned int dst_lmext, unsigned int src_lmext, unsigned int gpr_wrboth, int num_ctx, struct disassemble_info *dinfo) @@ -1225,7 +1219,7 @@ } static int -nfp_me27_28_print_alu (bfd_vma instr, unsigned int pred_cc, +nfp_me27_28_print_alu (uint64_t instr, unsigned int pred_cc, unsigned int dst_lmext, unsigned int src_lmext, unsigned int gpr_wrboth, int num_ctx, struct disassemble_info *dinfo) @@ -1416,7 +1410,7 @@ } static int -nfp_me27_28_print_immed (bfd_vma instr, unsigned int pred_cc, +nfp_me27_28_print_immed (uint64_t instr, unsigned int pred_cc, unsigned int dst_lmext, unsigned int gpr_wrboth, int num_ctx, struct disassemble_info *dinfo) @@ -1486,7 +1480,7 @@ } static int -nfp_me27_28_print_ld_field (bfd_vma instr, unsigned int pred_cc, +nfp_me27_28_print_ld_field (uint64_t instr, unsigned int pred_cc, unsigned int dst_lmext, unsigned int src_lmext, unsigned int gpr_wrboth, int num_ctx, struct disassemble_info *dinfo) @@ -1557,7 +1551,7 @@ } static int -nfp_me27_28_print_ctx_arb (bfd_vma instr, struct disassemble_info *dinfo) +nfp_me27_28_print_ctx_arb (uint64_t instr, struct disassemble_info *dinfo) { unsigned int resume_addr = _BFS (instr, 40, 40, 13) | _BF (instr, 34, 22); unsigned int defer = _BF (instr, 21, 20); @@ -1607,7 +1601,7 @@ } static int -nfp_me27_28_print_local_csr (bfd_vma instr, +nfp_me27_28_print_local_csr (uint64_t instr, unsigned int src_lmext, int num_ctx, struct disassemble_info *dinfo) { @@ -1674,7 +1668,7 @@ } static int -nfp_me27_28_print_branch (bfd_vma instr, +nfp_me27_28_print_branch (uint64_t instr, const char *br_inpstates[16], struct disassemble_info *dinfo) { @@ -1723,7 +1717,7 @@ } static int -nfp_me27_28_print_br_byte (bfd_vma instr, +nfp_me27_28_print_br_byte (uint64_t instr, unsigned int src_lmext, int num_ctx, struct disassemble_info *dinfo) { @@ -1768,7 +1762,7 @@ } static int -nfp_me27_28_print_br_bit (bfd_vma instr, unsigned int src_lmext, +nfp_me27_28_print_br_bit (uint64_t instr, unsigned int src_lmext, int num_ctx, struct disassemble_info *dinfo) { unsigned int srcA = _BF (instr, 7, 0); @@ -1807,7 +1801,7 @@ } static int -nfp_me27_28_print_br_alu (bfd_vma instr, unsigned int src_lmext, +nfp_me27_28_print_br_alu (uint64_t instr, unsigned int src_lmext, int num_ctx, struct disassemble_info *dinfo) { unsigned int srcA = _BF (instr, 9, 0); @@ -1845,7 +1839,7 @@ } static int -nfp_me27_28_print_mult (bfd_vma instr, unsigned int pred_cc, +nfp_me27_28_print_mult (uint64_t instr, unsigned int pred_cc, unsigned int dst_lmext, unsigned int src_lmext, unsigned int gpr_wrboth, int num_ctx, struct disassemble_info *dinfo) @@ -1956,7 +1950,7 @@ /* NFP-32xx (ME Version 2.7). */ static int -nfp_me27_print_cmd (bfd_vma instr, int third_party_32bit, +nfp_me27_print_cmd (uint64_t instr, int third_party_32bit, int num_ctx, struct disassemble_info *dinfo) { unsigned int srcA = _BF (instr, 7, 0); @@ -2158,75 +2152,75 @@ } static int -nfp_me27_print_alu_shf (bfd_vma instr, int num_ctx, +nfp_me27_print_alu_shf (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { return nfp_me27_28_print_alu_shf (instr, 0, 0, 0, 0, num_ctx, dinfo); } static int -nfp_me27_print_alu (bfd_vma instr, int num_ctx, +nfp_me27_print_alu (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { return nfp_me27_28_print_alu_shf (instr, 0, 0, 0, 0, num_ctx, dinfo); } static int -nfp_me27_print_immed (bfd_vma instr, int num_ctx, +nfp_me27_print_immed (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { return nfp_me27_28_print_immed (instr, 0, 0, 0, num_ctx, dinfo); } static int -nfp_me27_print_ld_field (bfd_vma instr, int num_ctx, +nfp_me27_print_ld_field (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { return nfp_me27_28_print_ld_field (instr, 0, 0, 0, 0, num_ctx, dinfo); } static int -nfp_me27_print_ctx_arb (bfd_vma instr, struct disassemble_info *dinfo) +nfp_me27_print_ctx_arb (uint64_t instr, struct disassemble_info *dinfo) { return nfp_me27_28_print_ctx_arb (instr, dinfo); } static int -nfp_me27_print_local_csr (bfd_vma instr, int num_ctx, +nfp_me27_print_local_csr (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { return nfp_me27_28_print_local_csr (instr, 0, num_ctx, dinfo); } static int -nfp_me27_print_branch (bfd_vma instr, struct disassemble_info *dinfo) +nfp_me27_print_branch (uint64_t instr, struct disassemble_info *dinfo) { return nfp_me27_28_print_branch (instr, nfp_me27_br_inpstates, dinfo); } static int -nfp_me27_print_br_byte (bfd_vma instr, int num_ctx, +nfp_me27_print_br_byte (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { return nfp_me27_28_print_br_byte (instr, 0, num_ctx, dinfo); } static int -nfp_me27_print_br_bit (bfd_vma instr, int num_ctx, +nfp_me27_print_br_bit (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { return nfp_me27_28_print_br_bit (instr, 0, num_ctx, dinfo); } static int -nfp_me27_print_br_alu (bfd_vma instr, int num_ctx, +nfp_me27_print_br_alu (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { return nfp_me27_28_print_br_alu (instr, 0, num_ctx, dinfo); } static int -nfp_me27_print_mult (bfd_vma instr, int num_ctx, +nfp_me27_print_mult (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { return nfp_me27_28_print_mult (instr, 0, 0, 0, 0, num_ctx, dinfo); @@ -2235,7 +2229,7 @@ /*NFP-6xxx/4xxx (ME Version 2.8). */ static int -nfp_me28_print_cmd (bfd_vma instr, int third_party_32bit, +nfp_me28_print_cmd (uint64_t instr, int third_party_32bit, int num_ctx, struct disassemble_info *dinfo) { unsigned int srcA = _BF (instr, 7, 0); @@ -2421,7 +2415,7 @@ } static int -nfp_me28_print_alu_shf (bfd_vma instr, int num_ctx, +nfp_me28_print_alu_shf (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { unsigned int gpr_wrboth = _BTST (instr, 41); @@ -2434,7 +2428,7 @@ } static int -nfp_me28_print_alu (bfd_vma instr, int num_ctx, +nfp_me28_print_alu (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { unsigned int gpr_wrboth = _BTST (instr, 41); @@ -2447,7 +2441,7 @@ } static int -nfp_me28_print_immed (bfd_vma instr, int num_ctx, +nfp_me28_print_immed (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { unsigned int gpr_wrboth = _BTST (instr, 41); @@ -2459,7 +2453,7 @@ } static int -nfp_me28_print_ld_field (bfd_vma instr, int num_ctx, +nfp_me28_print_ld_field (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { unsigned int gpr_wrboth = _BTST (instr, 41); @@ -2472,13 +2466,13 @@ } static int -nfp_me28_print_ctx_arb (bfd_vma instr, struct disassemble_info *dinfo) +nfp_me28_print_ctx_arb (uint64_t instr, struct disassemble_info *dinfo) { return nfp_me27_28_print_ctx_arb (instr, dinfo); } static int -nfp_me28_print_local_csr (bfd_vma instr, int num_ctx, +nfp_me28_print_local_csr (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { unsigned int src_lmext = _BTST (instr, 42); @@ -2487,13 +2481,13 @@ } static int -nfp_me28_print_branch (bfd_vma instr, struct disassemble_info *dinfo) +nfp_me28_print_branch (uint64_t instr, struct disassemble_info *dinfo) { return nfp_me27_28_print_branch (instr, nfp_me28_br_inpstates, dinfo); } static int -nfp_me28_print_br_byte (bfd_vma instr, int num_ctx, +nfp_me28_print_br_byte (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { unsigned int src_lmext = _BTST (instr, 42); @@ -2501,7 +2495,7 @@ } static int -nfp_me28_print_br_bit (bfd_vma instr, int num_ctx, +nfp_me28_print_br_bit (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { unsigned int src_lmext = _BTST (instr, 42); @@ -2509,7 +2503,7 @@ } static int -nfp_me28_print_br_alu (bfd_vma instr, int num_ctx, +nfp_me28_print_br_alu (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { unsigned int src_lmext = _BTST (instr, 42); @@ -2517,7 +2511,7 @@ } static int -nfp_me28_print_mult (bfd_vma instr, int num_ctx, +nfp_me28_print_mult (uint64_t instr, int num_ctx, struct disassemble_info *dinfo) { unsigned int gpr_wrboth = _BTST (instr, 41); @@ -2578,9 +2572,8 @@ mecfg = &priv->mecfgs[isl][menum][1]; - if (!_bfd_generic_get_section_contents (dinfo->section->owner, - sec->bfd_section, buffer, - roff, sizeof (buffer))) + if (!bfd_get_section_contents (dinfo->section->owner, sec->bfd_section, + buffer, roff, sizeof (buffer))) return FALSE; mecfg_ent.ctx_enables = bfd_getl32 (buffer + offsetof (Elf_Nfp_MeConfig, @@ -2627,9 +2620,8 @@ uint32_t csr_off; nfp_priv_mecfg *mecfg; - if (!_bfd_generic_get_section_contents (dinfo->section->owner, - sec->bfd_section, buffer, - ireg_off, sizeof (buffer))) + if (!bfd_get_section_contents (dinfo->section->owner, sec->bfd_section, + buffer, ireg_off, sizeof (buffer))) return FALSE; ireg.cpp_offset_lo = bfd_getl32 (buffer @@ -2803,7 +2795,7 @@ nfp_priv_data *priv = init_nfp_priv (dinfo); bfd_byte buffer[8]; int err; - bfd_vma instr = 0; + uint64_t instr = 0; size_t island, menum; int num_ctx, scs_cnt, addr_3rdparty32, pc, tmpi, tmpj; int is_text = 1; diff -Nru binutils-2.30.51.20180512/opcodes/po/POTFILES.in binutils-2.30.52.20180613/opcodes/po/POTFILES.in --- binutils-2.30.51.20180512/opcodes/po/POTFILES.in 2018-05-02 14:49:27.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/po/POTFILES.in 2018-06-04 21:27:35.000000000 +0200 @@ -177,6 +177,7 @@ rl78-dis.c rx-decode.c rx-dis.c +s12z-dis.c s390-dis.c s390-mkopc.c s390-opc.c diff -Nru binutils-2.30.51.20180512/opcodes/po/zh_CN.po binutils-2.30.52.20180613/opcodes/po/zh_CN.po --- binutils-2.30.51.20180512/opcodes/po/zh_CN.po 2017-11-28 08:11:19.000000000 +0100 +++ binutils-2.30.52.20180613/opcodes/po/zh_CN.po 2018-06-04 21:27:35.000000000 +0200 @@ -3,14 +3,14 @@ # This file is distributed under the same license as the binutils package. # Meng Jie , 2005. # Mingye Wang , 2015. -# Boyuan Yang <073plan@gmail.com>, 2017. +# Boyuan Yang <073plan@gmail.com>, 2017, 2018. # msgid "" msgstr "" -"Project-Id-Version: opcodes 2.28.90\n" +"Project-Id-Version: opcodes 2.30.0\n" "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" -"POT-Creation-Date: 2017-07-03 16:55+0200\n" -"PO-Revision-Date: 2017-11-25 20:10+0800\n" +"POT-Creation-Date: 2018-01-13 13:44+0000\n" +"PO-Revision-Date: 2018-05-15 21:17+0800\n" "Last-Translator: Boyuan Yang <073plan@gmail.com>\n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\n" @@ -19,15 +19,15 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Poedit 2.0.4\n" +"X-Generator: Poedit 2.0.7\n" #. Invalid option. -#: aarch64-dis.c:81 arc-dis.c:775 arm-dis.c:6132 +#: aarch64-dis.c:81 arc-dis.c:781 arm-dis.c:6155 #, c-format msgid "Unrecognised disassembler option: %s\n" msgstr "无法识别的反汇编器选项:%s\n" -#: aarch64-dis.c:3235 +#: aarch64-dis.c:3264 #, c-format msgid "" "\n" @@ -37,7 +37,7 @@ "\n" "下列 AARCH64 特定的反汇编器选项可通过 -M 开关启用(使用逗号分隔多个选项):\n" -#: aarch64-dis.c:3239 +#: aarch64-dis.c:3268 #, c-format msgid "" "\n" @@ -46,7 +46,7 @@ "\n" " no-aliases 不要打印指令别名。\n" -#: aarch64-dis.c:3242 +#: aarch64-dis.c:3271 #, c-format msgid "" "\n" @@ -55,7 +55,7 @@ "\n" " aliases 要打印指令别名。\n" -#: aarch64-dis.c:3246 +#: aarch64-dis.c:3275 #, c-format msgid "" "\n" @@ -64,233 +64,228 @@ "\n" " debug_dump 调试跟踪的临时开关。\n" -#: aarch64-dis.c:3250 mips-dis.c:2601 mips-dis.c:2609 mips-dis.c:2611 -#: riscv-dis.c:507 +#: aarch64-dis.c:3279 mips-dis.c:2601 mips-dis.c:2609 mips-dis.c:2611 +#: riscv-dis.c:509 #, c-format msgid "\n" msgstr "\n" -#: aarch64-opc.c:1306 +#: aarch64-opc.c:1311 msgid "immediate value" msgstr "立即数" -#: aarch64-opc.c:1316 +#: aarch64-opc.c:1321 msgid "immediate offset" msgstr "立即数偏移" -#: aarch64-opc.c:1326 +#: aarch64-opc.c:1331 msgid "register number" msgstr "寄存器数" -#: aarch64-opc.c:1336 +#: aarch64-opc.c:1341 msgid "register element index" msgstr "寄存器元素下标" -#: aarch64-opc.c:1346 +#: aarch64-opc.c:1351 msgid "shift amount" msgstr "移位操作数" -#: aarch64-opc.c:1358 +#: aarch64-opc.c:1363 msgid "multiplier" msgstr "" -#: aarch64-opc.c:1431 +#: aarch64-opc.c:1436 msgid "reg pair must start from even reg" msgstr "" -#: aarch64-opc.c:1437 +#: aarch64-opc.c:1442 msgid "reg pair must be contiguous" msgstr "" -#: aarch64-opc.c:1451 +#: aarch64-opc.c:1456 msgid "extraneous register" msgstr "多余寄存器" -#: aarch64-opc.c:1457 +#: aarch64-opc.c:1462 msgid "missing register" msgstr "缺失寄存器" -#: aarch64-opc.c:1468 +#: aarch64-opc.c:1473 msgid "stack pointer register expected" msgstr "预期的堆栈指针寄存器" -#: aarch64-opc.c:1491 +#: aarch64-opc.c:1496 msgid "z0-z15 expected" -msgstr "" +msgstr "预期为 z0-z15" -#: aarch64-opc.c:1492 +#: aarch64-opc.c:1497 msgid "z0-z7 expected" -msgstr "" +msgstr "预期为 z0-z7" -#: aarch64-opc.c:1518 +#: aarch64-opc.c:1523 #, fuzzy #| msgid "Bad register name" msgid "invalid register list" msgstr "%q+D的寄存器名无效" -#: aarch64-opc.c:1532 +#: aarch64-opc.c:1537 msgid "p0-p7 expected" -msgstr "" +msgstr "预期为 p0-p7" -#: aarch64-opc.c:1558 aarch64-opc.c:1566 +#: aarch64-opc.c:1563 aarch64-opc.c:1571 msgid "unexpected address writeback" msgstr "意外的地址写回" -#: aarch64-opc.c:1577 +#: aarch64-opc.c:1582 msgid "address writeback expected" msgstr "预期的地址写回" -#: aarch64-opc.c:1623 +#: aarch64-opc.c:1629 msgid "negative or unaligned offset expected" msgstr "预期的负或未对齐的偏移量" -#: aarch64-opc.c:1650 +#: aarch64-opc.c:1656 msgid "invalid register offset" msgstr "无效的寄存器偏移量" -#: aarch64-opc.c:1672 +#: aarch64-opc.c:1678 #, fuzzy msgid "invalid post-increment amount" msgstr "类型没有后自增运算符" -#: aarch64-opc.c:1688 aarch64-opc.c:2165 +#: aarch64-opc.c:1694 aarch64-opc.c:2171 msgid "invalid shift amount" msgstr "无效的移位操作数" -#: aarch64-opc.c:1701 +#: aarch64-opc.c:1707 #, fuzzy #| msgid "invalid conditional option" msgid "invalid extend/shift operator" msgstr "无效的移位操作符" -#: aarch64-opc.c:1747 aarch64-opc.c:1986 aarch64-opc.c:2021 aarch64-opc.c:2040 -#: aarch64-opc.c:2048 aarch64-opc.c:2119 aarch64-opc.c:2295 aarch64-opc.c:2395 -#: aarch64-opc.c:2408 +#: aarch64-opc.c:1753 aarch64-opc.c:1992 aarch64-opc.c:2027 aarch64-opc.c:2046 +#: aarch64-opc.c:2054 aarch64-opc.c:2125 aarch64-opc.c:2301 aarch64-opc.c:2401 +#: aarch64-opc.c:2414 msgid "immediate out of range" msgstr "立即数越界" -#: aarch64-opc.c:1769 aarch64-opc.c:1811 aarch64-opc.c:1860 aarch64-opc.c:1894 -#, fuzzy +#: aarch64-opc.c:1775 aarch64-opc.c:1817 aarch64-opc.c:1866 aarch64-opc.c:1900 msgid "invalid addressing mode" msgstr "无效寻址模式" -#: aarch64-opc.c:1852 +#: aarch64-opc.c:1858 #, fuzzy msgid "index register xzr is not allowed" msgstr "寄存器元素下标" -#: aarch64-opc.c:1974 aarch64-opc.c:1996 aarch64-opc.c:2198 aarch64-opc.c:2206 -#: aarch64-opc.c:2272 aarch64-opc.c:2301 +#: aarch64-opc.c:1980 aarch64-opc.c:2002 aarch64-opc.c:2204 aarch64-opc.c:2212 +#: aarch64-opc.c:2278 aarch64-opc.c:2307 msgid "invalid shift operator" msgstr "无效的移位操作符" -#: aarch64-opc.c:1980 +#: aarch64-opc.c:1986 msgid "shift amount must be 0 or 12" msgstr "移位量必须为 0 或 12" -#: aarch64-opc.c:2003 +#: aarch64-opc.c:2009 msgid "shift amount must be a multiple of 16" msgstr "移位量必须是 16 的倍数" -#: aarch64-opc.c:2015 +#: aarch64-opc.c:2021 msgid "negative immediate value not allowed" msgstr "不允许负立即数" -#: aarch64-opc.c:2130 +#: aarch64-opc.c:2136 #, fuzzy msgid "immediate zero expected" msgstr "预期的浮点常量立即数" -#: aarch64-opc.c:2144 +#: aarch64-opc.c:2150 #, fuzzy #| msgid "shift amount expected to be 0 or 12" msgid "rotate expected to be 0, 90, 180 or 270" msgstr "移位量预计为 0 或 12" -#: aarch64-opc.c:2154 +#: aarch64-opc.c:2160 #, fuzzy #| msgid "shift amount expected to be 0 or 12" msgid "rotate expected to be 90 or 270" msgstr "移位量预计为 0 或 12" -#: aarch64-opc.c:2214 +#: aarch64-opc.c:2220 #, fuzzy msgid "shift is not permitted" msgstr "指针不能用作 case 常量" -#: aarch64-opc.c:2239 -#, fuzzy -#| msgid "invalid mask field" +#: aarch64-opc.c:2245 msgid "invalid value for immediate" -msgstr "不允许负立即数" +msgstr "无效的立即数的值" -#: aarch64-opc.c:2264 +#: aarch64-opc.c:2270 msgid "shift amount must be 0 or 16" msgstr "移位量必须为 0 或 16" -#: aarch64-opc.c:2285 +#: aarch64-opc.c:2291 msgid "floating-point immediate expected" msgstr "预期的浮点常量立即数" -#: aarch64-opc.c:2319 +#: aarch64-opc.c:2325 msgid "no shift amount allowed for 8-bit constants" msgstr "" -#: aarch64-opc.c:2329 +#: aarch64-opc.c:2335 msgid "shift amount must be 0 or 8" msgstr "移位量必须为 0 或 8" -#: aarch64-opc.c:2342 +#: aarch64-opc.c:2348 msgid "immediate too big for element size" msgstr "" -#: aarch64-opc.c:2349 -#, fuzzy -#| msgid "invalid mask field" +#: aarch64-opc.c:2355 msgid "invalid arithmetic immediate" -msgstr "不允许负立即数" +msgstr "无效的算术立即数" -#: aarch64-opc.c:2363 +#: aarch64-opc.c:2369 msgid "floating-point value must be 0.5 or 1.0" -msgstr "" +msgstr "浮点值必须为 0.5 或 1.0" -#: aarch64-opc.c:2373 +#: aarch64-opc.c:2379 msgid "floating-point value must be 0.5 or 2.0" -msgstr "" +msgstr "浮点值必须为 0.5 或 2.0" -#: aarch64-opc.c:2383 +#: aarch64-opc.c:2389 msgid "floating-point value must be 0.0 or 1.0" -msgstr "" +msgstr "浮点值必须为 0.0 或 1.0" -#: aarch64-opc.c:2414 +#: aarch64-opc.c:2420 #, fuzzy #| msgid "invalid mask field" msgid "invalid replicated MOV immediate" msgstr "不允许负立即数" -#: aarch64-opc.c:2528 +#: aarch64-opc.c:2535 #, fuzzy msgid "extend operator expected" msgstr "需要%" -#: aarch64-opc.c:2541 +#: aarch64-opc.c:2548 #, fuzzy msgid "missing extend operator" msgstr "扩展%s 失败" -#: aarch64-opc.c:2547 +#: aarch64-opc.c:2554 msgid "'LSL' operator not allowed" msgstr "不允许 'LSL' 操作符" -#: aarch64-opc.c:2568 +#: aarch64-opc.c:2575 msgid "W register expected" msgstr "预期的 W 寄存器" -#: aarch64-opc.c:2579 +#: aarch64-opc.c:2586 msgid "shift operator expected" msgstr "预期的移位操作符" -#: aarch64-opc.c:2586 +#: aarch64-opc.c:2593 msgid "'ROR' operator not allowed" msgstr "不允许 'ROR' 操作符" @@ -302,7 +297,7 @@ msgid "jump hint unaligned" msgstr "跳转提示未对齐" -#: arc-dis.c:373 +#: arc-dis.c:377 msgid "" "\n" "Warning: disassembly may be wrong due to guessed opcode class choice.\n" @@ -310,12 +305,12 @@ "\t\t\t\t" msgstr "" -#: arc-dis.c:817 +#: arc-dis.c:823 #, c-format msgid "Unrecognised disassembler CPU option: %s\n" msgstr "无法识别的反汇编器 CPU 选项:%s\n" -#: arc-dis.c:1344 +#: arc-dis.c:1385 #, fuzzy, c-format #| msgid "" #| "\n" @@ -329,22 +324,22 @@ "\n" "下列 AARCH64 特定的反汇编器选项可通过 -M 开关启用(使用逗号分隔多个选项):\n" -#: arc-dis.c:1356 +#: arc-dis.c:1397 #, c-format msgid " dsp Recognize DSP instructions.\n" msgstr " dsp 识别 DSP 指令。\n" -#: arc-dis.c:1358 +#: arc-dis.c:1399 #, c-format msgid " spfp Recognize FPX SP instructions.\n" msgstr " spfp 识别 FPX SP 指令。\n" -#: arc-dis.c:1360 +#: arc-dis.c:1401 #, c-format msgid " dpfp Recognize FPX DP instructions.\n" msgstr " dpfp 识别 FPX DP 指令。\n" -#: arc-dis.c:1362 +#: arc-dis.c:1403 #, fuzzy, c-format #| msgid "" #| "\n" @@ -354,7 +349,7 @@ "\n" " msa 识别 MSA 指令。\n" -#: arc-dis.c:1364 +#: arc-dis.c:1405 #, fuzzy, c-format #| msgid "" #| "\n" @@ -364,16 +359,21 @@ "\n" " msa 识别 MSA 指令。\n" -#: arc-dis.c:1366 +#: arc-dis.c:1407 #, c-format msgid " fpus Recognize single precision FPU instructions.\n" msgstr " fpus 识别单精度 FPU 指令。\n" -#: arc-dis.c:1368 +#: arc-dis.c:1409 #, c-format msgid " fpud Recognize double precision FPU instructions.\n" msgstr " fpud 识别双精度 FPU 指令。\n" +#: arc-dis.c:1411 +#, c-format +msgid " hex Use only hexadecimal number to print immediates.\n" +msgstr "" + #: arc-opc.c:41 arc-opc.c:64 arc-opc.c:90 msgid "LP_COUNT register cannot be used as destination register" msgstr "" @@ -391,232 +391,208 @@ msgstr "操作数不是 0" #: arc-opc.c:173 -msgid "Register R30 is a limm indicator" -msgstr "" - -#: arc-opc.c:192 -#, fuzzy -#| msgid "register number must be even" -msgid "Register must be R0" -msgstr "寄存器数必须是偶数" - -#: arc-opc.c:210 -#, fuzzy -#| msgid "register number must be even" -msgid "Register must be R1" -msgstr "寄存器数必须是偶数" - -#: arc-opc.c:227 -#, fuzzy -#| msgid "register number must be even" -msgid "Register must be R2" -msgstr "寄存器数必须是偶数" - -#: arc-opc.c:244 -#, fuzzy -#| msgid "register number must be even" -msgid "Register must be R3" -msgstr "寄存器数必须是偶数" - -#: arc-opc.c:261 -#, fuzzy -#| msgid "register number must be even" -msgid "Register must be SP" -msgstr "寄存器数必须是偶数" - -#: arc-opc.c:278 -#, fuzzy -#| msgid "register number must be even" -msgid "Register must be GP" -msgstr "寄存器数必须是偶数" - -#: arc-opc.c:295 #, fuzzy -#| msgid "register number must be even" -msgid "Register must be PCL" -msgstr "寄存器数必须是偶数" - -#: arc-opc.c:312 -#, fuzzy -#| msgid "register number must be even" -msgid "Register must be BLINK" -msgstr "寄存器数必须是偶数" +msgid "register R30 is a limm indicator" +msgstr "立即数不能是寄存器" -#: arc-opc.c:329 +#: arc-opc.c:175 #, fuzzy -#| msgid "register number must be even" -msgid "Register must be ILINK1" -msgstr "寄存器数必须是偶数" +#| msgid "immediate out of range" +msgid "register out of range" +msgstr "立即数越界" -#: arc-opc.c:346 -#, fuzzy -#| msgid "register number must be even" -msgid "Register must be ILINK2" -msgstr "寄存器数必须是偶数" +#: arc-opc.c:194 +msgid "register must be R0" +msgstr "寄存器必须是 R0" + +#: arc-opc.c:212 +msgid "register must be R1" +msgstr "寄存器必须是 R1" + +#: arc-opc.c:229 +msgid "register must be R2" +msgstr "寄存器必须是 R2" + +#: arc-opc.c:246 +msgid "register must be R3" +msgstr "寄存器必须是 R3" + +#: arc-opc.c:263 +msgid "register must be SP" +msgstr "寄存器必须是 SP" + +#: arc-opc.c:280 +msgid "register must be GP" +msgstr "寄存器必须是 GP" + +#: arc-opc.c:297 +msgid "register must be PCL" +msgstr "寄存器必须是 PCL" + +#: arc-opc.c:314 +msgid "register must be BLINK" +msgstr "寄存器必须是 BLINK" + +#: arc-opc.c:331 +msgid "register must be ILINK1" +msgstr "寄存器必须是 ILINK1" + +#: arc-opc.c:348 +msgid "register must be ILINK2" +msgstr "寄存器必须是 ILINK2" #. ARC NPS400 Support: See comment near head of file. -#: arc-opc.c:377 arc-opc.c:415 arc-opc.c:453 arc-opc.c:718 -#, fuzzy -#| msgid "register number must be even" -msgid "Register must be either r0-r3 or r12-r15" -msgstr "登记册必须 r8 和 r15 之间" - -#: arc-opc.c:504 -msgid "Accepted values are from -1 to 6" -msgstr "" - -#: arc-opc.c:533 -msgid "First register of the range should be r13" -msgstr "" +#: arc-opc.c:379 arc-opc.c:417 arc-opc.c:455 arc-opc.c:720 +msgid "register must be either r0-r3 or r12-r15" +msgstr "寄存器必须是 r0-r3 或 r12-r15" + +#: arc-opc.c:506 +msgid "accepted values are from -1 to 6" +msgstr "可接受的值在 -1 到 6 之间" #: arc-opc.c:535 -msgid "Last register of the range doesn't fit" -msgstr "" - -#: arc-opc.c:555 arc-opc.c:570 #, fuzzy #| msgid "Bad register name" -msgid "Invalid register number, should be fp" +msgid "first register of the range should be r13" msgstr "%q+D的寄存器名无效" -#: arc-opc.c:592 -#, fuzzy -#| msgid "Bad register name" -msgid "Invalid register number, should be blink" -msgstr "%q+D的寄存器名无效" +#: arc-opc.c:537 +msgid "last register of the range doesn't fit" +msgstr "" -#: arc-opc.c:614 -#, fuzzy -#| msgid "Bad register name" -msgid "Invalid register number, should be pcl" -msgstr "%q+D的寄存器名无效" +#: arc-opc.c:557 arc-opc.c:572 +msgid "invalid register number, should be fp" +msgstr "无效的寄存器数,应当为 fp" -#: arc-opc.c:766 -msgid "Invalid size, should be 1, 2, 4, or 8" -msgstr "" +#: arc-opc.c:594 +msgid "invalid register number, should be blink" +msgstr "无效的寄存器数,应当为 blink" + +#: arc-opc.c:616 +msgid "invalid register number, should be pcl" +msgstr "无效的寄存器数,应当为 pcl" -#: arc-opc.c:811 +#: arc-opc.c:768 +msgid "invalid size, should be 1, 2, 4, or 8" +msgstr "无效的大小,应当为 1、2、4 或 8" + +#: arc-opc.c:813 msgid "invalid immediate, must be 1, 2, or 4" -msgstr "" +msgstr "无效的立即数,应当为 1、2 或 4" -#: arc-opc.c:850 +#: arc-opc.c:852 #, fuzzy #| msgid "invalid mask field" msgid "invalid value for CMEM ld/st immediate" msgstr "不允许负立即数" -#: arc-opc.c:877 -msgid "Invalid position, should be 0, 16, 32, 48 or 64." +#: arc-opc.c:879 +msgid "invalid position, should be 0, 16, 32, 48 or 64." msgstr "无效的位置,应当为 0、16、32、48 或 64。" -#: arc-opc.c:911 -msgid "Invalid position, should be 16, 32, 64 or 128." +#: arc-opc.c:913 +msgid "invalid position, should be 16, 32, 64 or 128." msgstr "无效的位置,应当为 16、32、64 或 128。" -#: arc-opc.c:933 +#: arc-opc.c:935 #, fuzzy #| msgid "immediate value out of range" -msgid "Invalid size value must be on range 1-64." +msgid "invalid size value must be on range 1-64." msgstr "立即数越界" -#: arc-opc.c:964 -msgid "Invalid position, should be 0, 8, 16, or 24" +#: arc-opc.c:966 +#, fuzzy +#| msgid "Invalid position, should be 0, 8, 16, or 24" +msgid "invalid position, should be 0, 8, 16, or 24" msgstr "无效的位置,应当为 0、8、16 或 24" -#: arc-opc.c:989 -#, fuzzy -#| msgid "immediate value must be even" -msgid "Invalid size, value must be " -msgstr "DO 步进值为零" +#: arc-opc.c:991 +msgid "invalid size, value must be " +msgstr "无效的大小,值必须为 " -#: arc-opc.c:1063 -#, fuzzy -#| msgid "branch value out of range" +#: arc-opc.c:1065 msgid "value out of range 1 - 256" -msgstr "跳转越界" +msgstr "值越界 1 - 256" -#: arc-opc.c:1072 -#, fuzzy -#| msgid "immediate value must be even" +#: arc-opc.c:1074 msgid "value must be power of 2" -msgstr "DO 步进值为零" +msgstr "值必须是 2 的倍数" -#: arc-opc.c:1125 -msgid "Value must be in the range 0 to 28" +#: arc-opc.c:1127 +msgid "value must be in the range 0 to 28" msgstr "值必须在 0 到 28 的范围中" -#: arc-opc.c:1147 -msgid "Value must be in the range 1 to " +#: arc-opc.c:1149 +msgid "value must be in the range 1 to " msgstr "值的范围必须在 1 到 " -#: arc-opc.c:1177 -msgid "Value must be in the range 0 to 240" +#: arc-opc.c:1179 +msgid "value must be in the range 0 to 240" msgstr "值必须在 0 到 240 的范围中" -#: arc-opc.c:1179 -msgid "Value must be a multiple of 16" +#: arc-opc.c:1181 +msgid "value must be a multiple of 16" msgstr "值必须是 16 的倍数" -#: arc-opc.c:1199 -msgid "Invalid address type for operand" -msgstr "" +#: arc-opc.c:1201 +#, fuzzy +msgid "invalid address type for operand" +msgstr "无效寻址模式" -#: arc-opc.c:1233 -msgid "Value must be in the range 0 to 31" +#: arc-opc.c:1235 +msgid "value must be in the range 0 to 31" msgstr "值必须在 0 到 31 的范围中" -#: arc-opc.c:1258 -msgid "Invalid position, should be 0,4, 8,...124." +#: arc-opc.c:1260 +msgid "invalid position, should be one of: 0,4,8,...124." msgstr "无效的位置,应当为 0、4、8、...、124。" -#: arm-dis.c:3202 -#, fuzzy -#| msgid "Bad register name" +#: arm-dis.c:3229 msgid "Select raw register names" -msgstr "错误的寄存器名" +msgstr "选择原始寄存器名称" -#: arm-dis.c:3204 +#: arm-dis.c:3231 msgid "Select register names used by GCC" -msgstr "" +msgstr "选择 GCC 使用的寄存器名称" -#: arm-dis.c:3206 +#: arm-dis.c:3233 msgid "Select register names used in ARM's ISA documentation" -msgstr "" +msgstr "选择 ARM 的 ISA 文档中使用的寄存器名称" -#: arm-dis.c:3208 +#: arm-dis.c:3235 msgid "Assume all insns are Thumb insns" msgstr "" -#: arm-dis.c:3209 +#: arm-dis.c:3236 msgid "Examine preceding label to determine an insn's type" msgstr "" -#: arm-dis.c:3210 +#: arm-dis.c:3237 #, fuzzy #| msgid "register number must be even" msgid "Select register names used in the APCS" msgstr "立即数不能是寄存器" -#: arm-dis.c:3212 +#: arm-dis.c:3239 #, fuzzy #| msgid "register number must be even" msgid "Select register names used in the ATPCS" msgstr "立即数不能是寄存器" -#: arm-dis.c:3214 +#: arm-dis.c:3241 msgid "Select special register names used in the ATPCS" -msgstr "" +msgstr "选择 ATPCS 中使用的特殊寄存器名称" -#: arm-dis.c:3612 +#: arm-dis.c:3639 msgid "" msgstr "<非法的精度>" -#: arm-dis.c:6125 +#: arm-dis.c:6148 #, c-format msgid "Unrecognised register name set: %s\n" msgstr "无法识别的寄存器名称集:%s\n" -#: arm-dis.c:6829 +#: arm-dis.c:6852 #, c-format msgid "" "\n" @@ -641,10 +617,10 @@ msgid "unknown constraint `%c'" msgstr "未知的约束‘%c’" -#: cgen-asm.c:351 epiphany-ibld.c:200 fr30-ibld.c:200 frv-ibld.c:200 -#: ip2k-ibld.c:200 iq2000-ibld.c:200 lm32-ibld.c:200 m32c-ibld.c:200 -#: m32r-ibld.c:200 mep-ibld.c:200 mt-ibld.c:200 or1k-ibld.c:200 -#: xc16x-ibld.c:200 xstormy16-ibld.c:200 +#: cgen-asm.c:351 epiphany-ibld.c:201 fr30-ibld.c:201 frv-ibld.c:201 +#: ip2k-ibld.c:201 iq2000-ibld.c:201 lm32-ibld.c:201 m32c-ibld.c:201 +#: m32r-ibld.c:201 mep-ibld.c:201 mt-ibld.c:201 or1k-ibld.c:201 +#: xc16x-ibld.c:201 xstormy16-ibld.c:201 #, c-format msgid "operand out of range (%ld not between %ld and %ld)" msgstr "操作数越界(%ld 不在 %ld 和 %ld 之间)" @@ -670,244 +646,236 @@ msgid "Address 0x%s is out of bounds.\n" msgstr "地址 0x%s 越界。\n" -#: epiphany-asm.c:67 +#: epiphany-asm.c:68 #, fuzzy #| msgid "unrecognized form of instruction" msgid "register unavailable for short instructions" msgstr "启用对短加载指令的使用" -#: epiphany-asm.c:114 +#: epiphany-asm.c:115 #, fuzzy #| msgid "register number must be even" msgid "register name used as immediate value" msgstr "立即数不能是寄存器" #. Don't treat "mov ip,ip" as a move-immediate. -#: epiphany-asm.c:177 epiphany-asm.c:233 +#: epiphany-asm.c:178 epiphany-asm.c:234 #, fuzzy msgid "register source in immediate move" msgstr "立即数不能是寄存器" -#: epiphany-asm.c:186 -#, fuzzy +#: epiphany-asm.c:187 msgid "byte relocation unsupported" -msgstr "不支持的 .stab 重定位" +msgstr "不支持字节重定位" #. -- assembler routines inserted here. #. -- asm.c -#: epiphany-asm.c:192 frv-asm.c:971 iq2000-asm.c:55 lm32-asm.c:94 -#: lm32-asm.c:126 lm32-asm.c:156 lm32-asm.c:186 lm32-asm.c:216 lm32-asm.c:246 -#: m32c-asm.c:139 m32c-asm.c:234 m32c-asm.c:275 m32c-asm.c:333 m32c-asm.c:354 -#: m32r-asm.c:52 mep-asm.c:240 mep-asm.c:258 mep-asm.c:273 mep-asm.c:288 -#: mep-asm.c:300 or1k-asm.c:53 +#: epiphany-asm.c:193 frv-asm.c:972 iq2000-asm.c:56 lm32-asm.c:95 +#: lm32-asm.c:127 lm32-asm.c:157 lm32-asm.c:187 lm32-asm.c:217 lm32-asm.c:247 +#: m32c-asm.c:140 m32c-asm.c:235 m32c-asm.c:276 m32c-asm.c:334 m32c-asm.c:355 +#: m32r-asm.c:53 mep-asm.c:241 mep-asm.c:259 mep-asm.c:274 mep-asm.c:289 +#: mep-asm.c:301 or1k-asm.c:54 msgid "missing `)'" msgstr "缺少‘)’" -#: epiphany-asm.c:269 +#: epiphany-asm.c:270 msgid "ABORT: unknown operand" msgstr "中止:未知的操作数" -#: epiphany-asm.c:295 +#: epiphany-asm.c:296 #, fuzzy msgid "Not a pc-relative address." msgstr "生成相对 pc 的代码" -#: epiphany-asm.c:454 fr30-asm.c:309 frv-asm.c:1262 ip2k-asm.c:510 -#: iq2000-asm.c:458 lm32-asm.c:348 m32c-asm.c:1583 m32r-asm.c:327 -#: mep-asm.c:1286 mt-asm.c:594 or1k-asm.c:502 xc16x-asm.c:375 -#: xstormy16-asm.c:275 +#: epiphany-asm.c:455 fr30-asm.c:310 frv-asm.c:1263 ip2k-asm.c:511 +#: iq2000-asm.c:459 lm32-asm.c:349 m32c-asm.c:1584 m32r-asm.c:328 +#: mep-asm.c:1287 mt-asm.c:595 or1k-asm.c:503 xc16x-asm.c:376 +#: xstormy16-asm.c:276 #, fuzzy, c-format msgid "Unrecognized field %d while parsing.\n" msgstr "打印 insn 时遇到无法识别的字段 %d。\n" -#: epiphany-asm.c:505 fr30-asm.c:360 frv-asm.c:1313 ip2k-asm.c:561 -#: iq2000-asm.c:509 lm32-asm.c:399 m32c-asm.c:1634 m32r-asm.c:378 -#: mep-asm.c:1337 mt-asm.c:645 or1k-asm.c:553 xc16x-asm.c:426 -#: xstormy16-asm.c:326 +#: epiphany-asm.c:506 fr30-asm.c:361 frv-asm.c:1314 ip2k-asm.c:562 +#: iq2000-asm.c:510 lm32-asm.c:400 m32c-asm.c:1635 m32r-asm.c:379 +#: mep-asm.c:1338 mt-asm.c:646 or1k-asm.c:554 xc16x-asm.c:427 +#: xstormy16-asm.c:327 msgid "missing mnemonic in syntax string" msgstr "语法字符串中没有助记符" #. We couldn't parse it. -#: epiphany-asm.c:640 epiphany-asm.c:644 epiphany-asm.c:733 epiphany-asm.c:840 -#: fr30-asm.c:495 fr30-asm.c:499 fr30-asm.c:588 fr30-asm.c:695 frv-asm.c:1448 -#: frv-asm.c:1452 frv-asm.c:1541 frv-asm.c:1648 ip2k-asm.c:696 ip2k-asm.c:700 -#: ip2k-asm.c:789 ip2k-asm.c:896 iq2000-asm.c:644 iq2000-asm.c:648 -#: iq2000-asm.c:737 iq2000-asm.c:844 lm32-asm.c:534 lm32-asm.c:538 -#: lm32-asm.c:627 lm32-asm.c:734 m32c-asm.c:1769 m32c-asm.c:1773 -#: m32c-asm.c:1862 m32c-asm.c:1969 m32r-asm.c:513 m32r-asm.c:517 -#: m32r-asm.c:606 m32r-asm.c:713 mep-asm.c:1472 mep-asm.c:1476 mep-asm.c:1565 -#: mep-asm.c:1672 mt-asm.c:780 mt-asm.c:784 mt-asm.c:873 mt-asm.c:980 -#: or1k-asm.c:688 or1k-asm.c:692 or1k-asm.c:781 or1k-asm.c:888 xc16x-asm.c:561 -#: xc16x-asm.c:565 xc16x-asm.c:654 xc16x-asm.c:761 xstormy16-asm.c:461 -#: xstormy16-asm.c:465 xstormy16-asm.c:554 xstormy16-asm.c:661 +#: epiphany-asm.c:641 epiphany-asm.c:645 epiphany-asm.c:734 epiphany-asm.c:841 +#: fr30-asm.c:496 fr30-asm.c:500 fr30-asm.c:589 fr30-asm.c:696 frv-asm.c:1449 +#: frv-asm.c:1453 frv-asm.c:1542 frv-asm.c:1649 ip2k-asm.c:697 ip2k-asm.c:701 +#: ip2k-asm.c:790 ip2k-asm.c:897 iq2000-asm.c:645 iq2000-asm.c:649 +#: iq2000-asm.c:738 iq2000-asm.c:845 lm32-asm.c:535 lm32-asm.c:539 +#: lm32-asm.c:628 lm32-asm.c:735 m32c-asm.c:1770 m32c-asm.c:1774 +#: m32c-asm.c:1863 m32c-asm.c:1970 m32r-asm.c:514 m32r-asm.c:518 +#: m32r-asm.c:607 m32r-asm.c:714 mep-asm.c:1473 mep-asm.c:1477 mep-asm.c:1566 +#: mep-asm.c:1673 mt-asm.c:781 mt-asm.c:785 mt-asm.c:874 mt-asm.c:981 +#: or1k-asm.c:689 or1k-asm.c:693 or1k-asm.c:782 or1k-asm.c:889 xc16x-asm.c:562 +#: xc16x-asm.c:566 xc16x-asm.c:655 xc16x-asm.c:762 xstormy16-asm.c:462 +#: xstormy16-asm.c:466 xstormy16-asm.c:555 xstormy16-asm.c:662 msgid "unrecognized instruction" msgstr "无法识别的指令" -#: epiphany-asm.c:687 fr30-asm.c:542 frv-asm.c:1495 ip2k-asm.c:743 -#: iq2000-asm.c:691 lm32-asm.c:581 m32c-asm.c:1816 m32r-asm.c:560 -#: mep-asm.c:1519 mt-asm.c:827 or1k-asm.c:735 xc16x-asm.c:608 -#: xstormy16-asm.c:508 +#: epiphany-asm.c:688 fr30-asm.c:543 frv-asm.c:1496 ip2k-asm.c:744 +#: iq2000-asm.c:692 lm32-asm.c:582 m32c-asm.c:1817 m32r-asm.c:561 +#: mep-asm.c:1520 mt-asm.c:828 or1k-asm.c:736 xc16x-asm.c:609 +#: xstormy16-asm.c:509 #, c-format msgid "syntax error (expected char `%c', found `%c')" msgstr "语法错误(需要字符‘%c’,得到‘%c’)" -#: epiphany-asm.c:697 fr30-asm.c:552 frv-asm.c:1505 ip2k-asm.c:753 -#: iq2000-asm.c:701 lm32-asm.c:591 m32c-asm.c:1826 m32r-asm.c:570 -#: mep-asm.c:1529 mt-asm.c:837 or1k-asm.c:745 xc16x-asm.c:618 -#: xstormy16-asm.c:518 +#: epiphany-asm.c:698 fr30-asm.c:553 frv-asm.c:1506 ip2k-asm.c:754 +#: iq2000-asm.c:702 lm32-asm.c:592 m32c-asm.c:1827 m32r-asm.c:571 +#: mep-asm.c:1530 mt-asm.c:838 or1k-asm.c:746 xc16x-asm.c:619 +#: xstormy16-asm.c:519 #, c-format msgid "syntax error (expected char `%c', found end of instruction)" msgstr "语法错误(需要字符‘%c’,却到达指令尾)" -#: epiphany-asm.c:727 fr30-asm.c:582 frv-asm.c:1535 ip2k-asm.c:783 -#: iq2000-asm.c:731 lm32-asm.c:621 m32c-asm.c:1856 m32r-asm.c:600 -#: mep-asm.c:1559 mt-asm.c:867 or1k-asm.c:775 xc16x-asm.c:648 -#: xstormy16-asm.c:548 +#: epiphany-asm.c:728 fr30-asm.c:583 frv-asm.c:1536 ip2k-asm.c:784 +#: iq2000-asm.c:732 lm32-asm.c:622 m32c-asm.c:1857 m32r-asm.c:601 +#: mep-asm.c:1560 mt-asm.c:868 or1k-asm.c:776 xc16x-asm.c:649 +#: xstormy16-asm.c:549 msgid "junk at end of line" msgstr "行尾有垃圾字符" -#: epiphany-asm.c:839 fr30-asm.c:694 frv-asm.c:1647 ip2k-asm.c:895 -#: iq2000-asm.c:843 lm32-asm.c:733 m32c-asm.c:1968 m32r-asm.c:712 -#: mep-asm.c:1671 mt-asm.c:979 or1k-asm.c:887 xc16x-asm.c:760 -#: xstormy16-asm.c:660 +#: epiphany-asm.c:840 fr30-asm.c:695 frv-asm.c:1648 ip2k-asm.c:896 +#: iq2000-asm.c:844 lm32-asm.c:734 m32c-asm.c:1969 m32r-asm.c:713 +#: mep-asm.c:1672 mt-asm.c:980 or1k-asm.c:888 xc16x-asm.c:761 +#: xstormy16-asm.c:661 msgid "unrecognized form of instruction" msgstr "无法识别的指令格式" -#: epiphany-asm.c:853 fr30-asm.c:708 frv-asm.c:1661 ip2k-asm.c:909 -#: iq2000-asm.c:857 lm32-asm.c:747 m32c-asm.c:1982 m32r-asm.c:726 -#: mep-asm.c:1685 mt-asm.c:993 or1k-asm.c:901 xc16x-asm.c:774 -#: xstormy16-asm.c:674 +#: epiphany-asm.c:854 fr30-asm.c:709 frv-asm.c:1662 ip2k-asm.c:910 +#: iq2000-asm.c:858 lm32-asm.c:748 m32c-asm.c:1983 m32r-asm.c:727 +#: mep-asm.c:1686 mt-asm.c:994 or1k-asm.c:902 xc16x-asm.c:775 +#: xstormy16-asm.c:675 #, c-format msgid "bad instruction `%.50s...'" msgstr "错误的指令‘%.50s...’" -#: epiphany-asm.c:856 fr30-asm.c:711 frv-asm.c:1664 ip2k-asm.c:912 -#: iq2000-asm.c:860 lm32-asm.c:750 m32c-asm.c:1985 m32r-asm.c:729 -#: mep-asm.c:1688 mt-asm.c:996 or1k-asm.c:904 xc16x-asm.c:777 -#: xstormy16-asm.c:677 +#: epiphany-asm.c:857 fr30-asm.c:712 frv-asm.c:1665 ip2k-asm.c:913 +#: iq2000-asm.c:861 lm32-asm.c:751 m32c-asm.c:1986 m32r-asm.c:730 +#: mep-asm.c:1689 mt-asm.c:997 or1k-asm.c:905 xc16x-asm.c:778 +#: xstormy16-asm.c:678 #, c-format msgid "bad instruction `%.50s'" msgstr "错误的指令‘%.50s’" #. Default text to print if an instruction isn't recognized. -#: epiphany-dis.c:40 fr30-dis.c:40 frv-dis.c:40 ip2k-dis.c:40 iq2000-dis.c:40 -#: lm32-dis.c:40 m32c-dis.c:40 m32r-dis.c:40 mep-dis.c:40 mmix-dis.c:276 -#: mt-dis.c:40 nds32-dis.c:39 or1k-dis.c:40 xc16x-dis.c:40 xstormy16-dis.c:40 +#: epiphany-dis.c:41 fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41 +#: lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:276 +#: mt-dis.c:41 nds32-dis.c:39 or1k-dis.c:41 xc16x-dis.c:41 xstormy16-dis.c:41 msgid "*unknown*" msgstr "*未知*" -#: epiphany-dis.c:277 fr30-dis.c:298 frv-dis.c:395 ip2k-dis.c:287 -#: iq2000-dis.c:188 lm32-dis.c:146 m32c-dis.c:890 m32r-dis.c:278 -#: mep-dis.c:1186 mt-dis.c:289 or1k-dis.c:140 xc16x-dis.c:419 -#: xstormy16-dis.c:167 +#: epiphany-dis.c:278 fr30-dis.c:299 frv-dis.c:396 ip2k-dis.c:288 +#: iq2000-dis.c:189 lm32-dis.c:147 m32c-dis.c:891 m32r-dis.c:279 +#: mep-dis.c:1187 mt-dis.c:290 or1k-dis.c:141 xc16x-dis.c:420 +#: xstormy16-dis.c:168 #, c-format msgid "Unrecognized field %d while printing insn.\n" msgstr "打印 insn 时遇到无法识别的字段 %d。\n" -#: epiphany-ibld.c:163 fr30-ibld.c:163 frv-ibld.c:163 ip2k-ibld.c:163 -#: iq2000-ibld.c:163 lm32-ibld.c:163 m32c-ibld.c:163 m32r-ibld.c:163 -#: mep-ibld.c:163 mt-ibld.c:163 or1k-ibld.c:163 xc16x-ibld.c:163 -#: xstormy16-ibld.c:163 +#: epiphany-ibld.c:164 fr30-ibld.c:164 frv-ibld.c:164 ip2k-ibld.c:164 +#: iq2000-ibld.c:164 lm32-ibld.c:164 m32c-ibld.c:164 m32r-ibld.c:164 +#: mep-ibld.c:164 mt-ibld.c:164 or1k-ibld.c:164 xc16x-ibld.c:164 +#: xstormy16-ibld.c:164 #, c-format msgid "operand out of range (%ld not between %ld and %lu)" msgstr "操作数越界 (%ld 不在 %ld 和 %lu 之间)" -#: epiphany-ibld.c:184 fr30-ibld.c:184 frv-ibld.c:184 ip2k-ibld.c:184 -#: iq2000-ibld.c:184 lm32-ibld.c:184 m32c-ibld.c:184 m32r-ibld.c:184 -#: mep-ibld.c:184 mt-ibld.c:184 or1k-ibld.c:184 xc16x-ibld.c:184 -#: xstormy16-ibld.c:184 +#: epiphany-ibld.c:185 fr30-ibld.c:185 frv-ibld.c:185 ip2k-ibld.c:185 +#: iq2000-ibld.c:185 lm32-ibld.c:185 m32c-ibld.c:185 m32r-ibld.c:185 +#: mep-ibld.c:185 mt-ibld.c:185 or1k-ibld.c:185 xc16x-ibld.c:185 +#: xstormy16-ibld.c:185 #, fuzzy, c-format #| msgid "operand out of range (%lu not between 0 and %lu)" msgid "operand out of range (0x%lx not between 0 and 0x%lx)" msgstr "操作数超出范围 (0x %lx 请不是 0 和 0x %lx 之间)" -#: epiphany-ibld.c:878 fr30-ibld.c:733 frv-ibld.c:859 ip2k-ibld.c:610 -#: iq2000-ibld.c:716 lm32-ibld.c:637 m32c-ibld.c:1734 m32r-ibld.c:668 -#: mep-ibld.c:1211 mt-ibld.c:752 or1k-ibld.c:649 xc16x-ibld.c:755 -#: xstormy16-ibld.c:681 +#: epiphany-ibld.c:879 fr30-ibld.c:734 frv-ibld.c:860 ip2k-ibld.c:611 +#: iq2000-ibld.c:717 lm32-ibld.c:638 m32c-ibld.c:1735 m32r-ibld.c:669 +#: mep-ibld.c:1212 mt-ibld.c:753 or1k-ibld.c:650 xc16x-ibld.c:756 +#: xstormy16-ibld.c:682 #, c-format msgid "Unrecognized field %d while building insn.\n" msgstr "建立 insn 时遇到无法识别的字段 %d。\n" -#: epiphany-ibld.c:1172 fr30-ibld.c:938 frv-ibld.c:1176 ip2k-ibld.c:685 -#: iq2000-ibld.c:891 lm32-ibld.c:741 m32c-ibld.c:2895 m32r-ibld.c:805 -#: mep-ibld.c:1810 mt-ibld.c:972 or1k-ibld.c:754 xc16x-ibld.c:975 -#: xstormy16-ibld.c:827 +#: epiphany-ibld.c:1173 fr30-ibld.c:939 frv-ibld.c:1177 ip2k-ibld.c:686 +#: iq2000-ibld.c:892 lm32-ibld.c:742 m32c-ibld.c:2896 m32r-ibld.c:806 +#: mep-ibld.c:1811 mt-ibld.c:973 or1k-ibld.c:755 xc16x-ibld.c:976 +#: xstormy16-ibld.c:828 #, c-format msgid "Unrecognized field %d while decoding insn.\n" msgstr "解码 insn 时遇到无法识别的字段 %d。\n" -#: epiphany-ibld.c:1315 fr30-ibld.c:1084 frv-ibld.c:1454 ip2k-ibld.c:759 -#: iq2000-ibld.c:1022 lm32-ibld.c:830 m32c-ibld.c:3512 m32r-ibld.c:918 -#: mep-ibld.c:2280 mt-ibld.c:1172 or1k-ibld.c:837 xc16x-ibld.c:1196 -#: xstormy16-ibld.c:937 +#: epiphany-ibld.c:1316 fr30-ibld.c:1085 frv-ibld.c:1455 ip2k-ibld.c:760 +#: iq2000-ibld.c:1023 lm32-ibld.c:831 m32c-ibld.c:3513 m32r-ibld.c:919 +#: mep-ibld.c:2281 mt-ibld.c:1173 or1k-ibld.c:838 xc16x-ibld.c:1197 +#: xstormy16-ibld.c:938 #, c-format msgid "Unrecognized field %d while getting int operand.\n" msgstr "获得 int 操作数时遇到无法识别的字段 %d。\n" -#: epiphany-ibld.c:1440 fr30-ibld.c:1212 frv-ibld.c:1714 ip2k-ibld.c:815 -#: iq2000-ibld.c:1135 lm32-ibld.c:901 m32c-ibld.c:4111 m32r-ibld.c:1013 -#: mep-ibld.c:2732 mt-ibld.c:1354 or1k-ibld.c:902 xc16x-ibld.c:1399 -#: xstormy16-ibld.c:1029 +#: epiphany-ibld.c:1441 fr30-ibld.c:1213 frv-ibld.c:1715 ip2k-ibld.c:816 +#: iq2000-ibld.c:1136 lm32-ibld.c:902 m32c-ibld.c:4112 m32r-ibld.c:1014 +#: mep-ibld.c:2733 mt-ibld.c:1355 or1k-ibld.c:903 xc16x-ibld.c:1400 +#: xstormy16-ibld.c:1030 #, c-format msgid "Unrecognized field %d while getting vma operand.\n" msgstr "获得 vma 操作数时遇到无法识别的字段 %d。\n" -#: epiphany-ibld.c:1572 fr30-ibld.c:1343 frv-ibld.c:1981 ip2k-ibld.c:874 -#: iq2000-ibld.c:1255 lm32-ibld.c:979 m32c-ibld.c:4698 m32r-ibld.c:1114 -#: mep-ibld.c:3145 mt-ibld.c:1543 or1k-ibld.c:974 xc16x-ibld.c:1603 -#: xstormy16-ibld.c:1128 +#: epiphany-ibld.c:1573 fr30-ibld.c:1344 frv-ibld.c:1982 ip2k-ibld.c:875 +#: iq2000-ibld.c:1256 lm32-ibld.c:980 m32c-ibld.c:4699 m32r-ibld.c:1115 +#: mep-ibld.c:3146 mt-ibld.c:1544 or1k-ibld.c:975 xc16x-ibld.c:1604 +#: xstormy16-ibld.c:1129 #, c-format msgid "Unrecognized field %d while setting int operand.\n" msgstr "设置 int 操作数时遇到无法识别的字段 %d。\n" -#: epiphany-ibld.c:1694 fr30-ibld.c:1464 frv-ibld.c:2238 ip2k-ibld.c:923 -#: iq2000-ibld.c:1365 lm32-ibld.c:1047 m32c-ibld.c:5275 m32r-ibld.c:1205 -#: mep-ibld.c:3548 mt-ibld.c:1722 or1k-ibld.c:1036 xc16x-ibld.c:1797 -#: xstormy16-ibld.c:1217 +#: epiphany-ibld.c:1695 fr30-ibld.c:1465 frv-ibld.c:2239 ip2k-ibld.c:924 +#: iq2000-ibld.c:1366 lm32-ibld.c:1048 m32c-ibld.c:5276 m32r-ibld.c:1206 +#: mep-ibld.c:3549 mt-ibld.c:1723 or1k-ibld.c:1037 xc16x-ibld.c:1798 +#: xstormy16-ibld.c:1218 #, c-format msgid "Unrecognized field %d while setting vma operand.\n" msgstr "设置 vma 操作数时遇到无法识别的字段 %d。\n" -#: fr30-asm.c:92 m32c-asm.c:871 m32c-asm.c:878 -#, fuzzy -#| msgid "register number must be even" +#: fr30-asm.c:93 m32c-asm.c:872 m32c-asm.c:879 msgid "Register number is not valid" -msgstr "寄存器数必须是偶数" +msgstr "寄存器数字无效" -#: fr30-asm.c:94 -#, fuzzy -#| msgid "register number must be even" +#: fr30-asm.c:95 msgid "Register must be between r0 and r7" -msgstr "登记册必须 r0 和 r7 之间" +msgstr "寄存器必须 r0 和 r7 之间" -#: fr30-asm.c:96 -#, fuzzy -#| msgid "register number must be even" +#: fr30-asm.c:97 msgid "Register must be between r8 and r15" -msgstr "登记册必须 r8 和 r15 之间" +msgstr "寄存器必须 r8 和 r15 之间" -#: fr30-asm.c:115 m32c-asm.c:909 -#, fuzzy +#: fr30-asm.c:116 m32c-asm.c:910 msgid "Register list is not valid" -msgstr "注册" +msgstr "寄存器列表无效" -#: frv-asm.c:607 +#: frv-asm.c:608 msgid "missing `]'" msgstr "缺少 `]'" -#: frv-asm.c:610 frv-asm.c:620 +#: frv-asm.c:611 frv-asm.c:621 #, fuzzy #| msgid "immediate value is out of range" msgid "Special purpose register number is out of range" msgstr "专用寄存器的编号是超出范围" -#: frv-asm.c:907 +#: frv-asm.c:908 #, fuzzy msgid "Value of A operand must be 0 or 1" msgstr "数字必须是 0 或 1" -#: frv-asm.c:943 +#: frv-asm.c:944 msgid "register number must be even" msgstr "寄存器数必须是偶数" @@ -917,9 +885,9 @@ msgstr "咦... 0x%x" #: h8300-dis.c:690 -#, fuzzy, c-format +#, c-format msgid "Don't understand 0x%x \n" -msgstr "无法识别的重定位类型 0x%x" +msgstr "无法识别 0x%x \n" #: h8500-dis.c:123 #, fuzzy, c-format @@ -932,11 +900,11 @@ msgid "%02x\t\t*unknown*" msgstr "%02x\t\t*未知*" -#: i386-dis.c:12280 +#: i386-dis.c:12330 msgid "" msgstr "<反汇编器内部错误>" -#: i386-dis.c:12579 +#: i386-dis.c:12625 #, c-format msgid "" "\n" @@ -946,151 +914,151 @@ "\n" "下列 i386/x86-64 特定的反汇编器选项在使用 -M 开关时可用(使用逗号分隔多个选项):\n" -#: i386-dis.c:12583 +#: i386-dis.c:12629 #, c-format msgid " x86-64 Disassemble in 64bit mode\n" msgstr " x86-64 在 64 位模式下反汇编\n" -#: i386-dis.c:12584 +#: i386-dis.c:12630 #, c-format msgid " i386 Disassemble in 32bit mode\n" msgstr " i386 在 32 位模式下反汇编\n" -#: i386-dis.c:12585 +#: i386-dis.c:12631 #, c-format msgid " i8086 Disassemble in 16bit mode\n" msgstr " i8086 在 16 位模式下反汇编\n" -#: i386-dis.c:12586 +#: i386-dis.c:12632 #, c-format msgid " att Display instruction in AT&T syntax\n" msgstr " att 用 AT&T 语法显示指令\n" -#: i386-dis.c:12587 +#: i386-dis.c:12633 #, c-format msgid " intel Display instruction in Intel syntax\n" msgstr " intel 用 Intel 语法显示指令\n" -#: i386-dis.c:12588 +#: i386-dis.c:12634 #, fuzzy, c-format msgid "" " att-mnemonic\n" " Display instruction in AT&T mnemonic\n" msgstr " att 用 AT&T 语法显示指令\n" -#: i386-dis.c:12590 +#: i386-dis.c:12636 #, fuzzy, c-format msgid "" " intel-mnemonic\n" " Display instruction in Intel mnemonic\n" msgstr " intel 用 Intel 语法显示指令\n" -#: i386-dis.c:12592 +#: i386-dis.c:12638 #, c-format msgid " addr64 Assume 64bit address size\n" msgstr " addr64 假定 64 位地址大小\n" -#: i386-dis.c:12593 +#: i386-dis.c:12639 #, c-format msgid " addr32 Assume 32bit address size\n" msgstr " addr32 假定 32 位地址大小\n" -#: i386-dis.c:12594 +#: i386-dis.c:12640 #, c-format msgid " addr16 Assume 16bit address size\n" msgstr " addr16 假定 16 位地址大小\n" -#: i386-dis.c:12595 +#: i386-dis.c:12641 #, c-format msgid " data32 Assume 32bit data size\n" msgstr " data32 假定 32 位数据大小\n" -#: i386-dis.c:12596 +#: i386-dis.c:12642 #, c-format msgid " data16 Assume 16bit data size\n" msgstr " data16 假定 16 位数据大小\n" -#: i386-dis.c:12597 +#: i386-dis.c:12643 #, c-format msgid " suffix Always display instruction suffix in AT&T syntax\n" msgstr " suffix 在 AT&T 语法中始终显示指令后缀\n" -#: i386-dis.c:12598 +#: i386-dis.c:12644 #, fuzzy, c-format #| msgid " att Display instruction in AT&T syntax\n" msgid " amd64 Display instruction in AMD64 ISA\n" msgstr " att 用 AT&T 语法显示指令\n" -#: i386-dis.c:12599 +#: i386-dis.c:12645 #, fuzzy, c-format #| msgid " intel Display instruction in Intel syntax\n" msgid " intel64 Display instruction in Intel64 ISA\n" msgstr " intel 用 Intel 语法显示指令\n" -#: i386-dis.c:13150 +#: i386-dis.c:13190 msgid "64-bit address is disabled" msgstr "64 位地址已禁用" -#: i386-gen.c:683 ia64-gen.c:306 +#: i386-gen.c:711 ia64-gen.c:306 #, c-format msgid "%s: Error: " msgstr "%s:错误:" -#: i386-gen.c:847 +#: i386-gen.c:890 #, fuzzy, c-format msgid "%s: %d: Unknown bitfield: %s\n" msgstr "行 %d:未知标签:%s\n" -#: i386-gen.c:849 +#: i386-gen.c:892 #, fuzzy, c-format #| msgid "Unknown error %d\n" msgid "Unknown bitfield: %s\n" msgstr "%s:未知函数‘%u’\n" -#: i386-gen.c:908 +#: i386-gen.c:955 #, fuzzy, c-format msgid "%s: %d: Missing `)' in bitfield: %s\n" msgstr "缺少 %s%d %s:%s\n" -#: i386-gen.c:1179 +#: i386-gen.c:1256 #, fuzzy, c-format msgid "can't find i386-opc.tbl for reading, errno = %s\n" msgstr "找不到阅读,errno i386 opc.tbl = %s" -#: i386-gen.c:1310 +#: i386-gen.c:1387 #, fuzzy, c-format msgid "can't find i386-reg.tbl for reading, errno = %s\n" msgstr "找不到阅读,errno i386 reg.tbl = %s" -#: i386-gen.c:1387 +#: i386-gen.c:1465 #, fuzzy, c-format msgid "can't create i386-init.h, errno = %s\n" msgstr "无法创建 i386-init.h,errno = %s" -#: i386-gen.c:1477 ia64-gen.c:2829 +#: i386-gen.c:1555 ia64-gen.c:2829 #, c-format msgid "unable to change directory to \"%s\", errno = %s\n" msgstr "无法将当前目录切换至“%s”,errno = %s\n" -#: i386-gen.c:1489 i386-gen.c:1492 +#: i386-gen.c:1567 i386-gen.c:1570 #, c-format msgid "CpuMax != %d!\n" msgstr "" -#: i386-gen.c:1496 +#: i386-gen.c:1574 #, c-format msgid "%d unused bits in i386_cpu_flags.\n" msgstr "" -#: i386-gen.c:1503 +#: i386-gen.c:1581 #, fuzzy, c-format msgid "%d unused bits in i386_operand_type.\n" msgstr "%d 未使用的钻头在 i386_operand_type。" -#: i386-gen.c:1517 -#, fuzzy, c-format +#: i386-gen.c:1595 +#, c-format msgid "can't create i386-tbl.h, errno = %s\n" -msgstr "无法创建 i386-tbl.h,errno = %s" +msgstr "无法创建 i386-tbl.h,errno = %s\n" #: ia64-gen.c:319 #, c-format @@ -1196,85 +1164,85 @@ #. We've been passed a w. Return with an error message so that #. cgen will try the next parsing option. -#: ip2k-asm.c:80 +#: ip2k-asm.c:81 msgid "W keyword invalid in FR operand slot." msgstr "W 关键字非法,在 FR 操作数槽位中。" #. Invalid offset present. -#: ip2k-asm.c:105 +#: ip2k-asm.c:106 msgid "offset(IP) is not a valid form" msgstr "偏移量(IP)不是合法格式" #. Found something there in front of (DP) but it's out #. of range. -#: ip2k-asm.c:153 +#: ip2k-asm.c:154 msgid "(DP) offset out of range." msgstr "(DP) 偏移量越界" #. Found something there in front of (SP) but it's out #. of range. -#: ip2k-asm.c:194 +#: ip2k-asm.c:195 msgid "(SP) offset out of range." msgstr "(SP) 偏移量越界。" -#: ip2k-asm.c:210 +#: ip2k-asm.c:211 msgid "illegal use of parentheses" msgstr "括号用法非法" -#: ip2k-asm.c:217 +#: ip2k-asm.c:218 #, fuzzy msgid "operand out of range (not between 1 and 255)" msgstr "操作数越界(%ld 不在 %ld 和 %ld 之间)" #. Something is very wrong. opindex has to be one of the above. -#: ip2k-asm.c:241 +#: ip2k-asm.c:242 #, fuzzy msgid "parse_addr16: invalid opindex." msgstr "无效的‘asm’:" -#: ip2k-asm.c:295 +#: ip2k-asm.c:296 msgid "Byte address required. - must be even." msgstr "" -#: ip2k-asm.c:304 +#: ip2k-asm.c:305 msgid "cgen_parse_address returned a symbol. Literal required." msgstr "" -#: ip2k-asm.c:359 +#: ip2k-asm.c:360 #, fuzzy msgid "percent-operator operand is not a symbol" msgstr "%%L处的 .not. 运算符的操作数为 %s" -#: ip2k-asm.c:412 +#: ip2k-asm.c:413 msgid "Attempt to find bit index of 0" msgstr "" -#: iq2000-asm.c:111 iq2000-asm.c:141 +#: iq2000-asm.c:112 iq2000-asm.c:142 msgid "immediate value cannot be register" msgstr "立即数不能是寄存器" -#: iq2000-asm.c:122 iq2000-asm.c:152 lm32-asm.c:69 +#: iq2000-asm.c:123 iq2000-asm.c:153 lm32-asm.c:70 msgid "immediate value out of range" msgstr "立即数越界" -#: iq2000-asm.c:181 +#: iq2000-asm.c:182 msgid "21-bit offset out of range" msgstr "21位长的偏移量越界" -#: lm32-asm.c:165 +#: lm32-asm.c:166 #, fuzzy msgid "expecting gp relative address: gp(symbol)" msgstr "不能使用非 GP 相对的绝对地址" -#: lm32-asm.c:195 +#: lm32-asm.c:196 msgid "expecting got relative address: got(symbol)" msgstr "" -#: lm32-asm.c:225 +#: lm32-asm.c:226 msgid "expecting got relative address: gotoffhi16(symbol)" msgstr "" -#: lm32-asm.c:255 +#: lm32-asm.c:256 msgid "expecting got relative address: gotofflo16(symbol)" msgstr "" @@ -1288,82 +1256,82 @@ msgid "unknown\t0x%02lx" msgstr "未知\t0x%02lx" -#: m32c-asm.c:116 +#: m32c-asm.c:117 msgid "imm:6 immediate is out of range" msgstr "imm:6 立即数越界" -#: m32c-asm.c:144 +#: m32c-asm.c:145 #, c-format msgid "%dsp8() takes a symbolic address, not a number" msgstr "%dsp8() 使用一个符号地址,而非数字" -#: m32c-asm.c:158 m32c-asm.c:162 m32c-asm.c:252 +#: m32c-asm.c:159 m32c-asm.c:163 m32c-asm.c:253 msgid "dsp:8 immediate is out of range" msgstr "dsp:8 立即数越界" -#: m32c-asm.c:183 m32c-asm.c:187 +#: m32c-asm.c:184 m32c-asm.c:188 msgid "Immediate is out of range -8 to 7" msgstr "立即数越界 (-8 到 7)" -#: m32c-asm.c:208 m32c-asm.c:212 +#: m32c-asm.c:209 m32c-asm.c:213 msgid "Immediate is out of range -7 to 8" msgstr "立即数越界 (-7 到 8)" -#: m32c-asm.c:280 +#: m32c-asm.c:281 #, c-format msgid "%dsp16() takes a symbolic address, not a number" msgstr "%dsp16() 使用一个符号地址,而非数字" -#: m32c-asm.c:304 m32c-asm.c:311 m32c-asm.c:372 +#: m32c-asm.c:305 m32c-asm.c:312 m32c-asm.c:373 msgid "dsp:16 immediate is out of range" msgstr "dsp:16 立即数越界" -#: m32c-asm.c:398 +#: m32c-asm.c:399 msgid "dsp:20 immediate is out of range" msgstr "dsp:20 立即数越界" -#: m32c-asm.c:424 m32c-asm.c:444 +#: m32c-asm.c:425 m32c-asm.c:445 msgid "dsp:24 immediate is out of range" msgstr "dsp:24 立即数越界" -#: m32c-asm.c:477 +#: m32c-asm.c:478 msgid "immediate is out of range 1-2" msgstr "立即数越界 1-2" -#: m32c-asm.c:495 +#: m32c-asm.c:496 msgid "immediate is out of range 1-8" msgstr "立即数越界 1-8" -#: m32c-asm.c:513 +#: m32c-asm.c:514 msgid "immediate is out of range 0-7" msgstr "立即数越界 0-7" -#: m32c-asm.c:549 +#: m32c-asm.c:550 msgid "immediate is out of range 2-9" msgstr "立即数越界 2-9" -#: m32c-asm.c:567 +#: m32c-asm.c:568 msgid "Bit number for indexing general register is out of range 0-15" msgstr "" -#: m32c-asm.c:605 m32c-asm.c:661 +#: m32c-asm.c:606 m32c-asm.c:662 #, fuzzy #| msgid "immediate value is out of range" msgid "bit,base is out of range" msgstr "立即数越界" -#: m32c-asm.c:612 m32c-asm.c:617 m32c-asm.c:665 +#: m32c-asm.c:613 m32c-asm.c:618 m32c-asm.c:666 #, fuzzy #| msgid "21-bit offset out of range" msgid "bit,base out of range for symbol" msgstr "21位长的偏移量越界" -#: m32c-asm.c:801 +#: m32c-asm.c:802 #, fuzzy msgid "not a valid r0l/r0h pair" msgstr "有效的参数为:\n" -#: m32c-asm.c:831 +#: m32c-asm.c:832 #, fuzzy #| msgid "invalid mask field" msgid "Invalid size specifier" @@ -1384,36 +1352,36 @@ msgid "# " msgstr "# <反汇编出错: %08lx>" -#: mep-asm.c:128 +#: mep-asm.c:129 msgid "Only $tp or $13 allowed for this opcode" msgstr "" -#: mep-asm.c:142 +#: mep-asm.c:143 msgid "Only $sp or $15 allowed for this opcode" msgstr "" -#: mep-asm.c:307 mep-asm.c:503 +#: mep-asm.c:308 mep-asm.c:504 #, fuzzy, c-format msgid "invalid %function() here" msgstr "%qE未声明(不在函数内)" -#: mep-asm.c:335 +#: mep-asm.c:336 msgid "Immediate is out of range -32768 to 32767" msgstr "立即数越界 (-32768 到 32767)" -#: mep-asm.c:355 +#: mep-asm.c:356 msgid "Immediate is out of range 0 to 65535" msgstr "立即数越界 (0 到 65535)" -#: mep-asm.c:548 mep-asm.c:561 +#: mep-asm.c:549 mep-asm.c:562 msgid "Immediate is out of range -512 to 511" msgstr "立即数越界 (-512 到 511)" -#: mep-asm.c:553 mep-asm.c:562 +#: mep-asm.c:554 mep-asm.c:563 msgid "Immediate is out of range -128 to 127" msgstr "立即数越界 (-128 到 127)" -#: mep-asm.c:557 +#: mep-asm.c:558 msgid "Value is not aligned enough" msgstr "数值对齐程度不够" @@ -1625,21 +1593,21 @@ msgid "Warning: reserved use of A/L and B/W bits detected" msgstr "" -#: mt-asm.c:109 mt-asm.c:189 +#: mt-asm.c:110 mt-asm.c:190 #, fuzzy msgid "Operand out of range. Must be between -32768 and 32767." msgstr "操作数越界(%lu 不在 0 和 %lu 之间)" -#: mt-asm.c:148 +#: mt-asm.c:149 msgid "Biiiig Trouble in parse_imm16!" msgstr "" -#: mt-asm.c:156 +#: mt-asm.c:157 #, fuzzy msgid "The percent-operator's operand is not a symbol" msgstr "%%L处的 .not. 运算符的操作数为 %s" -#: mt-asm.c:394 +#: mt-asm.c:395 msgid "invalid operand. type may have values 0,1,2 only." msgstr "" @@ -1653,12 +1621,12 @@ msgid "$" msgstr "$<未定义>" -#: ppc-dis.c:354 +#: ppc-dis.c:359 #, fuzzy, c-format msgid "warning: ignoring unknown -M%s option\n" msgstr "警告:忽略--strip-program 选项,因为-s 选项没有指明" -#: ppc-dis.c:805 +#: ppc-dis.c:880 #, c-format msgid "" "\n" @@ -1668,83 +1636,110 @@ "\n" "下列 PPC 特定的反汇编器选项在使用 -M 开关时可用(使用逗号分隔多个选项):\n" -#: ppc-opc.c:992 ppc-opc.c:1015 ppc-opc.c:1040 ppc-opc.c:1069 +#: ppc-opc.c:52 ppc-opc.c:75 ppc-opc.c:100 ppc-opc.c:129 msgid "invalid register" msgstr "无效的寄存器" -#: ppc-opc.c:1317 ppc-opc.c:1347 +#: ppc-opc.c:377 ppc-opc.c:405 msgid "invalid conditional option" msgstr "无效的条件选项" -#: ppc-opc.c:1319 ppc-opc.c:1349 +#: ppc-opc.c:379 ppc-opc.c:407 #, fuzzy msgid "invalid counter access" msgstr "没有访问权限" -#: ppc-opc.c:1351 +#: ppc-opc.c:409 msgid "attempt to set y bit when using + or - modifier" msgstr "" -#: ppc-opc.c:1441 +#: ppc-opc.c:500 msgid "invalid mask field" msgstr "无效的掩码字段" -#: ppc-opc.c:1464 +#: ppc-opc.c:523 #, fuzzy msgid "invalid mfcr mask" msgstr "无效的掩码字段" -#: ppc-opc.c:1538 ppc-opc.c:1578 +#: ppc-opc.c:596 ppc-opc.c:636 #, fuzzy msgid "illegal L operand value" msgstr "立即数" -#: ppc-opc.c:1584 +#: ppc-opc.c:642 msgid "incompatible L operand value" msgstr "" -#: ppc-opc.c:1628 ppc-opc.c:1663 +#: ppc-opc.c:686 ppc-opc.c:721 msgid "illegal bitmask" msgstr "非法的位掩码" -#: ppc-opc.c:1750 +#: ppc-opc.c:808 #, fuzzy msgid "address register in load range" msgstr "地址中无寄存器" -#: ppc-opc.c:1816 +#: ppc-opc.c:874 #, fuzzy msgid "index register in load range" msgstr "寄存器元素下标" -#: ppc-opc.c:1845 ppc-opc.c:1926 +#: ppc-opc.c:903 ppc-opc.c:984 msgid "source and target register operands must be different" msgstr "" -#: ppc-opc.c:1873 +#: ppc-opc.c:931 msgid "invalid register operand when updating" msgstr "" -#: ppc-opc.c:1989 +#: ppc-opc.c:1047 msgid "illegal immediate value" msgstr "非法的立即数" -#: ppc-opc.c:2136 +#: ppc-opc.c:1194 #, fuzzy msgid "invalid sprg number" msgstr "无效的数字。" -#: ppc-opc.c:2173 +#: ppc-opc.c:1231 #, fuzzy msgid "invalid tbr number" msgstr "无效的数字。" -#: ppc-opc.c:2317 +#: ppc-opc.c:1373 #, fuzzy #| msgid "invalid conditional option" msgid "invalid constant" msgstr "%<#pragma pack%>中有无效常量 - 已忽略" +#: ppc-opc.c:1478 ppc-opc.c:1505 ppc-opc.c:1532 ppc-opc.c:1559 +msgid "UIMM = 00000 is illegal" +msgstr "" + +#: ppc-opc.c:1586 +msgid "UIMM values >7 are illegal" +msgstr "" + +#: ppc-opc.c:1613 +msgid "UIMM values >15 are illegal" +msgstr "" + +#: ppc-opc.c:1640 +msgid "GPR odd is illegal" +msgstr "" + +#: ppc-opc.c:1667 ppc-opc.c:1694 +#, fuzzy +#| msgid "invalid register offset" +msgid "invalid offset" +msgstr "无效的寄存器偏移量" + +#: ppc-opc.c:1721 +#, fuzzy +msgid "invalid Ddd value" +msgstr "无效的数字。" + #. Invalid option. #: riscv-dis.c:68 #, fuzzy, c-format @@ -1752,13 +1747,13 @@ msgid "Unrecognized disassembler option: %s\n" msgstr "无法识别的反汇编器选项:%s\n" -#: riscv-dis.c:344 +#: riscv-dis.c:346 #, fuzzy, c-format #| msgid "# internal error, undefined modifier(%c)" msgid "# internal error, undefined modifier (%c)" msgstr "<操作数表中出现内部错误:%s %s>\n" -#: riscv-dis.c:496 +#: riscv-dis.c:498 #, fuzzy, c-format #| msgid "" #| "\n" @@ -1772,14 +1767,14 @@ "\n" "下列 MIPS 特定的反汇编器选项可通过 -M 开关启用(使用逗号分隔多个选项):\n" -#: riscv-dis.c:500 +#: riscv-dis.c:502 #, c-format msgid "" "\n" -" numeric Print numeric reigster names, rather than ABI names.\n" +" numeric Print numeric register names, rather than ABI names.\n" msgstr "" -#: riscv-dis.c:503 +#: riscv-dis.c:505 #, c-format msgid "" "\n" @@ -1950,69 +1945,69 @@ "\n" "下列 ARM 特定的反汇编器选项可通过 -M 开关启用:\n" -#: xc16x-asm.c:65 +#: xc16x-asm.c:66 msgid "Missing '#' prefix" msgstr "缺失 '#' 前缀" -#: xc16x-asm.c:81 +#: xc16x-asm.c:82 msgid "Missing '.' prefix" msgstr "缺失 '.' 前缀" -#: xc16x-asm.c:97 +#: xc16x-asm.c:98 msgid "Missing 'pof:' prefix" msgstr "缺失 'pof:' 前缀" -#: xc16x-asm.c:113 +#: xc16x-asm.c:114 msgid "Missing 'pag:' prefix" msgstr "缺失 'pag:' 前缀" -#: xc16x-asm.c:129 +#: xc16x-asm.c:130 msgid "Missing 'sof:' prefix" msgstr "缺失 'sof:' 前缀" -#: xc16x-asm.c:145 +#: xc16x-asm.c:146 msgid "Missing 'seg:' prefix" msgstr "缺失 'seg:' 前缀" -#: xstormy16-asm.c:70 +#: xstormy16-asm.c:71 msgid "Bad register in preincrement" msgstr "前置自增中使用了错误的寄存器" -#: xstormy16-asm.c:75 +#: xstormy16-asm.c:76 msgid "Bad register in postincrement" msgstr "后置自增中使用了错误的寄存器" -#: xstormy16-asm.c:77 +#: xstormy16-asm.c:78 msgid "Bad register name" msgstr "错误的寄存器名" -#: xstormy16-asm.c:81 +#: xstormy16-asm.c:82 msgid "Label conflicts with register name" msgstr "标号与寄存器名冲突" -#: xstormy16-asm.c:85 +#: xstormy16-asm.c:86 msgid "Label conflicts with `Rx'" msgstr "标号与‘Rx’冲突" -#: xstormy16-asm.c:87 +#: xstormy16-asm.c:88 msgid "Bad immediate expression" msgstr "错误的立即数表达式" -#: xstormy16-asm.c:108 +#: xstormy16-asm.c:109 #, fuzzy msgid "No relocation for small immediate" msgstr "立即数" -#: xstormy16-asm.c:118 +#: xstormy16-asm.c:119 #, fuzzy msgid "Small operand was not an immediate number" msgstr "符号被用作立即操作数" -#: xstormy16-asm.c:156 +#: xstormy16-asm.c:157 msgid "Operand is not a symbol" msgstr "操作数不是一个符号" -#: xstormy16-asm.c:164 +#: xstormy16-asm.c:165 msgid "Syntax error: No trailing ')'" msgstr "语法错误:没有结尾的‘)’" diff -Nru binutils-2.30.51.20180512/opcodes/ppc-dis.c binutils-2.30.52.20180613/opcodes/ppc-dis.c --- binutils-2.30.51.20180512/opcodes/ppc-dis.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/ppc-dis.c 2018-06-04 21:27:35.000000000 +0200 @@ -725,12 +725,6 @@ operand = powerpc_operands + *opindex; - /* Operands that are marked FAKE are simply ignored. We - already made sure that the extract function considered - the instruction to be valid. */ - if ((operand->flags & PPC_OPERAND_FAKE) != 0) - continue; - /* If all of the optional operands have the value zero, then don't print any of them. */ if ((operand->flags & PPC_OPERAND_OPTIONAL) != 0) diff -Nru binutils-2.30.51.20180512/opcodes/ppc-opc.c binutils-2.30.52.20180613/opcodes/ppc-opc.c --- binutils-2.30.51.20180512/opcodes/ppc-opc.c 2018-05-12 16:16:58.000000000 +0200 +++ binutils-2.30.52.20180613/opcodes/ppc-opc.c 2018-06-04 21:27:35.000000000 +0200 @@ -143,54 +143,59 @@ return value + 16; } -/* The BA field in an XL form instruction when it must be the same as - the BT field in the same instruction. This operand is marked FAKE. - The insertion function just copies the BT field into the BA field, - and the extraction function just checks that the fields are the - same. */ +/* The BA and BB fields in an XL form instruction or the RA and RB fields or + VRA and VRB fields in a VX form instruction when they must be the same. + This is used for extended mnemonics like crclr. The extraction function + enforces that the fields are the same. */ static uint64_t -insert_bat (uint64_t insn, - int64_t value ATTRIBUTE_UNUSED, +insert_bab (uint64_t insn, + int64_t value, ppc_cpu_t dialect ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) { - return insn | (((insn >> 21) & 0x1f) << 16); + value &= 0x1f; + return insn | (value << 16) | (value << 11); } static int64_t -extract_bat (uint64_t insn, +extract_bab (uint64_t insn, ppc_cpu_t dialect ATTRIBUTE_UNUSED, int *invalid) { - if (((insn >> 21) & 0x1f) != ((insn >> 16) & 0x1f)) + int64_t ba = (insn >> 16) & 0x1f; + int64_t bb = (insn >> 11) & 0x1f; + + if (ba != bb) *invalid = 1; - return 0; + return ba; } -/* The BB field in an XL form instruction when it must be the same as - the BA field in the same instruction. This operand is marked FAKE. - The insertion function just copies the BA field into the BB field, - and the extraction function just checks that the fields are the - same. */ +/* The BT, BA and BB fields in an XL form instruction when they must all be + the same. This is used for extended mnemonics like crclr. The extraction + function enforces that the fields are the same. */ static uint64_t -insert_bba (uint64_t insn, - int64_t value ATTRIBUTE_UNUSED, - ppc_cpu_t dialect ATTRIBUTE_UNUSED, - const char **errmsg ATTRIBUTE_UNUSED) +insert_btab (uint64_t insn, + int64_t value, + ppc_cpu_t dialect, + const char **errmsg) { - return insn | (((insn >> 16) & 0x1f) << 11); + value &= 0x1f; + return (value << 21) | insert_bab (insn, value, dialect, errmsg); } static int64_t -extract_bba (uint64_t insn, - ppc_cpu_t dialect ATTRIBUTE_UNUSED, +extract_btab (uint64_t insn, + ppc_cpu_t dialect, int *invalid) { - if (((insn >> 16) & 0x1f) != ((insn >> 11) & 0x1f)) + int64_t bt = (insn >> 21) & 0x1f; + int64_t bab = extract_bab (insn, dialect, invalid); + + if (bt != bab) *invalid = 1; - return 0; + return bt; } /* The BD field in a B form instruction when the - modifier is used. @@ -944,29 +949,31 @@ return ravalue; } -/* The RB field in an X form instruction when it must be the same as - the RS field in the instruction. This is used for extended - mnemonics like mr. This operand is marked FAKE. The insertion - function just copies the BT field into the BA field, and the - extraction function just checks that the fields are the same. */ +/* The RS and RB fields in an X form instruction when they must be the same. + This is used for extended mnemonics like mr. The extraction function + enforces that the fields are the same. */ static uint64_t -insert_rbs (uint64_t insn, - int64_t value ATTRIBUTE_UNUSED, +insert_rsb (uint64_t insn, + int64_t value, ppc_cpu_t dialect ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) { - return insn | (((insn >> 21) & 0x1f) << 11); + value &= 0x1f; + return insn | (value << 21) | (value << 11); } static int64_t -extract_rbs (uint64_t insn, +extract_rsb (uint64_t insn, ppc_cpu_t dialect ATTRIBUTE_UNUSED, int *invalid) { - if (((insn >> 21) & 0x1f) != ((insn >> 11) & 0x1f)) + int64_t rs = (insn >> 21) & 0x1f; + int64_t rb = (insn >> 11) & 0x1f; + + if (rs != rb) *invalid = 1; - return 0; + return rs; } /* The RB field in an lswx instruction, which has special value @@ -1318,30 +1325,31 @@ return ((insn << 4) & 0x20) | ((insn >> 11) & 0x1f); } -/* The XB field in an XX3 form instruction when it must be the same as - the XA field in the instruction. This is used for extended - mnemonics like xvmovdp. This operand is marked FAKE. The insertion - function just copies the XA field into the XB field, and the - extraction function just checks that the fields are the same. */ +/* The XA and XB fields in an XX3 form instruction when they must be the same. + This is used for extended mnemonics like xvmovdp. The extraction function + enforces that the fields are the same. */ static uint64_t -insert_xb6s (uint64_t insn, - int64_t value ATTRIBUTE_UNUSED, - ppc_cpu_t dialect ATTRIBUTE_UNUSED, - const char **errmsg ATTRIBUTE_UNUSED) +insert_xab6 (uint64_t insn, + int64_t value, + ppc_cpu_t dialect, + const char **errmsg) { - return insn | (((insn >> 16) & 0x1f) << 11) | (((insn >> 2) & 0x1) << 1); + return insert_xa6 (insn, value, dialect, errmsg) + | insert_xb6 (insn, value, dialect, errmsg); } static int64_t -extract_xb6s (uint64_t insn, - ppc_cpu_t dialect ATTRIBUTE_UNUSED, +extract_xab6 (uint64_t insn, + ppc_cpu_t dialect, int *invalid) { - if ((((insn >> 16) & 0x1f) != ((insn >> 11) & 0x1f)) - || (((insn >> 2) & 0x1) != ((insn >> 1) & 0x1))) + int64_t xa6 = extract_xa6 (insn, dialect, invalid); + int64_t xb6 = extract_xb6 (insn, dialect, invalid); + + if (xa6 != xb6) *invalid = 1; - return 0; + return xa6; } /* The XC field in an XX4 form instruction. This is split. */ @@ -1756,27 +1764,34 @@ #define BI_MASK (0x1f << 16) { 0x1f, 16, NULL, NULL, PPC_OPERAND_CR_BIT }, - /* The BA field in an XL form instruction when it must be the same - as the BT field in the same instruction. */ -#define BAT BA + 1 - { 0x1f, 16, insert_bat, extract_bat, PPC_OPERAND_FAKE }, + /* The BT, BA and BB fields in a XL form instruction when they must all + be the same. */ +#define BTAB BA + 1 + { 0x1f, 21, insert_btab, extract_btab, PPC_OPERAND_CR_BIT }, /* The BB field in an XL form instruction. */ -#define BB BAT + 1 +#define BB BTAB + 1 #define BB_MASK (0x1f << 11) { 0x1f, 11, NULL, NULL, PPC_OPERAND_CR_BIT }, - /* The BB field in an XL form instruction when it must be the same - as the BA field in the same instruction. */ -#define BBA BB + 1 - /* The VB field in a VX form instruction when it must be the same - as the VA field in the same instruction. */ -#define VBA BBA - { 0x1f, 11, insert_bba, extract_bba, PPC_OPERAND_FAKE }, + /* The BA and BB fields in a XL form instruction when they must be + the same. */ +#define BAB BB + 1 + { 0x1f, 16, insert_bab, extract_bab, PPC_OPERAND_CR_BIT }, + + /* The VRA and VRB fields in a VX form instruction when they must be the same. + This is used for extended mnemonics like vmr. */ +#define VAB BAB + 1 + { 0x1f, 16, insert_bab, extract_bab, PPC_OPERAND_VR }, + + /* The RA and RB fields in a VX form instruction when they must be the same. + This is used for extended mnemonics like evmr. */ +#define RAB VAB + 1 + { 0x1f, 16, insert_bab, extract_bab, PPC_OPERAND_GPR }, /* The BD field in a B form instruction. The lower two bits are forced to zero. */ -#define BD BBA + 1 +#define BD RAB + 1 { 0xfffc, 0, NULL, NULL, PPC_OPERAND_RELATIVE | PPC_OPERAND_SIGNED }, /* The BD field in a B form instruction when absolute addressing is @@ -2155,15 +2170,14 @@ #define RB_MASK (0x1f << 11) { 0x1f, 11, NULL, NULL, PPC_OPERAND_GPR }, - /* The RB field in an X form instruction when it must be the same as - the RS field in the instruction. This is used for extended - mnemonics like mr. */ -#define RBS RB + 1 - { 0x1f, 11, insert_rbs, extract_rbs, PPC_OPERAND_FAKE }, + /* The RS and RB fields in an X form instruction when they must be the same. + This is used for extended mnemonics like mr. */ +#define RSB RB + 1 + { 0x1f, 11, insert_rsb, extract_rsb, PPC_OPERAND_GPR }, /* The RB field in an lswx instruction, which has special value restrictions. */ -#define RBX RBS + 1 +#define RBX RSB + 1 { 0x1f, 11, insert_rbx, extract_rbx, PPC_OPERAND_GPR }, /* The RB field of the dccci and iccci instructions, which are optional. */ @@ -2564,14 +2578,13 @@ #define XB6 XA6 + 1 { 0x3f, PPC_OPSHIFT_INV, insert_xb6, extract_xb6, PPC_OPERAND_VSR }, - /* The XB field in an XX3 form instruction when it must be the same as - the XA field in the instruction. This is used in extended mnemonics - like xvmovdp. This is split. */ -#define XB6S XB6 + 1 - { 0x3f, PPC_OPSHIFT_INV, insert_xb6s, extract_xb6s, PPC_OPERAND_FAKE }, + /* The XA and XB fields in an XX3 form instruction when they must be the same. + This is used in extended mnemonics like xvmovdp. This is split. */ +#define XAB6 XB6 + 1 + { 0x3f, PPC_OPSHIFT_INV, insert_xab6, extract_xab6, PPC_OPERAND_VSR }, /* The XC field in an XX4 form instruction. This is split. */ -#define XC6 XB6S + 1 +#define XC6 XAB6 + 1 { 0x3f, PPC_OPSHIFT_INV, insert_xc6, extract_xc6, PPC_OPERAND_VSR }, /* The DM or SHW field in an XX3 form instruction. */ @@ -3792,10 +3805,10 @@ {"evand", VX (4, 529), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, {"evandc", VX (4, 530), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, {"evxor", VX (4, 534), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, -{"evmr", VX (4, 535), VX_MASK, PPCSPE, 0, {RS, RA, BBA}}, +{"evmr", VX (4, 535), VX_MASK, PPCSPE, 0, {RS, RAB}}, {"evor", VX (4, 535), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, +{"evnot", VX (4, 536), VX_MASK, PPCSPE, 0, {RS, RAB}}, {"evnor", VX (4, 536), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, -{"evnot", VX (4, 536), VX_MASK, PPCSPE, 0, {RS, RA, BBA}}, {"get", APU(4, 268,0), APU_RA_MASK, PPC405, 0, {RT, FSL}}, {"eveqv", VX (4, 537), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, {"evorc", VX (4, 539), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, @@ -4139,7 +4152,7 @@ {"bcdus.", VX (4,1153), VX_MASK, PPCVEC3, 0, {VD, VA, VB}}, {"vavguw", VX (4,1154), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, {"vabsduw", VX (4,1155), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, -{"vmr", VX (4,1156), VX_MASK, PPCVEC, 0, {VD, VA, VBA}}, +{"vmr", VX (4,1156), VX_MASK, PPCVEC, 0, {VD, VAB}}, {"vor", VX (4,1156), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, {"vcmpnew.", VXR(4, 135,1), VXR_MASK, PPCVEC3, 0, {VD, VA, VB}}, {"vpmsumw", VX (4,1160), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, @@ -4183,7 +4196,7 @@ {"vavgsb", VX (4,1282), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, {"evmhessfaaw", VX (4,1283), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, {"evmhousiaaw", VX (4,1284), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, -{"vnot", VX (4,1284), VX_MASK, PPCVEC, 0, {VD, VA, VBA}}, +{"vnot", VX (4,1284), VX_MASK, PPCVEC, 0, {VD, VAB}}, {"vnor", VX (4,1284), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, {"evmhossiaaw", VX (4,1285), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, {"udi4fcm.", APU(4, 643,0), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, @@ -4955,7 +4968,7 @@ {"rfid", XL(19,18), 0xffffffff, PPC64, PPCVLE, {0}}, -{"crnot", XL(19,33), XL_MASK, PPCCOM, PPCVLE, {BT, BA, BBA}}, +{"crnot", XL(19,33), XL_MASK, PPCCOM, PPCVLE, {BT, BAB}}, {"crnor", XL(19,33), XL_MASK, COM, PPCVLE, {BT, BA, BB}}, {"rfmci", X(19,38), 0xffffffff, PPCRFMCI|PPCA2|PPC476, PPCVLE, {0}}, @@ -4975,7 +4988,7 @@ {"isync", XL(19,150), 0xffffffff, PPCCOM, PPCVLE, {0}}, {"ics", XL(19,150), 0xffffffff, PWRCOM, PPCVLE, {0}}, -{"crclr", XL(19,193), XL_MASK, PPCCOM, PPCVLE, {BT, BAT, BBA}}, +{"crclr", XL(19,193), XL_MASK, PPCCOM, PPCVLE, {BTAB}}, {"crxor", XL(19,193), XL_MASK, COM, PPCVLE, {BT, BA, BB}}, {"dnh", X(19,198), X_MASK, E500MC, PPCVLE, {DUI, DUIS}}, @@ -4986,7 +4999,7 @@ {"hrfid", XL(19,274), 0xffffffff, POWER5|CELL, PPC476|PPCVLE, {0}}, -{"crset", XL(19,289), XL_MASK, PPCCOM, PPCVLE, {BT, BAT, BBA}}, +{"crset", XL(19,289), XL_MASK, PPCCOM, PPCVLE, {BTAB}}, {"creqv", XL(19,289), XL_MASK, COM, PPCVLE, {BT, BA, BB}}, {"urfid", XL(19,306), 0xffffffff, POWER9, PPCVLE, {0}}, @@ -4998,7 +5011,7 @@ {"nap", XL(19,434), 0xffffffff, POWER6, POWER9|PPCVLE, {0}}, -{"crmove", XL(19,449), XL_MASK, PPCCOM, PPCVLE, {BT, BA, BBA}}, +{"crmove", XL(19,449), XL_MASK, PPCCOM, PPCVLE, {BT, BAB}}, {"cror", XL(19,449), XL_MASK, COM, PPCVLE, {BT, BA, BB}}, {"sleep", XL(19,466), 0xffffffff, POWER6, POWER9|PPCVLE, {0}}, @@ -5463,9 +5476,9 @@ {"popcntb", X(31,122), XRB_MASK, POWER5, 0, {RA, RS}}, -{"not", XRC(31,124,0), X_MASK, COM, 0, {RA, RS, RBS}}, +{"not", XRC(31,124,0), X_MASK, COM, 0, {RA, RSB}}, {"nor", XRC(31,124,0), X_MASK, COM, 0, {RA, RS, RB}}, -{"not.", XRC(31,124,1), X_MASK, COM, 0, {RA, RS, RBS}}, +{"not.", XRC(31,124,1), X_MASK, COM, 0, {RA, RSB}}, {"nor.", XRC(31,124,1), X_MASK, COM, 0, {RA, RS, RB}}, {"dcbfep", XRT(31,127,0), XRT_MASK, E500MC|PPCA2, 0, {RA0, RB}}, @@ -6073,9 +6086,9 @@ {"yield", 0x7f7bdb78, 0xffffffff, POWER7, 0, {0}}, {"mdoio", 0x7fbdeb78, 0xffffffff, POWER7, 0, {0}}, {"mdoom", 0x7fdef378, 0xffffffff, POWER7, 0, {0}}, -{"mr", XRC(31,444,0), X_MASK, COM, 0, {RA, RS, RBS}}, +{"mr", XRC(31,444,0), X_MASK, COM, 0, {RA, RSB}}, {"or", XRC(31,444,0), X_MASK, COM, 0, {RA, RS, RB}}, -{"mr.", XRC(31,444,1), X_MASK, COM, 0, {RA, RS, RBS}}, +{"mr.", XRC(31,444,1), X_MASK, COM, 0, {RA, RSB}}, {"or.", XRC(31,444,1), X_MASK, COM, 0, {RA, RS, RB}}, {"mtexisr", XSPR(31,451, 64), XSPR_MASK, PPC403, 0, {RS}}, @@ -7052,9 +7065,9 @@ {"xxsel", XX4(60,3), XX4_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6, XC6}}, {"xssubsp", XX3(60,8), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, {"xsmaddmsp", XX3(60,9), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, -{"xxspltd", XX3(60,10), XX3DM_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6S, DMEX}}, +{"xxspltd", XX3(60,10), XX3DM_MASK, PPCVSX, PPCVLE, {XT6, XAB6, DMEX}}, {"xxmrghd", XX3(60,10), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, -{"xxswapd", XX3(60,10)|(2<<8), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6S}}, +{"xxswapd", XX3(60,10)|(2<<8), XX3_MASK, PPCVSX, PPCVLE, {XT6, XAB6}}, {"xxmrgld", XX3(60,10)|(3<<8), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, {"xxpermdi", XX3(60,10), XX3DM_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6, DM}}, {"xscmpgtdp", XX3(60,11), XX3_MASK, PPCVSX3, PPCVLE, {XT6, XA6, XB6}}, @@ -7202,7 +7215,7 @@ {"xvnmaddmsp", XX3(60,201), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, {"xvcvspsxds", XX2(60,408), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, {"xvabssp", XX2(60,409), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, -{"xvmovsp", XX3(60,208), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6S}}, +{"xvmovsp", XX3(60,208), XX3_MASK, PPCVSX, PPCVLE, {XT6, XAB6}}, {"xvcpsgnsp", XX3(60,208), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, {"xvnmsubasp", XX3(60,209), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, {"xvcvuxdsp", XX2(60,424), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, @@ -7231,7 +7244,7 @@ {"xvcvhpsp", XX2VA(60,475,24),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, {"xvcvsphp", XX2VA(60,475,25),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, {"xxbrq", XX2VA(60,475,31),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, -{"xvmovdp", XX3(60,240), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6S}}, +{"xvmovdp", XX3(60,240), XX3_MASK, PPCVSX, PPCVLE, {XT6, XAB6}}, {"xvcpsgndp", XX3(60,240), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, {"xvnmsubadp", XX3(60,241), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, {"xvcvuxddp", XX2(60,488), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, @@ -8419,9 +8432,9 @@ {"e_cmphl", X(31,46), X_MASK, PPCVLE, 0, {CRD, RA, RB}}, {"e_crandc", XL(31,129), XL_MASK, PPCVLE, 0, {BT, BA, BB}}, {"e_crnand", XL(31,225), XL_MASK, PPCVLE, 0, {BT, BA, BB}}, -{"e_crnot", XL(31,33), XL_MASK, PPCVLE, 0, {BT, BA, BBA}}, +{"e_crnot", XL(31,33), XL_MASK, PPCVLE, 0, {BT, BAB}}, {"e_crnor", XL(31,33), XL_MASK, PPCVLE, 0, {BT, BA, BB}}, -{"e_crclr", XL(31,193), XL_MASK, PPCVLE, 0, {BT, BAT, BBA}}, +{"e_crclr", XL(31,193), XL_MASK, PPCVLE, 0, {BTAB}}, {"e_crxor", XL(31,193), XL_MASK, PPCVLE, 0, {BT, BA, BB}}, {"e_mcrf", XL(31,16), XL_MASK, PPCVLE, 0, {CRD, CR}}, {"e_slwi", EX(31,112), EX_MASK, PPCVLE, 0, {RA, RS, SH}}, @@ -8432,7 +8445,7 @@ {"e_rlw", EX(31,560), EX_MASK, PPCVLE, 0, {RA, RS, RB}}, {"e_rlw.", EX(31,561), EX_MASK, PPCVLE, 0, {RA, RS, RB}}, -{"e_crset", XL(31,289), XL_MASK, PPCVLE, 0, {BT, BAT, BBA}}, +{"e_crset", XL(31,289), XL_MASK, PPCVLE, 0, {BTAB}}, {"e_creqv", XL(31,289), XL_MASK, PPCVLE, 0, {BT, BA, BB}}, {"e_rlwi", EX(31,624), EX_MASK, PPCVLE, 0, {RA, RS, SH}}, @@ -8440,7 +8453,7 @@ {"e_crorc", XL(31,417), XL_MASK, PPCVLE, 0, {BT, BA, BB}}, -{"e_crmove", XL(31,449), XL_MASK, PPCVLE, 0, {BT, BA, BBA}}, +{"e_crmove", XL(31,449), XL_MASK, PPCVLE, 0, {BT, BAB}}, {"e_cror", XL(31,449), XL_MASK, PPCVLE, 0, {BT, BA, BB}}, {"mtmas1", XSPR(31,467,625), XSPR_MASK, PPCVLE, 0, {RS}}, diff -Nru binutils-2.30.51.20180512/opcodes/rl78-decode.c binutils-2.30.52.20180613/opcodes/rl78-decode.c --- binutils-2.30.51.20180512/opcodes/rl78-decode.c 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/opcodes/rl78-decode.c 2018-06-04 21:27:35.000000000 +0200 @@ -26,7 +26,7 @@ #include #include #include -#include "ansidecl.h" +#include "bfd.h" #include "opintl.h" #include "opcode/rl78.h" diff -Nru binutils-2.30.51.20180512/opcodes/rl78-decode.opc binutils-2.30.52.20180613/opcodes/rl78-decode.opc --- binutils-2.30.51.20180512/opcodes/rl78-decode.opc 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/opcodes/rl78-decode.opc 2018-06-04 21:27:35.000000000 +0200 @@ -24,7 +24,7 @@ #include #include #include -#include "ansidecl.h" +#include "bfd.h" #include "opintl.h" #include "opcode/rl78.h" diff -Nru binutils-2.30.51.20180512/opcodes/s12z-dis.c binutils-2.30.52.20180613/opcodes/s12z-dis.c --- binutils-2.30.51.20180512/opcodes/s12z-dis.c 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/opcodes/s12z-dis.c 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,2672 @@ +/* s12z-dis.c -- Freescale S12Z disassembly + Copyright (C) 2018 Free Software Foundation, Inc. + + This file is part of the GNU opcodes library. + + This library 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 3, or (at your option) + any later version. + + It 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., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +#include "sysdep.h" +#include +#include +#include +#include + +#include "s12z.h" + +#include "bfd.h" +#include "dis-asm.h" + + +#include "disassemble.h" + +static int +read_memory (bfd_vma memaddr, bfd_byte* buffer, int size, + struct disassemble_info* info) +{ + int status = (*info->read_memory_func) (memaddr, buffer, size, info); + if (status != 0) + { + (*info->memory_error_func) (status, memaddr, info); + return -1; + } + return 0; +} + +typedef int (* insn_bytes_f) (bfd_vma memaddr, + struct disassemble_info* info); + +typedef void (*operands_f) (bfd_vma memaddr, struct disassemble_info* info); + +enum OPR_MODE + { + OPR_IMMe4, + OPR_REG, + OPR_OFXYS, + OPR_XY_PRE_INC, + OPR_XY_POST_INC, + OPR_XY_PRE_DEC, + OPR_XY_POST_DEC, + OPR_S_PRE_DEC, + OPR_S_POST_INC, + OPR_REG_DIRECT, + OPR_REG_INDIRECT, + OPR_IDX_DIRECT, + OPR_IDX_INDIRECT, + OPR_EXT1, + OPR_IDX2_REG, + OPR_IDX3_DIRECT, + OPR_IDX3_INDIRECT, + + OPR_EXT18, + OPR_IDX3_DIRECT_REG, + OPR_EXT3_DIRECT, + OPR_EXT3_INDIRECT + }; + +struct opr_pb +{ + uint8_t mask; + uint8_t value; + int n_operands; + enum OPR_MODE mode; +}; + +static const struct opr_pb opr_pb[] = { + {0xF0, 0x70, 1, OPR_IMMe4}, + {0xF8, 0xB8, 1, OPR_REG}, + {0xC0, 0x40, 1, OPR_OFXYS}, + {0xEF, 0xE3, 1, OPR_XY_PRE_INC}, + {0xEF, 0xE7, 1, OPR_XY_POST_INC}, + {0xEF, 0xC3, 1, OPR_XY_PRE_DEC}, + {0xEF, 0xC7, 1, OPR_XY_POST_DEC}, + {0xFF, 0xFB, 1, OPR_S_PRE_DEC}, + {0xFF, 0xFF, 1, OPR_S_POST_INC}, + {0xC8, 0x88, 1, OPR_REG_DIRECT}, + {0xE8, 0xC8, 1, OPR_REG_INDIRECT}, + + {0xCE, 0xC0, 2, OPR_IDX_DIRECT}, + {0xCE, 0xC4, 2, OPR_IDX_INDIRECT}, + {0xC0, 0x00, 2, OPR_EXT1}, + + {0xC8, 0x80, 3, OPR_IDX2_REG}, + {0xFA, 0xF8, 3, OPR_EXT18}, + + {0xCF, 0xC2, 4, OPR_IDX3_DIRECT}, + {0xCF, 0xC6, 4, OPR_IDX3_INDIRECT}, + + {0xF8, 0xE8, 4, OPR_IDX3_DIRECT_REG}, + {0xFF, 0xFA, 4, OPR_EXT3_DIRECT}, + {0xFF, 0xFE, 4, OPR_EXT3_INDIRECT}, +}; + + +/* Return the number of bytes in a OPR operand, including the XB postbyte. + It does not include any preceeding opcodes. */ +static int +opr_n_bytes (bfd_vma memaddr, struct disassemble_info* info) +{ + bfd_byte xb; + int status = read_memory (memaddr, &xb, 1, info); + if (status < 0) + return status; + + size_t i; + for (i = 0; i < sizeof (opr_pb) / sizeof (opr_pb[0]); ++i) + { + const struct opr_pb *pb = opr_pb + i; + if ((xb & pb->mask) == pb->value) + { + return pb->n_operands; + } + } + + return 1; +} + +static int +opr_n_bytes_p1 (bfd_vma memaddr, struct disassemble_info* info) +{ + return 1 + opr_n_bytes (memaddr, info); +} + +static int +opr_n_bytes2 (bfd_vma memaddr, struct disassemble_info* info) +{ + int s = opr_n_bytes (memaddr, info); + s += opr_n_bytes (memaddr + s, info); + return s + 1; +} + +enum BB_MODE + { + BB_REG_REG_REG, + BB_REG_REG_IMM, + BB_REG_OPR_REG, + BB_OPR_REG_REG, + BB_REG_OPR_IMM, + BB_OPR_REG_IMM + }; + +struct opr_bb +{ + uint8_t mask; + uint8_t value; + int n_operands; + bool opr; + enum BB_MODE mode; +}; + +static const struct opr_bb bb_modes[] = + { + {0x60, 0x00, 2, false, BB_REG_REG_REG}, + {0x60, 0x20, 3, false, BB_REG_REG_IMM}, + {0x70, 0x40, 2, true, BB_REG_OPR_REG}, + {0x70, 0x50, 2, true, BB_OPR_REG_REG}, + {0x70, 0x60, 3, true, BB_REG_OPR_IMM}, + {0x70, 0x70, 3, true, BB_OPR_REG_IMM} + }; + +static int +bfextins_n_bytes (bfd_vma memaddr, struct disassemble_info* info) +{ + bfd_byte bb; + int status = read_memory (memaddr, &bb, 1, info); + if (status < 0) + return status; + + size_t i; + const struct opr_bb *bbs = 0; + for (i = 0; i < sizeof (bb_modes) / sizeof (bb_modes[0]); ++i) + { + bbs = bb_modes + i; + if ((bb & bbs->mask) == bbs->value) + { + break; + } + } + + int n = bbs->n_operands; + if (bbs->opr) + n += opr_n_bytes (memaddr + n - 1, info); + + return n; +} + +static int +single (bfd_vma memaddr ATTRIBUTE_UNUSED, + struct disassemble_info* info ATTRIBUTE_UNUSED) +{ + return 1; +} + +static int +two (bfd_vma memaddr ATTRIBUTE_UNUSED, + struct disassemble_info* info ATTRIBUTE_UNUSED) +{ + return 2; +} + +static int +three (bfd_vma memaddr ATTRIBUTE_UNUSED, + struct disassemble_info* info ATTRIBUTE_UNUSED) +{ + return 3; +} + +static int +four (bfd_vma memaddr ATTRIBUTE_UNUSED, + struct disassemble_info* info ATTRIBUTE_UNUSED) +{ + return 4; +} + +static int +five (bfd_vma memaddr ATTRIBUTE_UNUSED, + struct disassemble_info* info ATTRIBUTE_UNUSED) +{ + return 5; +} + +static int +pcrel_15bit (bfd_vma memaddr, struct disassemble_info* info) +{ + bfd_byte byte; + int status = read_memory (memaddr, &byte, 1, info); + if (status < 0) + return status; + return (byte & 0x80) ? 3 : 2; +} + + + + +static void +operand_separator (struct disassemble_info *info) +{ + if ((info->flags & 0x2)) + { + (*info->fprintf_func) (info->stream, ", "); + } + else + { + (*info->fprintf_func) (info->stream, " "); + } + + info->flags |= 0x2; +} + + + +static void +imm1 (bfd_vma memaddr, struct disassemble_info* info) +{ + bfd_byte byte; + int status = read_memory (memaddr, &byte, 1, info); + if (status < 0) + return; + + operand_separator (info); + (*info->fprintf_func) (info->stream, "#%d", byte); +} + +static void +trap_decode (bfd_vma memaddr, struct disassemble_info* info) +{ + imm1 (memaddr - 1, info); +} + + +const struct reg registers[S12Z_N_REGISTERS] = + { + {"d2", 2}, + {"d3", 2}, + {"d4", 2}, + {"d5", 2}, + + {"d0", 1}, + {"d1", 1}, + + {"d6", 4}, + {"d7", 4}, + + {"x", 3}, + {"y", 3}, + {"s", 3}, + {"p", 3}, + {"cch", 1}, + {"ccl", 1}, + {"ccw", 2} + }; + +static char * +xys_from_postbyte (uint8_t postbyte) +{ + char *reg = "?"; + switch ((postbyte & 0x30) >> 4) + { + case 0: + reg = "x"; + break; + case 1: + reg = "y"; + break; + case 2: + reg = "s"; + break; + default: + reg = "?"; + break; + } + return reg; +} + +static char * +xysp_from_postbyte (uint8_t postbyte) +{ + char *reg = "?"; + switch ((postbyte & 0x30) >> 4) + { + case 0: + reg = "x"; + break; + case 1: + reg = "y"; + break; + case 2: + reg = "s"; + break; + default: + reg = "p"; + break; + } + return reg; +} + +/* Render the symbol name whose value is ADDR or the adddress itself if there is + no symbol. */ +static void +decode_possible_symbol (bfd_vma addr, struct disassemble_info *info) +{ + if (!info->symbol_at_address_func (addr, info)) + { + (*info->fprintf_func) (info->stream, "%" BFD_VMA_FMT "d", addr); + } + else + { + asymbol *sym = NULL; + int j; + for (j = 0; j < info->symtab_size; ++j) + { + sym = info->symtab[j]; + if (bfd_asymbol_value (sym) == addr) + { + break; + } + } + if (j < info->symtab_size) + (*info->fprintf_func) (info->stream, "%s", bfd_asymbol_name (sym)); + } +} + +static void ld_18bit_decode (bfd_vma memaddr, struct disassemble_info* info); + +static void +ext24_decode (bfd_vma memaddr, struct disassemble_info* info) +{ + uint8_t buffer[3]; + int status = read_memory (memaddr, buffer, 3, info); + if (status < 0) + return; + + int i; + uint32_t addr = 0; + for (i = 0; i < 3; ++i) + { + addr <<= 8; + addr |= buffer[i]; + } + + operand_separator (info); + decode_possible_symbol (addr, info); +} + + +static uint32_t +decode_signed_value (bfd_vma memaddr, struct disassemble_info* info, short size) +{ + assert (size >0); + assert (size <= 4); + bfd_byte buffer[4]; + if (0 > read_memory (memaddr, buffer, size, info)) + { + return 0; + } + + int i; + uint32_t value = 0; + for (i = 0; i < size; ++i) + { + value |= buffer[i] << (8 * (size - i - 1)); + } + + if (buffer[0] & 0x80) + { + /* Deal with negative values */ + value -= 0x1UL << (size * 8); + } + return value; +} + + +static void +opr_decode (bfd_vma memaddr, struct disassemble_info* info) +{ + bfd_byte postbyte; + int status = read_memory (memaddr, &postbyte, 1, info); + if (status < 0) + return; + + enum OPR_MODE mode = -1; + size_t i; + for (i = 0; i < sizeof (opr_pb) / sizeof (opr_pb[0]); ++i) + { + const struct opr_pb *pb = opr_pb + i; + if ((postbyte & pb->mask) == pb->value) + { + mode = pb->mode; + break; + } + } + + operand_separator (info); + switch (mode) + { + case OPR_IMMe4: + { + int n; + uint8_t x = (postbyte & 0x0F); + if (x == 0) + n = -1; + else + n = x; + + (*info->fprintf_func) (info->stream, "#%d", n); + break; + } + case OPR_REG: + { + uint8_t x = (postbyte & 0x07); + (*info->fprintf_func) (info->stream, "%s", registers[x].name); + break; + } + case OPR_OFXYS: + { + const char *reg = xys_from_postbyte (postbyte); + (*info->fprintf_func) (info->stream, "(%d,%s)", postbyte & 0x0F, reg); + break; + } + case OPR_REG_DIRECT: + { + (*info->fprintf_func) (info->stream, "(%s,%s)", registers[postbyte & 0x07].name, + xys_from_postbyte (postbyte)); + break; + } + case OPR_REG_INDIRECT: + { + (*info->fprintf_func) (info->stream, "[%s,%s]", registers[postbyte & 0x07].name, + (postbyte & 0x10) ? "y": "x"); + break; + } + + case OPR_IDX_INDIRECT: + { + uint8_t x1; + read_memory (memaddr + 1, &x1, 1, info); + int idx = x1; + + if (postbyte & 0x01) + { + /* Deal with negative values */ + idx -= 0x1UL << 8; + } + + (*info->fprintf_func) (info->stream, "[%d,%s]", idx, + xysp_from_postbyte (postbyte)); + break; + } + + case OPR_IDX3_DIRECT: + { + uint8_t x[3]; + read_memory (memaddr + 1, x, 3, info); + int idx = x[0] << 16 | x[1] << 8 | x[2]; + + if (x[0] & 0x80) + { + /* Deal with negative values */ + idx -= 0x1UL << 24; + } + + (*info->fprintf_func) (info->stream, "(%d,%s)", idx, + xysp_from_postbyte (postbyte)); + break; + } + + case OPR_IDX3_DIRECT_REG: + { + uint8_t x[3]; + read_memory (memaddr + 1, x, 3, info); + int idx = x[0] << 16 | x[1] << 8 | x[2]; + + if (x[0] & 0x80) + { + /* Deal with negative values */ + idx -= 0x1UL << 24; + } + + (*info->fprintf_func) (info->stream, "(%d,%s)", idx, + registers[postbyte & 0x07].name); + break; + } + + case OPR_IDX3_INDIRECT: + { + uint8_t x[3]; + read_memory (memaddr + 1, x, 3, info); + int idx = x[0] << 16 | x[1] << 8 | x[2]; + + if (x[0] & 0x80) + { + /* Deal with negative values */ + idx -= 0x1UL << 24; + } + + (*info->fprintf_func) (info->stream, "[%d,%s]", idx, + xysp_from_postbyte (postbyte)); + break; + } + + case OPR_IDX_DIRECT: + { + uint8_t x1; + read_memory (memaddr + 1, &x1, 1, info); + int idx = x1; + + if (postbyte & 0x01) + { + /* Deal with negative values */ + idx -= 0x1UL << 8; + } + + (*info->fprintf_func) (info->stream, "(%d,%s)", idx, + xysp_from_postbyte (postbyte)); + break; + } + + case OPR_IDX2_REG: + { + uint8_t x[2]; + read_memory (memaddr + 1, x, 2, info); + uint32_t offset = x[1] | x[0] << 8 ; + offset |= (postbyte & 0x30) << 12; + + (*info->fprintf_func) (info->stream, "(%d,%s)", offset, + registers[postbyte & 0x07].name); + break; + } + + case OPR_XY_PRE_INC: + { + (*info->fprintf_func) (info->stream, "(+%s)", + (postbyte & 0x10) ? "y": "x"); + + break; + } + case OPR_XY_POST_INC: + { + (*info->fprintf_func) (info->stream, "(%s+)", + (postbyte & 0x10) ? "y": "x"); + + break; + } + case OPR_XY_PRE_DEC: + { + (*info->fprintf_func) (info->stream, "(-%s)", + (postbyte & 0x10) ? "y": "x"); + + break; + } + case OPR_XY_POST_DEC: + { + (*info->fprintf_func) (info->stream, "(%s-)", + (postbyte & 0x10) ? "y": "x"); + + break; + } + case OPR_S_PRE_DEC: + { + (*info->fprintf_func) (info->stream, "(-s)"); + break; + } + case OPR_S_POST_INC: + { + (*info->fprintf_func) (info->stream, "(s+)"); + break; + } + + case OPR_EXT18: + { + const size_t size = 2; + bfd_byte buffer[4]; + status = read_memory (memaddr + 1, buffer, size, info); + if (status < 0) + return; + + uint32_t ext18 = 0; + for (i = 0; i < size; ++i) + { + ext18 <<= 8; + ext18 |= buffer[i]; + } + + ext18 |= (postbyte & 0x01) << 16; + ext18 |= (postbyte & 0x04) << 15; + + decode_possible_symbol (ext18, info); + break; + } + + case OPR_EXT1: + { + uint8_t x1 = 0; + read_memory (memaddr + 1, &x1, 1, info); + int16_t addr; + addr = x1; + addr |= (postbyte & 0x3f) << 8; + + decode_possible_symbol (addr, info); + break; + } + + case OPR_EXT3_DIRECT: + { + const size_t size = 3; + bfd_byte buffer[4]; + status = read_memory (memaddr + 1, buffer, size, info); + if (status < 0) + return; + + uint32_t ext24 = 0; + for (i = 0; i < size; ++i) + { + ext24 |= buffer[i] << (8 * (size - i - 1)); + } + + decode_possible_symbol (ext24, info); + break; + } + + case OPR_EXT3_INDIRECT: + { + const size_t size = 3; + bfd_byte buffer[4]; + status = read_memory (memaddr + 1, buffer, size, info); + if (status < 0) + return; + + uint32_t ext24 = 0; + for (i = 0; i < size; ++i) + { + ext24 |= buffer[i] << (8 * (size - i - 1)); + } + + (*info->fprintf_func) (info->stream, "[%d]", ext24); + + break; + } + + default: + (*info->fprintf_func) (info->stream, "Unknown OPR mode #0x%x (%d)", postbyte, mode); + } +} + + +static void +opr_decode2 (bfd_vma memaddr, struct disassemble_info* info) +{ + int n = opr_n_bytes (memaddr, info); + opr_decode (memaddr, info); + opr_decode (memaddr + n, info); +} + +static void +imm1234 (bfd_vma memaddr, struct disassemble_info* info, int base) +{ + bfd_byte opcode; + int status = read_memory (memaddr - 1, &opcode, 1, info); + if (status < 0) + return; + + opcode -= base; + + int size = registers[opcode & 0xF].bytes; + + uint32_t imm = decode_signed_value (memaddr, info, size); + operand_separator (info); + (*info->fprintf_func) (info->stream, "#%d", imm); +} + + +/* Special case of LD and CMP with register S and IMM operand */ +static void +reg_s_imm (bfd_vma memaddr, struct disassemble_info* info) +{ + operand_separator (info); + (*info->fprintf_func) (info->stream, "s"); + + uint32_t imm = decode_signed_value (memaddr, info, 3); + operand_separator (info); + (*info->fprintf_func) (info->stream, "#%d", imm); +} + +/* Special case of LD, CMP and ST with register S and OPR operand */ +static void +reg_s_opr (bfd_vma memaddr, struct disassemble_info* info) +{ + operand_separator (info); + (*info->fprintf_func) (info->stream, "s"); + + opr_decode (memaddr, info); +} + +static void +imm1234_8base (bfd_vma memaddr, struct disassemble_info* info) +{ + imm1234 (memaddr, info, 8); +} + +static void +imm1234_0base (bfd_vma memaddr, struct disassemble_info* info) +{ + imm1234 (memaddr, info, 0); +} + +static void +tfr (bfd_vma memaddr, struct disassemble_info* info) +{ + bfd_byte byte; + int status = read_memory (memaddr, &byte, 1, info); + if (status < 0) + return; + + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s, %s", + registers[byte >> 4].name, + registers[byte & 0xF].name); +} + + +static void +reg (bfd_vma memaddr, struct disassemble_info* info) +{ + bfd_byte byte; + int status = read_memory (memaddr - 1, &byte, 1, info); + if (status < 0) + return; + + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", registers[byte & 0x07].name); +} + +static void +reg_xy (bfd_vma memaddr, struct disassemble_info* info) +{ + bfd_byte byte; + int status = read_memory (memaddr - 1, &byte, 1, info); + if (status < 0) + return; + + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", (byte & 0x01) ? "y" : "x"); +} + +static void +lea_reg_xys_opr (bfd_vma memaddr, struct disassemble_info* info) +{ + bfd_byte byte; + int status = read_memory (memaddr - 1, &byte, 1, info); + if (status < 0) + return; + + char *reg = NULL; + switch (byte & 0x03) + { + case 0x00: + reg = "x"; + break; + case 0x01: + reg = "y"; + break; + case 0x02: + reg = "s"; + break; + } + + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", reg); + opr_decode (memaddr, info); +} + + + +static void +lea_reg_xys (bfd_vma memaddr, struct disassemble_info* info) +{ + bfd_byte byte; + int status = read_memory (memaddr - 1, &byte, 1, info); + if (status < 0) + return; + + char *reg = NULL; + switch (byte & 0x03) + { + case 0x00: + reg = "x"; + break; + case 0x01: + reg = "y"; + break; + case 0x02: + reg = "s"; + break; + } + + status = read_memory (memaddr, &byte, 1, info); + if (status < 0) + return; + + int8_t v = byte; + + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s, (%d,%s)", reg, v, reg); +} + + +/* PC Relative offsets of size 15 or 7 bits */ +static void +rel_15_7 (bfd_vma memaddr, struct disassemble_info* info, int offset) +{ + bfd_byte upper; + int status = read_memory (memaddr, &upper, 1, info); + if (status < 0) + return; + + bool rel_size = (upper & 0x80); + + int16_t addr = upper; + if (rel_size) + { + /* 15 bits. Get the next byte */ + bfd_byte lower; + status = read_memory (memaddr + 1, &lower, 1, info); + if (status < 0) + return; + + addr <<= 8; + addr |= lower; + addr &= 0x7FFF; + + bool negative = (addr & 0x4000); + addr &= 0x3FFF; + if (negative) + addr = addr - 0x4000; + } + else + { + /* 7 bits. */ + bool negative = (addr & 0x40); + addr &= 0x3F; + if (negative) + addr = addr - 0x40; + } + + operand_separator (info); + if (!info->symbol_at_address_func (addr + memaddr - offset, info)) + { + (*info->fprintf_func) (info->stream, "*%+d", addr); + } + else + { + asymbol *sym = NULL; + int i; + for (i = 0; i < info->symtab_size; ++i) + { + sym = info->symtab[i]; + if (bfd_asymbol_value (sym) == addr + memaddr - offset) + { + break; + } + } + if (i < info->symtab_size) + (*info->fprintf_func) (info->stream, "%s", bfd_asymbol_name (sym)); + } +} + + +/* PC Relative offsets of size 15 or 7 bits */ +static void +decode_rel_15_7 (bfd_vma memaddr, struct disassemble_info* info) +{ + rel_15_7 (memaddr, info, 1); +} + +struct opcode +{ + const char *mnemonic; + insn_bytes_f insn_bytes; + operands_f operands; + operands_f operands2; +}; + +static int shift_n_bytes (bfd_vma memaddr, struct disassemble_info* info); +static int mov_imm_opr_n_bytes (bfd_vma memaddr, struct disassemble_info* info); +static int loop_prim_n_bytes (bfd_vma memaddr, struct disassemble_info* info); +static void mov_imm_opr (bfd_vma memaddr, struct disassemble_info* info); +static void bm_rel_decode (bfd_vma memaddr, struct disassemble_info* info); +static int bm_rel_n_bytes (bfd_vma memaddr, struct disassemble_info* info); +static int mul_n_bytes (bfd_vma memaddr, struct disassemble_info* info); +static void mul_decode (bfd_vma memaddr, struct disassemble_info* info); +static int bm_n_bytes (bfd_vma memaddr, struct disassemble_info* info); +static void bm_decode (bfd_vma memaddr, struct disassemble_info* info); + +static void +cmp_xy (bfd_vma memaddr ATTRIBUTE_UNUSED, struct disassemble_info* info) +{ + operand_separator (info); + (*info->fprintf_func) (info->stream, "x, y"); +} + +static void +sub_d6_x_y (bfd_vma memaddr ATTRIBUTE_UNUSED, struct disassemble_info* info) +{ + operand_separator (info); + (*info->fprintf_func) (info->stream, "d6, x, y"); +} + +static void +sub_d6_y_x (bfd_vma memaddr ATTRIBUTE_UNUSED, struct disassemble_info* info) +{ + operand_separator (info); + (*info->fprintf_func) (info->stream, "d6, y, x"); +} + +static const char shift_size_table[] = { + 'b', 'w', 'p', 'l' +}; + +static const struct opcode page2[] = + { + [0x00] = {"ld", opr_n_bytes_p1, 0, reg_s_opr}, + [0x01] = {"st", opr_n_bytes_p1, 0, reg_s_opr}, + [0x02] = {"cmp", opr_n_bytes_p1, 0, reg_s_opr}, + [0x03] = {"ld", four, 0, reg_s_imm}, + [0x04] = {"cmp", four, 0, reg_s_imm}, + [0x05] = {"stop", single, 0, 0}, + [0x06] = {"wai", single, 0, 0}, + [0x07] = {"sys", single, 0, 0}, + [0x08] = {NULL, bfextins_n_bytes, 0, 0}, /* BFEXT / BFINS */ + [0x09] = {NULL, bfextins_n_bytes, 0, 0}, + [0x0a] = {NULL, bfextins_n_bytes, 0, 0}, + [0x0b] = {NULL, bfextins_n_bytes, 0, 0}, + [0x0c] = {NULL, bfextins_n_bytes, 0, 0}, + [0x0d] = {NULL, bfextins_n_bytes, 0, 0}, + [0x0e] = {NULL, bfextins_n_bytes, 0, 0}, + [0x0f] = {NULL, bfextins_n_bytes, 0, 0}, + [0x10] = {"minu", opr_n_bytes_p1, reg, opr_decode}, + [0x11] = {"minu", opr_n_bytes_p1, reg, opr_decode}, + [0x12] = {"minu", opr_n_bytes_p1, reg, opr_decode}, + [0x13] = {"minu", opr_n_bytes_p1, reg, opr_decode}, + [0x14] = {"minu", opr_n_bytes_p1, reg, opr_decode}, + [0x15] = {"minu", opr_n_bytes_p1, reg, opr_decode}, + [0x16] = {"minu", opr_n_bytes_p1, reg, opr_decode}, + [0x17] = {"minu", opr_n_bytes_p1, reg, opr_decode}, + [0x18] = {"maxu", opr_n_bytes_p1, reg, opr_decode}, + [0x19] = {"maxu", opr_n_bytes_p1, reg, opr_decode}, + [0x1a] = {"maxu", opr_n_bytes_p1, reg, opr_decode}, + [0x1b] = {"maxu", opr_n_bytes_p1, reg, opr_decode}, + [0x1c] = {"maxu", opr_n_bytes_p1, reg, opr_decode}, + [0x1d] = {"maxu", opr_n_bytes_p1, reg, opr_decode}, + [0x1e] = {"maxu", opr_n_bytes_p1, reg, opr_decode}, + [0x1f] = {"maxu", opr_n_bytes_p1, reg, opr_decode}, + [0x20] = {"mins", opr_n_bytes_p1, reg, opr_decode}, + [0x21] = {"mins", opr_n_bytes_p1, reg, opr_decode}, + [0x22] = {"mins", opr_n_bytes_p1, reg, opr_decode}, + [0x23] = {"mins", opr_n_bytes_p1, reg, opr_decode}, + [0x24] = {"mins", opr_n_bytes_p1, reg, opr_decode}, + [0x25] = {"mins", opr_n_bytes_p1, reg, opr_decode}, + [0x26] = {"mins", opr_n_bytes_p1, reg, opr_decode}, + [0x27] = {"mins", opr_n_bytes_p1, reg, opr_decode}, + [0x28] = {"maxs", opr_n_bytes_p1, reg, opr_decode}, + [0x29] = {"maxs", opr_n_bytes_p1, reg, opr_decode}, + [0x2a] = {"maxs", opr_n_bytes_p1, reg, opr_decode}, + [0x2b] = {"maxs", opr_n_bytes_p1, reg, opr_decode}, + [0x2c] = {"maxs", opr_n_bytes_p1, reg, opr_decode}, + [0x2d] = {"maxs", opr_n_bytes_p1, reg, opr_decode}, + [0x2e] = {"maxs", opr_n_bytes_p1, reg, opr_decode}, + [0x2f] = {"maxs", opr_n_bytes_p1, reg, opr_decode}, + [0x30] = {"div", mul_n_bytes, mul_decode, 0}, + [0x31] = {"div", mul_n_bytes, mul_decode, 0}, + [0x32] = {"div", mul_n_bytes, mul_decode, 0}, + [0x33] = {"div", mul_n_bytes, mul_decode, 0}, + [0x34] = {"div", mul_n_bytes, mul_decode, 0}, + [0x35] = {"div", mul_n_bytes, mul_decode, 0}, + [0x36] = {"div", mul_n_bytes, mul_decode, 0}, + [0x37] = {"div", mul_n_bytes, mul_decode, 0}, + [0x38] = {"mod", mul_n_bytes, mul_decode, 0}, + [0x39] = {"mod", mul_n_bytes, mul_decode, 0}, + [0x3a] = {"mod", mul_n_bytes, mul_decode, 0}, + [0x3b] = {"mod", mul_n_bytes, mul_decode, 0}, + [0x3c] = {"mod", mul_n_bytes, mul_decode, 0}, + [0x3d] = {"mod", mul_n_bytes, mul_decode, 0}, + [0x3e] = {"mod", mul_n_bytes, mul_decode, 0}, + [0x3f] = {"mod", mul_n_bytes, mul_decode, 0}, + [0x40] = {"abs", single, reg, 0}, + [0x41] = {"abs", single, reg, 0}, + [0x42] = {"abs", single, reg, 0}, + [0x43] = {"abs", single, reg, 0}, + [0x44] = {"abs", single, reg, 0}, + [0x45] = {"abs", single, reg, 0}, + [0x46] = {"abs", single, reg, 0}, + [0x47] = {"abs", single, reg, 0}, + [0x48] = {"mac", mul_n_bytes, mul_decode, 0}, + [0x49] = {"mac", mul_n_bytes, mul_decode, 0}, + [0x4a] = {"mac", mul_n_bytes, mul_decode, 0}, + [0x4b] = {"mac", mul_n_bytes, mul_decode, 0}, + [0x4c] = {"mac", mul_n_bytes, mul_decode, 0}, + [0x4d] = {"mac", mul_n_bytes, mul_decode, 0}, + [0x4e] = {"mac", mul_n_bytes, mul_decode, 0}, + [0x4f] = {"mac", mul_n_bytes, mul_decode, 0}, + [0x50] = {"adc", three, reg, imm1234_0base}, + [0x51] = {"adc", three, reg, imm1234_0base}, + [0x52] = {"adc", three, reg, imm1234_0base}, + [0x53] = {"adc", three, reg, imm1234_0base}, + [0x54] = {"adc", two, reg, imm1234_0base}, + [0x55] = {"adc", two, reg, imm1234_0base}, + [0x56] = {"adc", five, reg, imm1234_0base}, + [0x57] = {"adc", five, reg, imm1234_0base}, + [0x58] = {"bit", three, reg, imm1234_8base}, + [0x59] = {"bit", three, reg, imm1234_8base}, + [0x5a] = {"bit", three, reg, imm1234_8base}, + [0x5b] = {"bit", three, reg, imm1234_8base}, + [0x5c] = {"bit", two, reg, imm1234_8base}, + [0x5d] = {"bit", two, reg, imm1234_8base}, + [0x5e] = {"bit", five, reg, imm1234_8base}, + [0x5f] = {"bit", five, reg, imm1234_8base}, + [0x60] = {"adc", opr_n_bytes_p1, reg, opr_decode}, + [0x61] = {"adc", opr_n_bytes_p1, reg, opr_decode}, + [0x62] = {"adc", opr_n_bytes_p1, reg, opr_decode}, + [0x63] = {"adc", opr_n_bytes_p1, reg, opr_decode}, + [0x64] = {"adc", opr_n_bytes_p1, reg, opr_decode}, + [0x65] = {"adc", opr_n_bytes_p1, reg, opr_decode}, + [0x66] = {"adc", opr_n_bytes_p1, reg, opr_decode}, + [0x67] = {"adc", opr_n_bytes_p1, reg, opr_decode}, + [0x68] = {"bit", opr_n_bytes_p1, reg, opr_decode}, + [0x69] = {"bit", opr_n_bytes_p1, reg, opr_decode}, + [0x6a] = {"bit", opr_n_bytes_p1, reg, opr_decode}, + [0x6b] = {"bit", opr_n_bytes_p1, reg, opr_decode}, + [0x6c] = {"bit", opr_n_bytes_p1, reg, opr_decode}, + [0x6d] = {"bit", opr_n_bytes_p1, reg, opr_decode}, + [0x6e] = {"bit", opr_n_bytes_p1, reg, opr_decode}, + [0x6f] = {"bit", opr_n_bytes_p1, reg, opr_decode}, + [0x70] = {"sbc", three, reg, imm1234_0base}, + [0x71] = {"sbc", three, reg, imm1234_0base}, + [0x72] = {"sbc", three, reg, imm1234_0base}, + [0x73] = {"sbc", three, reg, imm1234_0base}, + [0x74] = {"sbc", two, reg, imm1234_0base}, + [0x75] = {"sbc", two, reg, imm1234_0base}, + [0x76] = {"sbc", five, reg, imm1234_0base}, + [0x77] = {"sbc", five, reg, imm1234_0base}, + [0x78] = {"eor", three, reg, imm1234_8base}, + [0x79] = {"eor", three, reg, imm1234_8base}, + [0x7a] = {"eor", three, reg, imm1234_8base}, + [0x7b] = {"eor", three, reg, imm1234_8base}, + [0x7c] = {"eor", two, reg, imm1234_8base}, + [0x7d] = {"eor", two, reg, imm1234_8base}, + [0x7e] = {"eor", five, reg, imm1234_8base}, + [0x7f] = {"eor", five, reg, imm1234_8base}, + [0x80] = {"sbc", opr_n_bytes_p1, reg, opr_decode}, + [0x81] = {"sbc", opr_n_bytes_p1, reg, opr_decode}, + [0x82] = {"sbc", opr_n_bytes_p1, reg, opr_decode}, + [0x83] = {"sbc", opr_n_bytes_p1, reg, opr_decode}, + [0x84] = {"sbc", opr_n_bytes_p1, reg, opr_decode}, + [0x85] = {"sbc", opr_n_bytes_p1, reg, opr_decode}, + [0x86] = {"sbc", opr_n_bytes_p1, reg, opr_decode}, + [0x87] = {"sbc", opr_n_bytes_p1, reg, opr_decode}, + [0x88] = {"eor", opr_n_bytes_p1, reg, opr_decode}, + [0x89] = {"eor", opr_n_bytes_p1, reg, opr_decode}, + [0x8a] = {"eor", opr_n_bytes_p1, reg, opr_decode}, + [0x8b] = {"eor", opr_n_bytes_p1, reg, opr_decode}, + [0x8c] = {"eor", opr_n_bytes_p1, reg, opr_decode}, + [0x8d] = {"eor", opr_n_bytes_p1, reg, opr_decode}, + [0x8e] = {"eor", opr_n_bytes_p1, reg, opr_decode}, + [0x8f] = {"eor", opr_n_bytes_p1, reg, opr_decode}, + [0x90] = {"rti", single, 0, 0}, + [0x91] = {"clb", two, tfr, 0}, + [0x92] = {"trap", single, trap_decode, 0}, + [0x93] = {"trap", single, trap_decode, 0}, + [0x94] = {"trap", single, trap_decode, 0}, + [0x95] = {"trap", single, trap_decode, 0}, + [0x96] = {"trap", single, trap_decode, 0}, + [0x97] = {"trap", single, trap_decode, 0}, + [0x98] = {"trap", single, trap_decode, 0}, + [0x99] = {"trap", single, trap_decode, 0}, + [0x9a] = {"trap", single, trap_decode, 0}, + [0x9b] = {"trap", single, trap_decode, 0}, + [0x9c] = {"trap", single, trap_decode, 0}, + [0x9d] = {"trap", single, trap_decode, 0}, + [0x9e] = {"trap", single, trap_decode, 0}, + [0x9f] = {"trap", single, trap_decode, 0}, + [0xa0] = {"sat", single, reg, 0}, + [0xa1] = {"sat", single, reg, 0}, + [0xa2] = {"sat", single, reg, 0}, + [0xa3] = {"sat", single, reg, 0}, + [0xa4] = {"sat", single, reg, 0}, + [0xa5] = {"sat", single, reg, 0}, + [0xa6] = {"sat", single, reg, 0}, + [0xa7] = {"sat", single, reg, 0}, + [0xa8] = {"trap", single, trap_decode, 0}, + [0xa9] = {"trap", single, trap_decode, 0}, + [0xaa] = {"trap", single, trap_decode, 0}, + [0xab] = {"trap", single, trap_decode, 0}, + [0xac] = {"trap", single, trap_decode, 0}, + [0xad] = {"trap", single, trap_decode, 0}, + [0xae] = {"trap", single, trap_decode, 0}, + [0xaf] = {"trap", single, trap_decode, 0}, + [0xb0] = {"qmul", mul_n_bytes, mul_decode, 0}, + [0xb1] = {"qmul", mul_n_bytes, mul_decode, 0}, + [0xb2] = {"qmul", mul_n_bytes, mul_decode, 0}, + [0xb3] = {"qmul", mul_n_bytes, mul_decode, 0}, + [0xb4] = {"qmul", mul_n_bytes, mul_decode, 0}, + [0xb5] = {"qmul", mul_n_bytes, mul_decode, 0}, + [0xb6] = {"qmul", mul_n_bytes, mul_decode, 0}, + [0xb7] = {"qmul", mul_n_bytes, mul_decode, 0}, + [0xb8] = {"trap", single, trap_decode, 0}, + [0xb9] = {"trap", single, trap_decode, 0}, + [0xba] = {"trap", single, trap_decode, 0}, + [0xbb] = {"trap", single, trap_decode, 0}, + [0xbc] = {"trap", single, trap_decode, 0}, + [0xbd] = {"trap", single, trap_decode, 0}, + [0xbe] = {"trap", single, trap_decode, 0}, + [0xbf] = {"trap", single, trap_decode, 0}, + [0xc0] = {"trap", single, trap_decode, 0}, + [0xc1] = {"trap", single, trap_decode, 0}, + [0xc2] = {"trap", single, trap_decode, 0}, + [0xc3] = {"trap", single, trap_decode, 0}, + [0xc4] = {"trap", single, trap_decode, 0}, + [0xc5] = {"trap", single, trap_decode, 0}, + [0xc6] = {"trap", single, trap_decode, 0}, + [0xc7] = {"trap", single, trap_decode, 0}, + [0xc8] = {"trap", single, trap_decode, 0}, + [0xc9] = {"trap", single, trap_decode, 0}, + [0xca] = {"trap", single, trap_decode, 0}, + [0xcb] = {"trap", single, trap_decode, 0}, + [0xcc] = {"trap", single, trap_decode, 0}, + [0xcd] = {"trap", single, trap_decode, 0}, + [0xce] = {"trap", single, trap_decode, 0}, + [0xcf] = {"trap", single, trap_decode, 0}, + [0xd0] = {"trap", single, trap_decode, 0}, + [0xd1] = {"trap", single, trap_decode, 0}, + [0xd2] = {"trap", single, trap_decode, 0}, + [0xd3] = {"trap", single, trap_decode, 0}, + [0xd4] = {"trap", single, trap_decode, 0}, + [0xd5] = {"trap", single, trap_decode, 0}, + [0xd6] = {"trap", single, trap_decode, 0}, + [0xd7] = {"trap", single, trap_decode, 0}, + [0xd8] = {"trap", single, trap_decode, 0}, + [0xd9] = {"trap", single, trap_decode, 0}, + [0xda] = {"trap", single, trap_decode, 0}, + [0xdb] = {"trap", single, trap_decode, 0}, + [0xdc] = {"trap", single, trap_decode, 0}, + [0xdd] = {"trap", single, trap_decode, 0}, + [0xde] = {"trap", single, trap_decode, 0}, + [0xdf] = {"trap", single, trap_decode, 0}, + [0xe0] = {"trap", single, trap_decode, 0}, + [0xe1] = {"trap", single, trap_decode, 0}, + [0xe2] = {"trap", single, trap_decode, 0}, + [0xe3] = {"trap", single, trap_decode, 0}, + [0xe4] = {"trap", single, trap_decode, 0}, + [0xe5] = {"trap", single, trap_decode, 0}, + [0xe6] = {"trap", single, trap_decode, 0}, + [0xe7] = {"trap", single, trap_decode, 0}, + [0xe8] = {"trap", single, trap_decode, 0}, + [0xe9] = {"trap", single, trap_decode, 0}, + [0xea] = {"trap", single, trap_decode, 0}, + [0xeb] = {"trap", single, trap_decode, 0}, + [0xec] = {"trap", single, trap_decode, 0}, + [0xed] = {"trap", single, trap_decode, 0}, + [0xee] = {"trap", single, trap_decode, 0}, + [0xef] = {"trap", single, trap_decode, 0}, + [0xf0] = {"trap", single, trap_decode, 0}, + [0xf1] = {"trap", single, trap_decode, 0}, + [0xf2] = {"trap", single, trap_decode, 0}, + [0xf3] = {"trap", single, trap_decode, 0}, + [0xf4] = {"trap", single, trap_decode, 0}, + [0xf5] = {"trap", single, trap_decode, 0}, + [0xf6] = {"trap", single, trap_decode, 0}, + [0xf7] = {"trap", single, trap_decode, 0}, + [0xf8] = {"trap", single, trap_decode, 0}, + [0xf9] = {"trap", single, trap_decode, 0}, + [0xfa] = {"trap", single, trap_decode, 0}, + [0xfb] = {"trap", single, trap_decode, 0}, + [0xfc] = {"trap", single, trap_decode, 0}, + [0xfd] = {"trap", single, trap_decode, 0}, + [0xfe] = {"trap", single, trap_decode, 0}, + [0xff] = {"trap", single, trap_decode, 0}, + }; + +static const struct opcode page1[] = + { + [0x00] = {"bgnd", single, 0, 0}, + [0x01] = {"nop", single, 0, 0}, + [0x02] = {"brclr", bm_rel_n_bytes, bm_rel_decode, 0}, + [0x03] = {"brset", bm_rel_n_bytes, bm_rel_decode, 0}, + [0x04] = {NULL, two, 0, 0}, /* psh/pul */ + [0x05] = {"rts", single, 0, 0}, + [0x06] = {"lea", opr_n_bytes_p1, reg, opr_decode}, + [0x07] = {"lea", opr_n_bytes_p1, reg, opr_decode}, + [0x08] = {"lea", opr_n_bytes_p1, lea_reg_xys_opr, 0}, + [0x09] = {"lea", opr_n_bytes_p1, lea_reg_xys_opr, 0}, + [0x0a] = {"lea", opr_n_bytes_p1, lea_reg_xys_opr, 0}, + [0x0b] = {NULL, loop_prim_n_bytes, 0, 0}, /* Loop primitives TBcc / DBcc */ + [0x0c] = {"mov.b", mov_imm_opr_n_bytes, mov_imm_opr, 0}, + [0x0d] = {"mov.w", mov_imm_opr_n_bytes, mov_imm_opr, 0}, + [0x0e] = {"mov.p", mov_imm_opr_n_bytes, mov_imm_opr, 0}, + [0x0f] = {"mov.l", mov_imm_opr_n_bytes, mov_imm_opr, 0}, + [0x10] = {NULL, shift_n_bytes, 0, 0}, /* lsr/lsl/asl/asr/rol/ror */ + [0x11] = {NULL, shift_n_bytes, 0, 0}, + [0x12] = {NULL, shift_n_bytes, 0, 0}, + [0x13] = {NULL, shift_n_bytes, 0, 0}, + [0x14] = {NULL, shift_n_bytes, 0, 0}, + [0x15] = {NULL, shift_n_bytes, 0, 0}, + [0x16] = {NULL, shift_n_bytes, 0, 0}, + [0x17] = {NULL, shift_n_bytes, 0, 0}, + [0x18] = {"lea", two, lea_reg_xys, NULL}, + [0x19] = {"lea", two, lea_reg_xys, NULL}, + [0x1a] = {"lea", two, lea_reg_xys, NULL}, + /* 0x1b PG2 */ + [0x1c] = {"mov.b", opr_n_bytes2, 0, opr_decode2}, + [0x1d] = {"mov.w", opr_n_bytes2, 0, opr_decode2}, + [0x1e] = {"mov.p", opr_n_bytes2, 0, opr_decode2}, + [0x1f] = {"mov.l", opr_n_bytes2, 0, opr_decode2}, + [0x20] = {"bra", pcrel_15bit, decode_rel_15_7, 0}, + [0x21] = {"bsr", pcrel_15bit, decode_rel_15_7, 0}, + [0x22] = {"bhi", pcrel_15bit, decode_rel_15_7, 0}, + [0x23] = {"bls", pcrel_15bit, decode_rel_15_7, 0}, + [0x24] = {"bcc", pcrel_15bit, decode_rel_15_7, 0}, + [0x25] = {"bcs", pcrel_15bit, decode_rel_15_7, 0}, + [0x26] = {"bne", pcrel_15bit, decode_rel_15_7, 0}, + [0x27] = {"beq", pcrel_15bit, decode_rel_15_7, 0}, + [0x28] = {"bvc", pcrel_15bit, decode_rel_15_7, 0}, + [0x29] = {"bvs", pcrel_15bit, decode_rel_15_7, 0}, + [0x2a] = {"bpl", pcrel_15bit, decode_rel_15_7, 0}, + [0x2b] = {"bmi", pcrel_15bit, decode_rel_15_7, 0}, + [0x2c] = {"bge", pcrel_15bit, decode_rel_15_7, 0}, + [0x2d] = {"blt", pcrel_15bit, decode_rel_15_7, 0}, + [0x2e] = {"bgt", pcrel_15bit, decode_rel_15_7, 0}, + [0x2f] = {"ble", pcrel_15bit, decode_rel_15_7, 0}, + [0x30] = {"inc", single, reg, 0}, + [0x31] = {"inc", single, reg, 0}, + [0x32] = {"inc", single, reg, 0}, + [0x33] = {"inc", single, reg, 0}, + [0x34] = {"inc", single, reg, 0}, + [0x35] = {"inc", single, reg, 0}, + [0x36] = {"inc", single, reg, 0}, + [0x37] = {"inc", single, reg, 0}, + [0x38] = {"clr", single, reg, 0}, + [0x39] = {"clr", single, reg, 0}, + [0x3a] = {"clr", single, reg, 0}, + [0x3b] = {"clr", single, reg, 0}, + [0x3c] = {"clr", single, reg, 0}, + [0x3d] = {"clr", single, reg, 0}, + [0x3e] = {"clr", single, reg, 0}, + [0x3f] = {"clr", single, reg, 0}, + [0x40] = {"dec", single, reg, 0}, + [0x41] = {"dec", single, reg, 0}, + [0x42] = {"dec", single, reg, 0}, + [0x43] = {"dec", single, reg, 0}, + [0x44] = {"dec", single, reg, 0}, + [0x45] = {"dec", single, reg, 0}, + [0x46] = {"dec", single, reg, 0}, + [0x47] = {"dec", single, reg, 0}, + [0x48] = {"mul", mul_n_bytes, mul_decode, 0}, + [0x49] = {"mul", mul_n_bytes, mul_decode, 0}, + [0x4a] = {"mul", mul_n_bytes, mul_decode, 0}, + [0x4b] = {"mul", mul_n_bytes, mul_decode, 0}, + [0x4c] = {"mul", mul_n_bytes, mul_decode, 0}, + [0x4d] = {"mul", mul_n_bytes, mul_decode, 0}, + [0x4e] = {"mul", mul_n_bytes, mul_decode, 0}, + [0x4f] = {"mul", mul_n_bytes, mul_decode, 0}, + [0x50] = {"add", three, reg, imm1234_0base}, + [0x51] = {"add", three, reg, imm1234_0base}, + [0x52] = {"add", three, reg, imm1234_0base}, + [0x53] = {"add", three, reg, imm1234_0base}, + [0x54] = {"add", two, reg, imm1234_0base}, + [0x55] = {"add", two, reg, imm1234_0base}, + [0x56] = {"add", five, reg, imm1234_0base}, + [0x57] = {"add", five, reg, imm1234_0base}, + [0x58] = {"and", three, reg, imm1234_8base}, + [0x59] = {"and", three, reg, imm1234_8base}, + [0x5a] = {"and", three, reg, imm1234_8base}, + [0x5b] = {"and", three, reg, imm1234_8base}, + [0x5c] = {"and", two, reg, imm1234_8base}, + [0x5d] = {"and", two, reg, imm1234_8base}, + [0x5e] = {"and", five, reg, imm1234_8base}, + [0x5f] = {"and", five, reg, imm1234_8base}, + [0x60] = {"add", opr_n_bytes_p1, reg, opr_decode}, + [0x61] = {"add", opr_n_bytes_p1, reg, opr_decode}, + [0x62] = {"add", opr_n_bytes_p1, reg, opr_decode}, + [0x63] = {"add", opr_n_bytes_p1, reg, opr_decode}, + [0x64] = {"add", opr_n_bytes_p1, reg, opr_decode}, + [0x65] = {"add", opr_n_bytes_p1, reg, opr_decode}, + [0x66] = {"add", opr_n_bytes_p1, reg, opr_decode}, + [0x67] = {"add", opr_n_bytes_p1, reg, opr_decode}, + [0x68] = {"and", opr_n_bytes_p1, reg, opr_decode}, + [0x69] = {"and", opr_n_bytes_p1, reg, opr_decode}, + [0x6a] = {"and", opr_n_bytes_p1, reg, opr_decode}, + [0x6b] = {"and", opr_n_bytes_p1, reg, opr_decode}, + [0x6c] = {"and", opr_n_bytes_p1, reg, opr_decode}, + [0x6d] = {"and", opr_n_bytes_p1, reg, opr_decode}, + [0x6e] = {"and", opr_n_bytes_p1, reg, opr_decode}, + [0x6f] = {"and", opr_n_bytes_p1, reg, opr_decode}, + [0x70] = {"sub", three, reg, imm1234_0base}, + [0x71] = {"sub", three, reg, imm1234_0base}, + [0x72] = {"sub", three, reg, imm1234_0base}, + [0x73] = {"sub", three, reg, imm1234_0base}, + [0x74] = {"sub", two, reg, imm1234_0base}, + [0x75] = {"sub", two, reg, imm1234_0base}, + [0x76] = {"sub", five, reg, imm1234_0base}, + [0x77] = {"sub", five, reg, imm1234_0base}, + [0x78] = {"or", three, reg, imm1234_8base}, + [0x79] = {"or", three, reg, imm1234_8base}, + [0x7a] = {"or", three, reg, imm1234_8base}, + [0x7b] = {"or", three, reg, imm1234_8base}, + [0x7c] = {"or", two, reg, imm1234_8base}, + [0x7d] = {"or", two, reg, imm1234_8base}, + [0x7e] = {"or", five, reg, imm1234_8base}, + [0x7f] = {"or", five, reg, imm1234_8base}, + [0x80] = {"sub", opr_n_bytes_p1, reg, opr_decode}, + [0x81] = {"sub", opr_n_bytes_p1, reg, opr_decode}, + [0x82] = {"sub", opr_n_bytes_p1, reg, opr_decode}, + [0x83] = {"sub", opr_n_bytes_p1, reg, opr_decode}, + [0x84] = {"sub", opr_n_bytes_p1, reg, opr_decode}, + [0x85] = {"sub", opr_n_bytes_p1, reg, opr_decode}, + [0x86] = {"sub", opr_n_bytes_p1, reg, opr_decode}, + [0x87] = {"sub", opr_n_bytes_p1, reg, opr_decode}, + [0x88] = {"or", opr_n_bytes_p1, reg, opr_decode}, + [0x89] = {"or", opr_n_bytes_p1, reg, opr_decode}, + [0x8a] = {"or", opr_n_bytes_p1, reg, opr_decode}, + [0x8b] = {"or", opr_n_bytes_p1, reg, opr_decode}, + [0x8c] = {"or", opr_n_bytes_p1, reg, opr_decode}, + [0x8d] = {"or", opr_n_bytes_p1, reg, opr_decode}, + [0x8e] = {"or", opr_n_bytes_p1, reg, opr_decode}, + [0x8f] = {"or", opr_n_bytes_p1, reg, opr_decode}, + [0x90] = {"ld", three, reg, imm1234_0base}, + [0x91] = {"ld", three, reg, imm1234_0base}, + [0x92] = {"ld", three, reg, imm1234_0base}, + [0x93] = {"ld", three, reg, imm1234_0base}, + [0x94] = {"ld", two, reg, imm1234_0base}, + [0x95] = {"ld", two, reg, imm1234_0base}, + [0x96] = {"ld", five, reg, imm1234_0base}, + [0x97] = {"ld", five, reg, imm1234_0base}, + [0x98] = {"ld", four, reg_xy, imm1234_0base}, + [0x99] = {"ld", four, reg_xy, imm1234_0base}, + [0x9a] = {"clr", single, reg_xy, 0}, + [0x9b] = {"clr", single, reg_xy, 0}, + [0x9c] = {"inc.b", opr_n_bytes_p1, 0, opr_decode}, + [0x9d] = {"inc.w", opr_n_bytes_p1, 0, opr_decode}, + [0x9e] = {"tfr", two, tfr, NULL}, + [0x9f] = {"inc.l", opr_n_bytes_p1, 0, opr_decode}, + [0xa0] = {"ld", opr_n_bytes_p1, reg, opr_decode}, + [0xa1] = {"ld", opr_n_bytes_p1, reg, opr_decode}, + [0xa2] = {"ld", opr_n_bytes_p1, reg, opr_decode}, + [0xa3] = {"ld", opr_n_bytes_p1, reg, opr_decode}, + [0xa4] = {"ld", opr_n_bytes_p1, reg, opr_decode}, + [0xa5] = {"ld", opr_n_bytes_p1, reg, opr_decode}, + [0xa6] = {"ld", opr_n_bytes_p1, reg, opr_decode}, + [0xa7] = {"ld", opr_n_bytes_p1, reg, opr_decode}, + [0xa8] = {"ld", opr_n_bytes_p1, reg_xy, opr_decode}, + [0xa9] = {"ld", opr_n_bytes_p1, reg_xy, opr_decode}, + [0xaa] = {"jmp", opr_n_bytes_p1, opr_decode, 0}, + [0xab] = {"jsr", opr_n_bytes_p1, opr_decode, 0}, + [0xac] = {"dec.b", opr_n_bytes_p1, 0, opr_decode}, + [0xad] = {"dec.w", opr_n_bytes_p1, 0, opr_decode}, + [0xae] = {NULL, two, 0, 0}, /* EXG / SEX */ + [0xaf] = {"dec.l", opr_n_bytes_p1, 0, opr_decode}, + [0xb0] = {"ld", four, reg, ext24_decode}, + [0xb1] = {"ld", four, reg, ext24_decode}, + [0xb2] = {"ld", four, reg, ext24_decode}, + [0xb3] = {"ld", four, reg, ext24_decode}, + [0xb4] = {"ld", four, reg, ext24_decode}, + [0xb5] = {"ld", four, reg, ext24_decode}, + [0xb6] = {"ld", four, reg, ext24_decode}, + [0xb7] = {"ld", four, reg, ext24_decode}, + [0xb8] = {"ld", four, reg_xy, ext24_decode}, + [0xb9] = {"ld", four, reg_xy, ext24_decode}, + [0xba] = {"jmp", four, ext24_decode, 0}, + [0xbb] = {"jsr", four, ext24_decode, 0}, + [0xbc] = {"clr.b", opr_n_bytes_p1, 0, opr_decode}, + [0xbd] = {"clr.w", opr_n_bytes_p1, 0, opr_decode}, + [0xbe] = {"clr.p", opr_n_bytes_p1, 0, opr_decode}, + [0xbf] = {"clr.l", opr_n_bytes_p1, 0, opr_decode}, + [0xc0] = {"st", opr_n_bytes_p1, reg, opr_decode}, + [0xc1] = {"st", opr_n_bytes_p1, reg, opr_decode}, + [0xc2] = {"st", opr_n_bytes_p1, reg, opr_decode}, + [0xc3] = {"st", opr_n_bytes_p1, reg, opr_decode}, + [0xc4] = {"st", opr_n_bytes_p1, reg, opr_decode}, + [0xc5] = {"st", opr_n_bytes_p1, reg, opr_decode}, + [0xc6] = {"st", opr_n_bytes_p1, reg, opr_decode}, + [0xc7] = {"st", opr_n_bytes_p1, reg, opr_decode}, + [0xc8] = {"st", opr_n_bytes_p1, reg_xy, opr_decode}, + [0xc9] = {"st", opr_n_bytes_p1, reg_xy, opr_decode}, + [0xca] = {"ld", three, reg_xy, ld_18bit_decode}, + [0xcb] = {"ld", three, reg_xy, ld_18bit_decode}, + [0xcc] = {"com.b", opr_n_bytes_p1, NULL, opr_decode}, + [0xcd] = {"com.w", opr_n_bytes_p1, NULL, opr_decode}, + [0xce] = {"andcc", two, imm1, 0}, + [0xcf] = {"com.l", opr_n_bytes_p1, NULL, opr_decode}, + [0xd0] = {"st", four, reg, ext24_decode}, + [0xd1] = {"st", four, reg, ext24_decode}, + [0xd2] = {"st", four, reg, ext24_decode}, + [0xd3] = {"st", four, reg, ext24_decode}, + [0xd4] = {"st", four, reg, ext24_decode}, + [0xd5] = {"st", four, reg, ext24_decode}, + [0xd6] = {"st", four, reg, ext24_decode}, + [0xd7] = {"st", four, reg, ext24_decode}, + [0xd8] = {"st", four, reg_xy, ext24_decode}, + [0xd9] = {"st", four, reg_xy, ext24_decode}, + [0xda] = {"ld", three, reg_xy, ld_18bit_decode}, + [0xdb] = {"ld", three, reg_xy, ld_18bit_decode}, + [0xdc] = {"neg.b", opr_n_bytes_p1, NULL, opr_decode}, + [0xdd] = {"neg.w", opr_n_bytes_p1, NULL, opr_decode}, + [0xde] = {"orcc", two, imm1, 0}, + [0xdf] = {"neg.l", opr_n_bytes_p1, NULL, opr_decode}, + [0xe0] = {"cmp", three, reg, imm1234_0base}, + [0xe1] = {"cmp", three, reg, imm1234_0base}, + [0xe2] = {"cmp", three, reg, imm1234_0base}, + [0xe3] = {"cmp", three, reg, imm1234_0base}, + [0xe4] = {"cmp", two, reg, imm1234_0base}, + [0xe5] = {"cmp", two, reg, imm1234_0base}, + [0xe6] = {"cmp", five, reg, imm1234_0base}, + [0xe7] = {"cmp", five, reg, imm1234_0base}, + [0xe8] = {"cmp", four, reg_xy, imm1234_0base}, + [0xe9] = {"cmp", four, reg_xy, imm1234_0base}, + [0xea] = {"ld", three, reg_xy, ld_18bit_decode}, + [0xeb] = {"ld", three, reg_xy, ld_18bit_decode}, + [0xec] = {"bclr", bm_n_bytes, bm_decode, 0}, + [0xed] = {"bset", bm_n_bytes, bm_decode, 0}, + [0xee] = {"btgl", bm_n_bytes, bm_decode, 0}, + [0xef] = {"!!invalid!!", NULL, NULL, NULL}, /* SPARE */ + [0xf0] = {"cmp", opr_n_bytes_p1, reg, opr_decode}, + [0xf1] = {"cmp", opr_n_bytes_p1, reg, opr_decode}, + [0xf2] = {"cmp", opr_n_bytes_p1, reg, opr_decode}, + [0xf3] = {"cmp", opr_n_bytes_p1, reg, opr_decode}, + [0xf4] = {"cmp", opr_n_bytes_p1, reg, opr_decode}, + [0xf5] = {"cmp", opr_n_bytes_p1, reg, opr_decode}, + [0xf6] = {"cmp", opr_n_bytes_p1, reg, opr_decode}, + [0xf7] = {"cmp", opr_n_bytes_p1, reg, opr_decode}, + [0xf8] = {"cmp", opr_n_bytes_p1, reg_xy, opr_decode}, + [0xf9] = {"cmp", opr_n_bytes_p1, reg_xy, opr_decode}, + [0xfa] = {"ld", three, reg_xy, ld_18bit_decode}, + [0xfb] = {"ld", three, reg_xy, ld_18bit_decode}, + [0xfc] = {"cmp", single, cmp_xy, 0}, + [0xfd] = {"sub", single, sub_d6_x_y, 0}, + [0xfe] = {"sub", single, sub_d6_y_x, 0}, + [0xff] = {"swi", single, 0, 0} + }; + + +static const char *oprregs1[] = + { + "d3", "d2", "d1", "d0", "ccl", "cch" + }; + +static const char *oprregs2[] = + { + "y", "x", "d7", "d6", "d5", "d4" + }; + + + + +enum MUL_MODE + { + MUL_REG_REG, + MUL_REG_OPR, + MUL_REG_IMM, + MUL_OPR_OPR + }; + +struct mb +{ + uint8_t mask; + uint8_t value; + enum MUL_MODE mode; +}; + +static const struct mb mul_table[] = { + {0x40, 0x00, MUL_REG_REG}, + + {0x47, 0x40, MUL_REG_OPR}, + {0x47, 0x41, MUL_REG_OPR}, + {0x47, 0x43, MUL_REG_OPR}, + + {0x47, 0x44, MUL_REG_IMM}, + {0x47, 0x45, MUL_REG_IMM}, + {0x47, 0x47, MUL_REG_IMM}, + + {0x43, 0x42, MUL_OPR_OPR}, +}; + +static void +mul_decode (bfd_vma memaddr, struct disassemble_info* info) +{ + uint8_t mb; + int status = read_memory (memaddr, &mb, 1, info); + if (status < 0) + return; + + + uint8_t byte; + status = read_memory (memaddr - 1, &byte, 1, info); + if (status < 0) + return; + + (*info->fprintf_func) (info->stream, "%c", (mb & 0x80) ? 's' : 'u'); + + enum MUL_MODE mode = -1; + size_t i; + for (i = 0; i < sizeof (mul_table) / sizeof (mul_table[0]); ++i) + { + const struct mb *mm = mul_table + i; + if ((mb & mm->mask) == mm->value) + { + mode = mm->mode; + break; + } + } + + switch (mode) + { + case MUL_REG_REG: + break; + case MUL_OPR_OPR: + { + int size1 = (mb & 0x30) >> 4; + int size2 = (mb & 0x0c) >> 2; + (*info->fprintf_func) (info->stream, ".%c%c", + shift_size_table [size1], + shift_size_table [size2]); + } + break; + default: + { + int size = (mb & 0x3); + (*info->fprintf_func) (info->stream, ".%c", shift_size_table [size]); + } + break; + } + + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", registers[byte & 0x7].name); + + switch (mode) + { + case MUL_REG_REG: + case MUL_REG_IMM: + case MUL_REG_OPR: + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", registers[(mb & 0x38) >> 3].name); + break; + default: + break; + } + + switch (mode) + { + case MUL_REG_IMM: + operand_separator (info); + int size = (mb & 0x3); + uint32_t imm = decode_signed_value (memaddr + 1, info, size + 1); + (*info->fprintf_func) (info->stream, "#%d", imm); + break; + case MUL_REG_REG: + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", registers[mb & 0x07].name); + break; + case MUL_REG_OPR: + opr_decode (memaddr + 1, info); + break; + case MUL_OPR_OPR: + { + int first = opr_n_bytes (memaddr + 1, info); + opr_decode (memaddr + 1, info); + opr_decode (memaddr + first + 1, info); + break; + } + } +} + + +static int +mul_n_bytes (bfd_vma memaddr, struct disassemble_info* info) +{ + int nx = 2; + uint8_t mb; + int status = read_memory (memaddr, &mb, 1, info); + if (status < 0) + return 0; + + enum MUL_MODE mode = -1; + size_t i; + for (i = 0; i < sizeof (mul_table) / sizeof (mul_table[0]); ++i) + { + const struct mb *mm = mul_table + i; + if ((mb & mm->mask) == mm->value) + { + mode = mm->mode; + break; + } + } + + int size = (mb & 0x3) + 1; + + switch (mode) + { + case MUL_REG_IMM: + nx += size; + break; + case MUL_REG_REG: + break; + case MUL_REG_OPR: + nx += opr_n_bytes (memaddr + 1, info); + break; + case MUL_OPR_OPR: + { + int first = opr_n_bytes (memaddr + nx - 1, info); + nx += first; + int second = opr_n_bytes (memaddr + nx - 1, info); + nx += second; + } + break; + } + + return nx; +} + + +enum BM_MODE { + BM_REG_IMM, + BM_RESERVED0, + BM_OPR_B, + BM_OPR_W, + BM_OPR_L, + BM_OPR_REG, + BM_RESERVED1 +}; + +struct bm +{ + uint8_t mask; + uint8_t value; + enum BM_MODE mode; +}; + +static const struct bm bm_table[] = { + { 0xC6, 0x04, BM_REG_IMM}, + { 0x84, 0x00, BM_REG_IMM}, + { 0x06, 0x06, BM_REG_IMM}, + { 0xC6, 0x44, BM_RESERVED0}, + // 00 + { 0x8F, 0x80, BM_OPR_B}, + { 0x8E, 0x82, BM_OPR_W}, + { 0x8C, 0x88, BM_OPR_L}, + + { 0x83, 0x81, BM_OPR_REG}, + { 0x87, 0x84, BM_RESERVED1}, +}; + +static void +bm_decode (bfd_vma memaddr, struct disassemble_info* info) +{ + uint8_t bm; + int status = read_memory (memaddr, &bm, 1, info); + if (status < 0) + return; + + size_t i; + enum BM_MODE mode = -1; + for (i = 0; i < sizeof (bm_table) / sizeof (bm_table[0]); ++i) + { + const struct bm *bme = bm_table + i; + if ((bm & bme->mask) == bme->value) + { + mode = bme->mode; + break; + } + } + + switch (mode) + { + case BM_REG_IMM: + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", registers[bm & 0x07].name); + break; + case BM_OPR_B: + (*info->fprintf_func) (info->stream, ".%c", 'b'); + opr_decode (memaddr + 1, info); + break; + case BM_OPR_W: + (*info->fprintf_func) (info->stream, ".%c", 'w'); + opr_decode (memaddr + 1, info); + break; + case BM_OPR_L: + (*info->fprintf_func) (info->stream, ".%c", 'l'); + opr_decode (memaddr + 1, info); + break; + case BM_OPR_REG: + { + uint8_t xb; + read_memory (memaddr + 1, &xb, 1, info); + /* Don't emit a size suffix for register operands */ + if ((xb & 0xF8) != 0xB8) + (*info->fprintf_func) (info->stream, ".%c", shift_size_table[(bm & 0x0c) >> 2]); + opr_decode (memaddr + 1, info); + } + break; + case BM_RESERVED0: + case BM_RESERVED1: + assert (0); + break; + } + + uint8_t imm = 0; + operand_separator (info); + switch (mode) + { + case BM_REG_IMM: + { + imm = (bm & 0xF8) >> 3; + (*info->fprintf_func) (info->stream, "#%d", imm); + } + break; + case BM_OPR_L: + imm |= (bm & 0x03) << 3; + /* fallthrough */ + case BM_OPR_W: + imm |= (bm & 0x01) << 3; + /* fallthrough */ + case BM_OPR_B: + imm |= (bm & 0x70) >> 4; + (*info->fprintf_func) (info->stream, "#%d", imm); + break; + case BM_OPR_REG: + (*info->fprintf_func) (info->stream, "%s", registers[(bm & 0x70) >> 4].name); + break; + case BM_RESERVED0: + case BM_RESERVED1: + assert (0); + break; + } +} + + +static void +bm_rel_decode (bfd_vma memaddr, struct disassemble_info* info) +{ + uint8_t bm; + int status = read_memory (memaddr, &bm, 1, info); + if (status < 0) + return; + + size_t i; + enum BM_MODE mode = -1; + for (i = 0; i < sizeof (bm_table) / sizeof (bm_table[0]); ++i) + { + const struct bm *bme = bm_table + i; + if ((bm & bme->mask) == bme->value) + { + mode = bme->mode; + break; + } + } + + switch (mode) + { + case BM_REG_IMM: + break; + case BM_OPR_B: + (*info->fprintf_func) (info->stream, ".%c", 'b'); + break; + case BM_OPR_W: + (*info->fprintf_func) (info->stream, ".%c", 'w'); + break; + case BM_OPR_L: + (*info->fprintf_func) (info->stream, ".%c", 'l'); + break; + case BM_OPR_REG: + { + uint8_t xb; + read_memory (memaddr + 1, &xb, 1, info); + /* Don't emit a size suffix for register operands */ + if ((xb & 0xF8) != 0xB8) + (*info->fprintf_func) (info->stream, ".%c", + shift_size_table[(bm & 0x0C) >> 2]); + } + break; + case BM_RESERVED0: + case BM_RESERVED1: + assert (0); + break; + } + + int n = 1; + switch (mode) + { + case BM_REG_IMM: + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", registers[bm & 0x07].name); + break; + case BM_OPR_B: + case BM_OPR_W: + case BM_OPR_L: + opr_decode (memaddr + 1, info); + n = 1 + opr_n_bytes (memaddr + 1, info); + break; + case BM_OPR_REG: + opr_decode (memaddr + 1, info); + break; + case BM_RESERVED0: + case BM_RESERVED1: + assert (0); + break; + } + + + int imm = 0; + operand_separator (info); + switch (mode) + { + case BM_OPR_L: + imm |= (bm & 0x02) << 3; + /* fall through */ + case BM_OPR_W: + imm |= (bm & 0x01) << 3; + /* fall through */ + case BM_OPR_B: + imm |= (bm & 0x70) >> 4; + (*info->fprintf_func) (info->stream, "#%d", imm); + break; + case BM_REG_IMM: + imm = (bm & 0xF8) >> 3; + (*info->fprintf_func) (info->stream, "#%d", imm); + break; + case BM_RESERVED0: + case BM_RESERVED1: + assert (0); + break; + case BM_OPR_REG: + (*info->fprintf_func) (info->stream, "%s", registers[(bm & 0x70) >> 4].name); + n += opr_n_bytes (memaddr + 1, info); + break; + } + + rel_15_7 (memaddr + n, info, n + 1); +} + +static int +bm_n_bytes (bfd_vma memaddr, struct disassemble_info* info) +{ + uint8_t bm; + int status = read_memory (memaddr, &bm, 1, info); + if (status < 0) + return status; + + size_t i; + enum BM_MODE mode = -1; + for (i = 0; i < sizeof (bm_table) / sizeof (bm_table[0]); ++i) + { + const struct bm *bme = bm_table + i; + if ((bm & bme->mask) == bme->value) + { + mode = bme->mode; + break; + } + } + + int n = 2; + switch (mode) + { + case BM_REG_IMM: + break; + + case BM_OPR_B: + case BM_OPR_W: + case BM_OPR_L: + n += opr_n_bytes (memaddr + 1, info); + break; + case BM_OPR_REG: + n += opr_n_bytes (memaddr + 1, info); + break; + default: + break; + } + + return n; +} + +static int +bm_rel_n_bytes (bfd_vma memaddr, struct disassemble_info* info) +{ + int n = 1 + bm_n_bytes (memaddr, info); + + bfd_byte rb; + int status = read_memory (memaddr + n - 2, &rb, 1, info); + if (status != 0) + return status; + + if (rb & 0x80) + n++; + + return n; +} + + + + + +/* shift direction */ +enum SB_DIR + { + SB_LEFT, + SB_RIGHT + }; + +enum SB_TYPE + { + SB_ARITHMETIC, + SB_LOGICAL + }; + + +enum SB_MODE + { + SB_REG_REG_N_EFF, + SB_REG_REG_N, + SB_REG_OPR_EFF, + SB_ROT, + SB_REG_OPR_OPR, + SB_OPR_N + }; + +struct sb +{ + uint8_t mask; + uint8_t value; + enum SB_MODE mode; +}; + +static const struct sb sb_table[] = { + {0x30, 0x00, SB_REG_REG_N_EFF}, + {0x30, 0x10, SB_REG_REG_N}, + {0x34, 0x20, SB_REG_OPR_EFF}, + {0x34, 0x24, SB_ROT}, + {0x34, 0x30, SB_REG_OPR_OPR}, + {0x34, 0x34, SB_OPR_N}, +}; + +static int +shift_n_bytes (bfd_vma memaddr, struct disassemble_info* info) +{ + bfd_byte sb; + int status = read_memory (memaddr++, &sb, 1, info); + if (status != 0) + return status; + + size_t i; + enum SB_MODE mode = -1; + for (i = 0; i < sizeof (sb_table) / sizeof (sb_table[0]); ++i) + { + const struct sb *sbe = sb_table + i; + if ((sb & sbe->mask) == sbe->value) + mode = sbe->mode; + } + + switch (mode) + { + case SB_REG_REG_N_EFF: + return 2; + break; + case SB_REG_OPR_EFF: + case SB_ROT: + return 2 + opr_n_bytes (memaddr, info); + break; + case SB_REG_OPR_OPR: + { + int opr1 = opr_n_bytes (memaddr, info); + int opr2 = 0; + if ((sb & 0x30) != 0x20) + opr2 = opr_n_bytes (memaddr + opr1, info); + return 2 + opr1 + opr2; + } + break; + default: + return 3; + } + + /* not reached */ + return -1; +} + + +static int +mov_imm_opr_n_bytes (bfd_vma memaddr, struct disassemble_info* info) +{ + bfd_byte byte; + int status = read_memory (memaddr - 1, &byte, 1, info); + if (status < 0) + return status; + + int size = byte - 0x0c + 1; + + return size + opr_n_bytes (memaddr + size, info) + 1; +} + +static void +mov_imm_opr (bfd_vma memaddr, struct disassemble_info* info) +{ + bfd_byte byte; + int status = read_memory (memaddr - 1, &byte, 1, info); + if (status < 0) + return ; + + int size = byte - 0x0c + 1; + uint32_t imm = decode_signed_value (memaddr, info, size); + + operand_separator (info); + (*info->fprintf_func) (info->stream, "#%d", imm); + opr_decode (memaddr + size, info); +} + + + +static void +ld_18bit_decode (bfd_vma memaddr, struct disassemble_info* info) +{ + size_t size = 3; + bfd_byte buffer[3]; + int status = read_memory (memaddr, buffer + 1, 2, info); + if (status < 0) + return ; + + + status = read_memory (memaddr - 1, buffer, 1, info); + if (status < 0) + return ; + + buffer[0] = (buffer[0] & 0x30) >> 4; + + size_t i; + uint32_t imm = 0; + for (i = 0; i < size; ++i) + { + imm |= buffer[i] << (8 * (size - i - 1)); + } + + operand_separator (info); + (*info->fprintf_func) (info->stream, "#%d", imm); +} + + + +/* Loop Primitives */ + +enum LP_MODE { + LP_REG, + LP_XY, + LP_OPR +}; + +struct lp +{ + uint8_t mask; + uint8_t value; + enum LP_MODE mode; +}; + +static const struct lp lp_mode[] = { + {0x08, 0x00, LP_REG}, + {0x0C, 0x08, LP_XY}, + {0x0C, 0x0C, LP_OPR}, +}; + + +static const char *lb_condition[] = + { + "ne", "eq", "pl", "mi", "gt", "le", + "??", "??" + }; + +static int +loop_prim_n_bytes (bfd_vma memaddr, struct disassemble_info* info) +{ + int mx = 0; + uint8_t lb; + read_memory (memaddr + mx++, &lb, 1, info); + + enum LP_MODE mode = -1; + size_t i; + for (i = 0; i < sizeof (lp_mode) / sizeof (lp_mode[0]); ++i) + { + const struct lp *pb = lp_mode + i; + if ((lb & pb->mask) == pb->value) + { + mode = pb->mode; + break; + } + } + + if (mode == LP_OPR) + { + mx += opr_n_bytes (memaddr + mx, info) ; + } + + uint8_t rb; + read_memory (memaddr + mx++, &rb, 1, info); + if (rb & 0x80) + mx++; + + return mx + 1; +} + + + + +static int +print_insn_exg_sex (bfd_vma memaddr, struct disassemble_info* info) +{ + uint8_t eb; + int status = read_memory (memaddr, &eb, 1, info); + if (status < 0) + return -1; + + const struct reg *first = ®isters[(eb & 0xf0) >> 4]; + const struct reg *second = ®isters[(eb & 0xf)]; + + if (first->bytes < second->bytes) + (*info->fprintf_func) (info->stream, "sex"); + else + (*info->fprintf_func) (info->stream, "exg"); + + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", first->name); + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", second->name); + return 0; +} + + + +static int +print_insn_loop_primitive (bfd_vma memaddr, struct disassemble_info* info) +{ + int offs = 1; + uint8_t lb; + int status = read_memory (memaddr, &lb, 1, info); + + char mnemonic[7]; + int x = 0; + mnemonic[x++] = (lb & 0x80) ? 'd' : 't'; + mnemonic[x++] = 'b'; + stpcpy (mnemonic + x, lb_condition [(lb & 0x70) >> 4]); + x += 2; + + const char *reg = NULL; + enum LP_MODE mode = -1; + size_t i; + for (i = 0; i < sizeof (lp_mode) / sizeof (lp_mode[0]); ++i) + { + const struct lp *pb = lp_mode + i; + if ((lb & pb->mask) == pb->value) + { + mode = pb->mode; + break; + } + } + + switch (mode) + { + case LP_REG: + reg = registers [lb & 0x07].name; + break; + case LP_XY: + reg = (lb & 0x1) ? "y" : "x"; + break; + case LP_OPR: + mnemonic[x++] = '.'; + mnemonic[x++] = shift_size_table [lb & 0x03]; + offs += opr_n_bytes (memaddr + 1, info); + break; + } + + mnemonic[x++] = '\0'; + + (*info->fprintf_func) (info->stream, "%s", mnemonic); + + if (mode == LP_OPR) + opr_decode (memaddr + 1, info); + else + { + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", reg); + } + + rel_15_7 (memaddr + offs, info, offs + 1); + + return status; +} + + +static int +print_insn_shift (bfd_vma memaddr, struct disassemble_info* info, uint8_t byte) +{ + size_t i; + uint8_t sb; + int status = read_memory (memaddr, &sb, 1, info); + if (status < 0) + return status; + + enum SB_DIR dir = (sb & 0x40) ? SB_LEFT : SB_RIGHT; + enum SB_TYPE type = (sb & 0x80) ? SB_ARITHMETIC : SB_LOGICAL; + enum SB_MODE mode = -1; + for (i = 0; i < sizeof (sb_table) / sizeof (sb_table[0]); ++i) + { + const struct sb *sbe = sb_table + i; + if ((sb & sbe->mask) == sbe->value) + mode = sbe->mode; + } + + char mnemonic[6]; + int x = 0; + if (mode == SB_ROT) + { + mnemonic[x++] = 'r'; + mnemonic[x++] = 'o'; + } + else + { + mnemonic[x++] = (type == SB_LOGICAL) ? 'l' : 'a'; + mnemonic[x++] = 's'; + } + + mnemonic[x++] = (dir == SB_LEFT) ? 'l' : 'r'; + + switch (mode) + { + case SB_REG_OPR_EFF: + case SB_ROT: + case SB_REG_OPR_OPR: + mnemonic[x++] = '.'; + mnemonic[x++] = shift_size_table[sb & 0x03]; + break; + case SB_OPR_N: + { + uint8_t xb; + read_memory (memaddr + 1, &xb, 1, info); + /* The size suffix is not printed if the OPR operand refers + directly to a register, because the size is implied by the + size of that register. */ + if ((xb & 0xF8) != 0xB8) + { + mnemonic[x++] = '.'; + mnemonic[x++] = shift_size_table[sb & 0x03]; + } + } + break; + default: + break; + }; + + mnemonic[x++] = '\0'; + + (*info->fprintf_func) (info->stream, "%s", mnemonic); + + /* Destination register */ + switch (mode) + { + case SB_REG_REG_N_EFF: + case SB_REG_REG_N: + case SB_REG_OPR_EFF: + case SB_REG_OPR_OPR: + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", registers[byte & 0x7].name); + break; + + case SB_ROT: + opr_decode (memaddr + 1, info); + break; + + default: + break; + } + + /* Source register */ + switch (mode) + { + case SB_REG_REG_N_EFF: + case SB_REG_REG_N: + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", registers[sb & 0x7].name); + break; + + case SB_REG_OPR_OPR: + opr_decode (memaddr + 1, info); + break; + + default: + break; + } + + /* 3rd arg */ + switch (mode) + { + case SB_REG_OPR_EFF: + case SB_OPR_N: + opr_decode (memaddr + 1, info); + break; + + case SB_REG_REG_N: + if (sb & 0x08) + { + operand_separator (info); + if (byte & 0x10) + { + uint8_t xb; + read_memory (memaddr + 1, &xb, 1, info); + int shift = ((sb & 0x08) >> 3) | ((xb & 0x0f) << 1); + (*info->fprintf_func) (info->stream, "#%d", shift); + } + else + { + (*info->fprintf_func) (info->stream, "%s:%d", __FILE__, __LINE__); + } + } + else + { + opr_decode (memaddr + 1, info); + } + break; + case SB_REG_OPR_OPR: + { + uint8_t xb; + int n = opr_n_bytes (memaddr + 1, info); + read_memory (memaddr + 1 + n, &xb, 1, info); + + if ((xb & 0xF0) == 0x70) + { + int imm = xb & 0x0F; + imm <<= 1; + imm |= (sb & 0x08) >> 3; + operand_separator (info); + (*info->fprintf_func) (info->stream, "#%d", imm); + } + else + { + opr_decode (memaddr + 1 + n, info); + } + } + break; + default: + break; + } + + switch (mode) + { + case SB_REG_REG_N_EFF: + case SB_REG_OPR_EFF: + case SB_OPR_N: + operand_separator (info); + (*info->fprintf_func) (info->stream, "#%d", + (sb & 0x08) ? 2 : 1); + break; + + default: + break; + } + + return 0; +} + +int +print_insn_s12z (bfd_vma memaddr, struct disassemble_info* info) +{ + bfd_byte byte; + int status = read_memory (memaddr++, &byte, 1, info); + if (status != 0) + return status; + + const struct opcode *opc2 = NULL; + const struct opcode *opc = page1 + byte; + if (opc->mnemonic) + { + (*info->fprintf_func) (info->stream, "%s", opc->mnemonic); + } + else + { + /* The special cases ... */ + switch (byte) + { + case PAGE2_PREBYTE: + { + bfd_byte byte2; + read_memory (memaddr++, &byte2, 1, info); + opc2 = page2 + byte2; + if (opc2->mnemonic) + { + (*info->fprintf_func) (info->stream, "%s", opc2->mnemonic); + + if (opc2->operands) + { + opc2->operands (memaddr, info); + } + + if (opc2->operands2) + { + opc2->operands2 (memaddr, info); + } + } + else if (byte2 >= 0x08 && byte2 <= 0x1F) + { + bfd_byte bb; + read_memory (memaddr, &bb, 1, info); + if (bb & 0x80) + (*info->fprintf_func) (info->stream, "bfins"); + else + (*info->fprintf_func) (info->stream, "bfext"); + + enum BB_MODE mode = -1; + size_t i; + const struct opr_bb *bbs = 0; + for (i = 0; i < sizeof (bb_modes) / sizeof (bb_modes[0]); ++i) + { + bbs = bb_modes + i; + if ((bb & bbs->mask) == bbs->value) + { + mode = bbs->mode; + break; + } + } + + switch (mode) + { + case BB_REG_OPR_REG: + case BB_REG_OPR_IMM: + case BB_OPR_REG_REG: + case BB_OPR_REG_IMM: + { + int size = (bb >> 2) & 0x03; + (*info->fprintf_func) (info->stream, ".%c", + shift_size_table [size]); + } + break; + default: + break; + } + + int reg1 = byte2 & 0x07; + /* First operand */ + switch (mode) + { + case BB_REG_REG_REG: + case BB_REG_REG_IMM: + case BB_REG_OPR_REG: + case BB_REG_OPR_IMM: + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", + registers[reg1].name); + break; + case BB_OPR_REG_REG: + opr_decode (memaddr + 1, info); + break; + case BB_OPR_REG_IMM: + opr_decode (memaddr + 2, info); + break; + } + + /* Second operand */ + switch (mode) + { + case BB_REG_REG_REG: + case BB_REG_REG_IMM: + { + int reg_src = (bb >> 2) & 0x07; + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", + registers[reg_src].name); + } + break; + case BB_OPR_REG_REG: + case BB_OPR_REG_IMM: + { + int reg_src = (byte2 & 0x07); + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", + registers[reg_src].name); + } + break; + case BB_REG_OPR_REG: + opr_decode (memaddr + 1, info); + break; + case BB_REG_OPR_IMM: + opr_decode (memaddr + 2, info); + break; + } + + /* Third operand */ + operand_separator (info); + switch (mode) + { + case BB_REG_REG_REG: + case BB_OPR_REG_REG: + case BB_REG_OPR_REG: + { + int reg_parm = bb & 0x03; + (*info->fprintf_func) (info->stream, "%s", + registers[reg_parm].name); + } + break; + case BB_REG_REG_IMM: + case BB_OPR_REG_IMM: + case BB_REG_OPR_IMM: + { + bfd_byte i1; + read_memory (memaddr + 1, &i1, 1, info); + int offset = i1 & 0x1f; + int width = bb & 0x03; + width <<= 3; + width |= i1 >> 5; + (*info->fprintf_func) (info->stream, "#%d:%d", width, offset); + } + break; + } + } + } + break; + case 0xae: /* EXG / SEX */ + status = print_insn_exg_sex (memaddr, info); + break; + case 0x0b: /* Loop Primitives TBcc and DBcc */ + status = print_insn_loop_primitive (memaddr, info); + break; + case 0x10: /* shift */ + case 0x11: /* shift */ + case 0x12: /* shift */ + case 0x13: /* shift */ + case 0x14: /* shift */ + case 0x15: /* shift */ + case 0x16: /* shift */ + case 0x17: /* shift */ + status = print_insn_shift (memaddr, info, byte); + break; + case 0x04: /* psh / pul */ + { + read_memory (memaddr, &byte, 1, info); + (*info->fprintf_func) (info->stream, (byte & 0x80) ? "pul" : "psh"); + int bit; + if (byte & 0x40) + { + if ((byte & 0x3F) == 0) + { + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", "ALL16b"); + } + else + for (bit = 5; bit >= 0; --bit) + { + if (byte & (0x1 << bit)) + { + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", oprregs2[bit]); + } + } + } + else + { + if ((byte & 0x3F) == 0) + { + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", "ALL"); + } + else + for (bit = 5; bit >= 0; --bit) + { + if (byte & (0x1 << bit)) + { + operand_separator (info); + (*info->fprintf_func) (info->stream, "%s", oprregs1[bit]); + } + } + } + } + break; + default: + operand_separator (info); + (*info->fprintf_func) (info->stream, "???"); + break; + } + } + + if (opc2 == NULL) + { + if (opc->operands) + { + opc->operands (memaddr, info); + } + + if (opc->operands2) + { + opc->operands2 (memaddr, info); + } + } + + int n = 0; + + /* Opcodes in page2 have an additional byte */ + if (opc2) + n++; + + if (opc2 && opc2->insn_bytes == 0) + return n; + + if (!opc2 && opc->insn_bytes == 0) + return n; + + if (opc2) + n += opc2->insn_bytes (memaddr, info); + else + n += opc->insn_bytes (memaddr, info); + + return n; +} diff -Nru binutils-2.30.51.20180512/opcodes/s12z.h binutils-2.30.52.20180613/opcodes/s12z.h --- binutils-2.30.51.20180512/opcodes/s12z.h 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.30.52.20180613/opcodes/s12z.h 2018-06-04 21:27:35.000000000 +0200 @@ -0,0 +1,71 @@ +#ifndef S12Z_H +#define S12Z_H + +/* This byte is used to prefix instructions in "page 2" of the opcode + space */ +#define PAGE2_PREBYTE (0x1b) + +struct reg +{ + char *name; /* The canonical name of the register */ + int bytes; /* its size, in bytes */ +}; + + +/* How many registers do we have. Actually there are only 13, + because CCL and CCH are the low and high bytes of CCW. But + for assemnbly / disassembly purposes they are considered + distinct registers. */ +#define S12Z_N_REGISTERS 15 + +extern const struct reg registers[S12Z_N_REGISTERS]; + +enum { + REG_D2 = 0, + REG_D3, + REG_D4, + REG_D5, + REG_D0, + REG_D1, + REG_D6, + REG_D7, + REG_X, + REG_Y, + REG_S, + REG_P, + REG_CCH, + REG_CCL, + REG_CCW + }; + +/* Any of the registers d0, d1, ... d7 */ +#define REG_BIT_Dn \ +((0x1U << REG_D2) | \ + (0x1U << REG_D3) | \ + (0x1U << REG_D4) | \ + (0x1U << REG_D5) | \ + (0x1U << REG_D6) | \ + (0x1U << REG_D7) | \ + (0x1U << REG_D0) | \ + (0x1U << REG_D1)) + +/* Any of the registers x, y or z */ +#define REG_BIT_XYS \ +((0x1U << REG_X) | \ + (0x1U << REG_Y) | \ + (0x1U << REG_S)) + +/* Any of the registers x, y, z or p */ +#define REG_BIT_XYSP \ +((0x1U << REG_X) | \ + (0x1U << REG_Y) | \ + (0x1U << REG_S) | \ + (0x1U << REG_P)) + +/* The x register or the y register */ +#define REG_BIT_XY \ +((0x1U << REG_X) | \ + (0x1U << REG_Y)) + + +#endif diff -Nru binutils-2.30.51.20180512/opcodes/sysdep.h binutils-2.30.52.20180613/opcodes/sysdep.h --- binutils-2.30.51.20180512/opcodes/sysdep.h 2018-03-12 20:12:36.000000000 +0100 +++ binutils-2.30.52.20180613/opcodes/sysdep.h 2018-06-04 21:27:35.000000000 +0200 @@ -57,7 +57,6 @@ #endif #define opcodes_error_handler _bfd_error_handler -extern void _bfd_error_handler (const char *, ...) ATTRIBUTE_PRINTF_1; /* Use sigsetjmp/siglongjmp without saving the signal mask if possible. It is faster than setjmp/longjmp on systems where the signal mask is diff -Nru binutils-2.30.51.20180512/opcodes/xtensa-dis.c binutils-2.30.52.20180613/opcodes/xtensa-dis.c --- binutils-2.30.51.20180512/opcodes/xtensa-dis.c 2018-01-05 03:08:30.000000000 +0100 +++ binutils-2.30.52.20180613/opcodes/xtensa-dis.c 2018-06-13 10:31:39.000000000 +0200 @@ -27,6 +27,8 @@ #include "xtensa-isa.h" #include "ansidecl.h" #include "libiberty.h" +#include "bfd.h" +#include "elf/xtensa.h" #include "disassemble.h" #include @@ -43,8 +45,119 @@ { bfd_byte *byte_buf; OPCODES_SIGJMP_BUF bailout; + /* Persistent fields, valid for last_section only. */ + asection *last_section; + property_table_entry *insn_table_entries; + int insn_table_entry_count; + /* Cached property table search position. */ + bfd_vma insn_table_cur_addr; + int insn_table_cur_idx; }; +static void +xtensa_coalesce_insn_tables (struct dis_private *priv) +{ + const int mask = ~(XTENSA_PROP_DATA | XTENSA_PROP_NO_TRANSFORM); + int count = priv->insn_table_entry_count; + int i, j; + + /* Loop over all entries, combining adjacent ones that differ only in + the flag bits XTENSA_PROP_DATA and XTENSA_PROP_NO_TRANSFORM. */ + + for (i = j = 0; j < count; ++i) + { + property_table_entry *entry = priv->insn_table_entries + i; + + *entry = priv->insn_table_entries[j]; + + for (++j; j < count; ++j) + { + property_table_entry *next = priv->insn_table_entries + j; + int fill = xtensa_compute_fill_extra_space (entry); + int size = entry->size + fill; + + if (entry->address + size == next->address) + { + int entry_flags = entry->flags & mask; + int next_flags = next->flags & mask; + + if (next_flags == entry_flags) + entry->size = next->address - entry->address + next->size; + else + break; + } + else + { + break; + } + } + } + priv->insn_table_entry_count = i; +} + +static property_table_entry * +xtensa_find_table_entry (bfd_vma memaddr, struct disassemble_info *info) +{ + struct dis_private *priv = (struct dis_private *) info->private_data; + int i; + + if (priv->insn_table_entries == NULL + || priv->insn_table_entry_count < 0) + return NULL; + + if (memaddr < priv->insn_table_cur_addr) + priv->insn_table_cur_idx = 0; + + for (i = priv->insn_table_cur_idx; i < priv->insn_table_entry_count; ++i) + { + property_table_entry *block = priv->insn_table_entries + i; + + if (block->size != 0) + { + if ((memaddr >= block->address + && memaddr < block->address + block->size) + || memaddr < block->address) + { + priv->insn_table_cur_addr = memaddr; + priv->insn_table_cur_idx = i; + return block; + } + } + } + return NULL; +} + +/* Check whether an instruction crosses an instruction block boundary + (according to property tables). + If it does, return 0 (doesn't fit), else return 1. */ + +static int +xtensa_instruction_fits (bfd_vma memaddr, int size, + property_table_entry *insn_block) +{ + unsigned max_size; + + /* If no property table info, assume it fits. */ + if (insn_block == NULL || size <= 0) + return 1; + + /* If too high, limit nextstop by the next insn address. */ + if (insn_block->address > memaddr) + { + /* memaddr is not in an instruction block, but is followed by one. */ + max_size = insn_block->address - memaddr; + } + else + { + /* memaddr is in an instruction block, go no further than the end. */ + max_size = insn_block->address + insn_block->size - memaddr; + } + + /* Crossing a boundary, doesn't "fit". */ + if ((unsigned)size > max_size) + return 0; + return 1; +} static int fetch_data (struct disassemble_info *info, bfd_vma memaddr) @@ -53,6 +166,8 @@ struct dis_private *priv = (struct dis_private *) info->private_data; int insn_size = xtensa_isa_maxlength (xtensa_default_isa); + insn_size = MAX (insn_size, 4); + /* Read the maximum instruction size, padding with zeros if we go past the end of the text section. This code will automatically adjust length when we hit the end of the buffer. */ @@ -140,11 +255,12 @@ xtensa_isa isa; xtensa_opcode opc; xtensa_format fmt; - struct dis_private priv; + static struct dis_private priv; static bfd_byte *byte_buf = NULL; static xtensa_insnbuf insn_buffer = NULL; static xtensa_insnbuf slot_buffer = NULL; int first, first_slot, valid_insn; + property_table_entry *insn_block; if (!xtensa_default_isa) xtensa_default_isa = xtensa_isa_init (0, 0); @@ -175,48 +291,105 @@ priv.byte_buf = byte_buf; info->private_data = (void *) &priv; + + /* Prepare instruction tables. */ + + if (info->section != NULL) + { + asection *section = info->section; + + if (priv.last_section != section) + { + bfd *abfd = section->owner; + + if (priv.last_section != NULL) + { + /* Reset insn_table_entries. */ + priv.insn_table_entry_count = 0; + if (priv.insn_table_entries) + free (priv.insn_table_entries); + priv.insn_table_entries = NULL; + } + priv.last_section = section; + + /* Read insn_table_entries. */ + priv.insn_table_entry_count = + xtensa_read_table_entries (abfd, section, + &priv.insn_table_entries, + XTENSA_PROP_SEC_NAME, FALSE); + if (priv.insn_table_entry_count == 0) + { + if (priv.insn_table_entries) + free (priv.insn_table_entries); + priv.insn_table_entries = NULL; + /* Backwards compatibility support. */ + priv.insn_table_entry_count = + xtensa_read_table_entries (abfd, section, + &priv.insn_table_entries, + XTENSA_INSN_SEC_NAME, FALSE); + } + priv.insn_table_cur_idx = 0; + xtensa_coalesce_insn_tables (&priv); + } + /* Else nothing to do, same section as last time. */ + } + if (OPCODES_SIGSETJMP (priv.bailout) != 0) /* Error return. */ return -1; + /* Fetch the maximum size instruction. */ + bytes_fetched = fetch_data (info, memaddr); + + insn_block = xtensa_find_table_entry (memaddr, info); + /* Don't set "isa" before the setjmp to keep the compiler from griping. */ isa = xtensa_default_isa; size = 0; nslots = 0; - - /* Fetch the maximum size instruction. */ - bytes_fetched = fetch_data (info, memaddr); - - /* Copy the bytes into the decode buffer. */ - memset (insn_buffer, 0, (xtensa_insnbuf_size (isa) * - sizeof (xtensa_insnbuf_word))); - xtensa_insnbuf_from_chars (isa, insn_buffer, priv.byte_buf, bytes_fetched); - - fmt = xtensa_format_decode (isa, insn_buffer); - if (fmt == XTENSA_UNDEFINED - || ((size = xtensa_format_length (isa, fmt)) > bytes_fetched)) - valid_insn = 0; - else + valid_insn = 0; + fmt = 0; + if (!insn_block || (insn_block->flags & XTENSA_PROP_INSN)) { - /* Make sure all the opcodes are valid. */ - valid_insn = 1; - nslots = xtensa_format_num_slots (isa, fmt); - for (n = 0; n < nslots; n++) - { - xtensa_format_get_slot (isa, fmt, n, insn_buffer, slot_buffer); - if (xtensa_opcode_decode (isa, fmt, n, slot_buffer) - == XTENSA_UNDEFINED) + /* Copy the bytes into the decode buffer. */ + memset (insn_buffer, 0, (xtensa_insnbuf_size (isa) * + sizeof (xtensa_insnbuf_word))); + xtensa_insnbuf_from_chars (isa, insn_buffer, priv.byte_buf, + bytes_fetched); + + fmt = xtensa_format_decode (isa, insn_buffer); + if (fmt != XTENSA_UNDEFINED + && ((size = xtensa_format_length (isa, fmt)) <= bytes_fetched) + && xtensa_instruction_fits (memaddr, size, insn_block)) + { + /* Make sure all the opcodes are valid. */ + valid_insn = 1; + nslots = xtensa_format_num_slots (isa, fmt); + for (n = 0; n < nslots; n++) { - valid_insn = 0; - break; + xtensa_format_get_slot (isa, fmt, n, insn_buffer, slot_buffer); + if (xtensa_opcode_decode (isa, fmt, n, slot_buffer) + == XTENSA_UNDEFINED) + { + valid_insn = 0; + break; + } } } } if (!valid_insn) { - (*info->fprintf_func) (info->stream, ".byte %#02x", priv.byte_buf[0]); - return 1; + if (insn_block && (insn_block->flags & XTENSA_PROP_LITERAL) + && (memaddr & 3) == 0 && bytes_fetched >= 4) + { + return 4; + } + else + { + (*info->fprintf_func) (info->stream, ".byte %#02x", priv.byte_buf[0]); + return 1; + } } if (nslots > 1)