diff options
-rw-r--r-- | bfd/ChangeLog | 4 | ||||
-rw-r--r-- | bfd/elf32-nds32.c | 4 | ||||
-rw-r--r-- | bfd/oasys.c | 52 | ||||
-rw-r--r-- | include/ChangeLog | 8 | ||||
-rw-r--r-- | include/opcode/metag.h | 2 | ||||
-rw-r--r-- | include/opcode/nds32.h | 4 | ||||
-rw-r--r-- | include/opcode/visium.h | 9 |
7 files changed, 47 insertions, 36 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3c2e8cb..3489873 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,9 @@ 2016-02-09 Nick Clifton <nickc@redhat.com> + * oasys.c (oasys_archive_p): Fix indentation. + * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned + constant for left shifting. + * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more helpful warning message to explain why certain AArch64 relocs might overflow. diff --git a/bfd/elf32-nds32.c b/bfd/elf32-nds32.c index ffad0db..5fffbf2 100644 --- a/bfd/elf32-nds32.c +++ b/bfd/elf32-nds32.c @@ -12344,8 +12344,8 @@ nds32_elf_relax_section (bfd *abfd, asection *sec, Elf_Internal_Rela *tmp_rel; /* Pad to alignment boundary. Only handle current section alignment. */ - sec_size_align = (sec->size + (~((-1) << sec->alignment_power))) - & ((-1) << sec->alignment_power); + sec_size_align = (sec->size + (~((-1U) << sec->alignment_power))) + & ((-1U) << sec->alignment_power); if ((sec_size_align - sec->size) & 0x2) { insn16 = NDS32_NOP16; diff --git a/bfd/oasys.c b/bfd/oasys.c index 791ad2a..f7791d2 100644 --- a/bfd/oasys.c +++ b/bfd/oasys.c @@ -272,37 +272,35 @@ oasys_archive_p (bfd *abfd) filepos = header.mod_tbl_offset; for (i = 0; i < header.mod_count; i++) { + oasys_extmodule_table_type_b_type record_ext; + if (bfd_seek (abfd, filepos, SEEK_SET) != 0) return NULL; /* There are two ways of specifying the archive header. */ - { - oasys_extmodule_table_type_b_type record_ext; - - amt = sizeof (record_ext); - if (bfd_bread ((void *) &record_ext, amt, abfd) != amt) - return NULL; - - record.mod_size = H_GET_32 (abfd, record_ext.mod_size); - record.file_offset = H_GET_32 (abfd, record_ext.file_offset); - - record.dep_count = H_GET_32 (abfd, record_ext.dep_count); - record.depee_count = H_GET_32 (abfd, record_ext.depee_count); - record.sect_count = H_GET_32 (abfd, record_ext.sect_count); - record.module_name_size = H_GET_32 (abfd, - record_ext.mod_name_length); - - amt = record.module_name_size; - module[i].name = bfd_alloc (abfd, amt + 1); - if (!module[i].name) - return NULL; - if (bfd_bread ((void *) module[i].name, amt, abfd) != amt) - return NULL; - module[i].name[record.module_name_size] = 0; - filepos += (sizeof (record_ext) - + record.dep_count * 4 - + record.module_name_size + 1); - } + amt = sizeof (record_ext); + if (bfd_bread ((void *) &record_ext, amt, abfd) != amt) + return NULL; + + record.mod_size = H_GET_32 (abfd, record_ext.mod_size); + record.file_offset = H_GET_32 (abfd, record_ext.file_offset); + + record.dep_count = H_GET_32 (abfd, record_ext.dep_count); + record.depee_count = H_GET_32 (abfd, record_ext.depee_count); + record.sect_count = H_GET_32 (abfd, record_ext.sect_count); + record.module_name_size = H_GET_32 (abfd, + record_ext.mod_name_length); + + amt = record.module_name_size; + module[i].name = bfd_alloc (abfd, amt + 1); + if (!module[i].name) + return NULL; + if (bfd_bread ((void *) module[i].name, amt, abfd) != amt) + return NULL; + module[i].name[record.module_name_size] = 0; + filepos += (sizeof (record_ext) + + record.dep_count * 4 + + record.module_name_size + 1); module[i].size = record.mod_size; module[i].pos = record.file_offset; diff --git a/include/ChangeLog b/include/ChangeLog index a87610d..69521cf 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,11 @@ +2016-02-09 Nick Clifton <nickc@redhat.com> + + * opcode/metag.h (metag_scondtab): Mark as possibly unused. + * opcode/nds32.h (nds32_r45map): Likewise. + (nds32_r54map): Likewise. + * opcode/visium.h (gen_reg_table): Likewise. + (fp_reg_table, cc_table, opcode_table): Likewise. + 2016-02-09 Alan Modra <amodra@gmail.com> PR 16583 diff --git a/include/opcode/metag.h b/include/opcode/metag.h index 1925934..5bce87e 100644 --- a/include/opcode/metag.h +++ b/include/opcode/metag.h @@ -683,7 +683,7 @@ typedef struct enum scond_code code; } split_condition; -static const split_condition metag_scondtab[] = +static const split_condition metag_scondtab[] ATTRIBUTE_UNUSED = { { "LEQ", SCOND_LEQ }, { "LEZ", SCOND_LEQ }, diff --git a/include/opcode/nds32.h b/include/opcode/nds32.h index f8ed985..5f29c04 100644 --- a/include/opcode/nds32.h +++ b/include/opcode/nds32.h @@ -36,13 +36,13 @@ #define REG_SP 31 /* Macros for extracting fields or making an instruction. */ -static const int nds32_r45map[] = +static const int nds32_r45map[] ATTRIBUTE_UNUSED = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 16, 17, 18, 19 }; -static const int nds32_r54map[] = +static const int nds32_r54map[] ATTRIBUTE_UNUSED = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, diff --git a/include/opcode/visium.h b/include/opcode/visium.h index 6138062..3970479 100644 --- a/include/opcode/visium.h +++ b/include/opcode/visium.h @@ -104,7 +104,7 @@ struct reg_entry unsigned char code; }; -static const struct reg_entry gen_reg_table[] = +static const struct reg_entry gen_reg_table[] ATTRIBUTE_UNUSED = { {"fp", 0x16}, {"r0", 0x0}, @@ -142,7 +142,7 @@ static const struct reg_entry gen_reg_table[] = {"sp", 0x17}, }; -static const struct reg_entry fp_reg_table[] = +static const struct reg_entry fp_reg_table[] ATTRIBUTE_UNUSED = { {"f0", 0x0}, {"f1", 0x1}, @@ -166,7 +166,7 @@ static const struct cc_entry { char *name; int code; -} cc_table [] = +} cc_table [] ATTRIBUTE_UNUSED = { {"cc", 6}, {"cs", 2}, @@ -229,7 +229,7 @@ static const struct opcode_entry unsigned code; char flags; } -opcode_table[] = +opcode_table[] ATTRIBUTE_UNUSED = { { "adc.b", mode_dab, class3|(1<<21)|(1), def }, { "adc.l", mode_dab, class3|(1<<21)|(4), def }, @@ -335,3 +335,4 @@ opcode_table[] = { "xor.l", mode_dab, class3|(8<<21)|(4), def }, { "xor.w", mode_dab, class3|(8<<21)|(2), def }, }; + |