-Og warning fixes
Found when building with gcc 4.9.4 using -Og. bfd/ * elf-eh-frame.c (offset_adjust): Avoid false positive gcc warning. * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Likewise. * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise. ld/ * emultempl/msp430.em (eval_upper_either_sections): Make base_sec_name a const char*. (eval_lower_either_sections): Likewise. (msp430_elf_after_allocation): Likewise, and don't needlessly concat and free. Warning fix.
This commit is contained in:
parent
96fbe52eaa
commit
96d01d93c4
|
@ -1,3 +1,9 @@
|
|||
2017-09-02 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* elf-eh-frame.c (offset_adjust): Avoid false positive gcc warning.
|
||||
* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Likewise.
|
||||
* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
|
||||
|
||||
2017-09-01 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* elf32-i386.c (elf_i386_gc_mark_hook): Removed.
|
||||
|
|
|
@ -1335,7 +1335,7 @@ offset_adjust (bfd_vma offset, const asection *sec)
|
|||
struct eh_frame_sec_info *sec_info
|
||||
= (struct eh_frame_sec_info *) elf_section_data (sec)->sec_info;
|
||||
unsigned int lo, hi, mid;
|
||||
struct eh_cie_fde *ent;
|
||||
struct eh_cie_fde *ent = NULL;
|
||||
bfd_signed_vma delta;
|
||||
|
||||
lo = 0;
|
||||
|
|
|
@ -6855,7 +6855,7 @@ bfd_elf_size_dynsym_hash_dynstr (bfd *output_bfd, struct bfd_link_info *info)
|
|||
{
|
||||
const struct elf_backend_data *bed;
|
||||
unsigned long section_sym_count;
|
||||
bfd_size_type dynsymcount;
|
||||
bfd_size_type dynsymcount = 0;
|
||||
|
||||
if (!is_elf_hash_table (info->hash))
|
||||
return TRUE;
|
||||
|
|
|
@ -4944,7 +4944,7 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
|
|||
= elfNN_aarch64_bfd_reloc_from_howto (howto);
|
||||
unsigned long r_symndx;
|
||||
bfd_byte *hit_data = contents + rel->r_offset;
|
||||
bfd_vma place, off, got_entry_addr;
|
||||
bfd_vma place, off, got_entry_addr = 0;
|
||||
bfd_signed_vma signed_addend;
|
||||
struct elf_aarch64_link_hash_table *globals;
|
||||
bfd_boolean weak_undef_p;
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
2017-09-02 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* emultempl/msp430.em (eval_upper_either_sections): Make base_sec_name
|
||||
a const char*.
|
||||
(eval_lower_either_sections): Likewise.
|
||||
(msp430_elf_after_allocation): Likewise, and don't needlessly concat
|
||||
and free. Warning fix.
|
||||
|
||||
2017-09-01 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/22061
|
||||
|
|
|
@ -557,7 +557,7 @@ gld${EMULATION_NAME}_handle_option (int optc)
|
|||
static void
|
||||
eval_upper_either_sections (bfd *abfd, asection *s, void *data)
|
||||
{
|
||||
char * base_sec_name;
|
||||
const char * base_sec_name;
|
||||
const char * curr_name;
|
||||
char * either_name;
|
||||
int curr_region;
|
||||
|
@ -576,7 +576,7 @@ eval_upper_either_sections (bfd *abfd, asection *s, void *data)
|
|||
if (bfd_link_relocatable (&link_info))
|
||||
return;
|
||||
|
||||
base_sec_name = (char *) data;
|
||||
base_sec_name = (const char *) data;
|
||||
curr_name = bfd_get_section_name (abfd, s);
|
||||
|
||||
/* Only concerned with .either input sections in the upper output section. */
|
||||
|
@ -639,7 +639,7 @@ eval_upper_either_sections (bfd *abfd, asection *s, void *data)
|
|||
static void
|
||||
eval_lower_either_sections (bfd *abfd, asection *s, void *data)
|
||||
{
|
||||
char * base_sec_name;
|
||||
const char * base_sec_name;
|
||||
const char * curr_name;
|
||||
char * either_name;
|
||||
int curr_region;
|
||||
|
@ -656,7 +656,7 @@ eval_lower_either_sections (bfd *abfd, asection *s, void *data)
|
|||
if (bfd_link_relocatable (&link_info))
|
||||
return;
|
||||
|
||||
base_sec_name = (char *) data;
|
||||
base_sec_name = (const char *) data;
|
||||
curr_name = bfd_get_section_name (abfd, s);
|
||||
|
||||
/* Only concerned with .either input sections in the lower or "default"
|
||||
|
@ -758,29 +758,30 @@ static void
|
|||
msp430_elf_after_allocation (void)
|
||||
{
|
||||
int relax_count = 0;
|
||||
int i;
|
||||
unsigned int i;
|
||||
/* Go over each section twice, once to place either sections that don't fit
|
||||
in lower into upper, and then again to move any sections in upper that
|
||||
fit in lower into lower. */
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
int placement_stage = (i < 4) ? LOWER_TO_UPPER : UPPER_TO_LOWER;
|
||||
char * base_sec_name;
|
||||
const char * base_sec_name;
|
||||
lang_output_section_statement_type * upper;
|
||||
|
||||
switch (i % 4)
|
||||
{
|
||||
default:
|
||||
case 0:
|
||||
base_sec_name = concat (".text", NULL);
|
||||
base_sec_name = ".text";
|
||||
break;
|
||||
case 1:
|
||||
base_sec_name = concat (".data", NULL);
|
||||
base_sec_name = ".data";
|
||||
break;
|
||||
case 2:
|
||||
base_sec_name = concat (".bss", NULL);
|
||||
base_sec_name = ".bss";
|
||||
break;
|
||||
case 3:
|
||||
base_sec_name = concat (".rodata", NULL);
|
||||
base_sec_name = ".rodata";
|
||||
break;
|
||||
}
|
||||
upper = lang_output_section_find (concat (".upper", base_sec_name, NULL));
|
||||
|
@ -806,7 +807,7 @@ msp430_elf_after_allocation (void)
|
|||
abfd = abfd->link.next)
|
||||
{
|
||||
bfd_map_over_sections (abfd, eval_lower_either_sections,
|
||||
base_sec_name);
|
||||
(void *) base_sec_name);
|
||||
}
|
||||
}
|
||||
else if (placement_stage == UPPER_TO_LOWER)
|
||||
|
@ -821,12 +822,11 @@ msp430_elf_after_allocation (void)
|
|||
abfd = abfd->link.next)
|
||||
{
|
||||
bfd_map_over_sections (abfd, eval_upper_either_sections,
|
||||
base_sec_name);
|
||||
(void *) base_sec_name);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
free (base_sec_name);
|
||||
}
|
||||
gld${EMULATION_NAME}_after_allocation ();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue