mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-07 13:39:43 +08:00
section tdata tidy
Any _new_section_hook that is not itself called from another _new_section_hook will always see used_by_bfd NULL. Remove those NULL checks in such hooks, and tidy code a little.
This commit is contained in:
parent
1c82e1ee93
commit
f5a8cdea56
@ -18535,16 +18535,10 @@ elf32_arm_filter_implib_symbols (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
static bool
|
||||
elf32_arm_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
if (!sec->used_by_bfd)
|
||||
{
|
||||
_arm_elf_section_data *sdata;
|
||||
size_t amt = sizeof (*sdata);
|
||||
|
||||
sdata = (_arm_elf_section_data *) bfd_zalloc (abfd, amt);
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
}
|
||||
_arm_elf_section_data *sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
|
||||
return _bfd_elf_new_section_hook (abfd, sec);
|
||||
}
|
||||
|
@ -764,16 +764,12 @@ struct elf_avr_section_data
|
||||
static bool
|
||||
elf_avr_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
if (!sec->used_by_bfd)
|
||||
{
|
||||
struct elf_avr_section_data *sdata;
|
||||
size_t amt = sizeof (*sdata);
|
||||
struct elf_avr_section_data *sdata;
|
||||
|
||||
sdata = bfd_zalloc (abfd, amt);
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
}
|
||||
sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
|
||||
return _bfd_elf_new_section_hook (abfd, sec);
|
||||
}
|
||||
|
@ -742,16 +742,12 @@ struct _microblaze_elf_section_data
|
||||
static bool
|
||||
microblaze_elf_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
if (!sec->used_by_bfd)
|
||||
{
|
||||
struct _microblaze_elf_section_data *sdata;
|
||||
size_t amt = sizeof (*sdata);
|
||||
struct _microblaze_elf_section_data *sdata;
|
||||
|
||||
sdata = bfd_zalloc (abfd, amt);
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
}
|
||||
sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
|
||||
return _bfd_elf_new_section_hook (abfd, sec);
|
||||
}
|
||||
|
@ -4056,9 +4056,8 @@ static bool
|
||||
s3_elf32_score_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
struct _score_elf_section_data *sdata;
|
||||
size_t amt = sizeof (*sdata);
|
||||
|
||||
sdata = bfd_zalloc (abfd, amt);
|
||||
sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
|
@ -3863,9 +3863,8 @@ bool
|
||||
s7_elf32_score_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
struct _score_elf_section_data *sdata;
|
||||
size_t amt = sizeof (*sdata);
|
||||
|
||||
sdata = bfd_zalloc (abfd, amt);
|
||||
sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
|
@ -247,15 +247,12 @@ spu_elf_rel9 (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
|
||||
static bool
|
||||
spu_elf_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
if (!sec->used_by_bfd)
|
||||
{
|
||||
struct _spu_elf_section_data *sdata;
|
||||
struct _spu_elf_section_data *sdata;
|
||||
|
||||
sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
}
|
||||
sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
|
||||
return _bfd_elf_new_section_hook (abfd, sec);
|
||||
}
|
||||
|
@ -2083,18 +2083,12 @@ static bool
|
||||
elf32_tic6x_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
bool ret;
|
||||
_tic6x_elf_section_data *sdata;
|
||||
|
||||
/* Allocate target specific section data. */
|
||||
if (!sec->used_by_bfd)
|
||||
{
|
||||
_tic6x_elf_section_data *sdata;
|
||||
size_t amt = sizeof (*sdata);
|
||||
|
||||
sdata = (_tic6x_elf_section_data *) bfd_zalloc (abfd, amt);
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
}
|
||||
sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
|
||||
ret = _bfd_elf_new_section_hook (abfd, sec);
|
||||
sec->use_rela_p = elf32_tic6x_tdata (abfd)->use_rela_p;
|
||||
|
@ -6101,16 +6101,12 @@ struct elf_xtensa_section_data
|
||||
static bool
|
||||
elf_xtensa_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
if (!sec->used_by_bfd)
|
||||
{
|
||||
struct elf_xtensa_section_data *sdata;
|
||||
size_t amt = sizeof (*sdata);
|
||||
struct elf_xtensa_section_data *sdata;
|
||||
|
||||
sdata = bfd_zalloc (abfd, amt);
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
}
|
||||
sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
|
||||
return _bfd_elf_new_section_hook (abfd, sec);
|
||||
}
|
||||
|
@ -828,16 +828,12 @@ bfd_elf64_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
static bool
|
||||
mmix_elf_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
if (!sec->used_by_bfd)
|
||||
{
|
||||
struct _mmix_elf_section_data *sdata;
|
||||
size_t amt = sizeof (*sdata);
|
||||
struct _mmix_elf_section_data *sdata;
|
||||
|
||||
sdata = bfd_zalloc (abfd, amt);
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
}
|
||||
sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
|
||||
return _bfd_elf_new_section_hook (abfd, sec);
|
||||
}
|
||||
|
@ -2050,16 +2050,12 @@ struct _ppc64_elf_section_data
|
||||
static bool
|
||||
ppc64_elf_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
if (!sec->used_by_bfd)
|
||||
{
|
||||
struct _ppc64_elf_section_data *sdata;
|
||||
size_t amt = sizeof (*sdata);
|
||||
struct _ppc64_elf_section_data *sdata;
|
||||
|
||||
sdata = bfd_zalloc (abfd, amt);
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
}
|
||||
sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
|
||||
return _bfd_elf_new_section_hook (abfd, sec);
|
||||
}
|
||||
|
@ -8749,18 +8749,13 @@ elfNN_aarch64_output_arch_local_syms (bfd *output_bfd,
|
||||
static bool
|
||||
elfNN_aarch64_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
if (!sec->used_by_bfd)
|
||||
{
|
||||
_aarch64_elf_section_data *sdata;
|
||||
size_t amt = sizeof (*sdata);
|
||||
|
||||
sdata = bfd_zalloc (abfd, amt);
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
}
|
||||
_aarch64_elf_section_data *sdata;
|
||||
|
||||
record_section_with_aarch64_elf_section_data (sec);
|
||||
sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
|
||||
return _bfd_elf_new_section_hook (abfd, sec);
|
||||
}
|
||||
|
@ -3688,16 +3688,12 @@ elfNN_kvx_output_arch_local_syms (bfd *output_bfd,
|
||||
static bool
|
||||
elfNN_kvx_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
if (!sec->used_by_bfd)
|
||||
{
|
||||
_kvx_elf_section_data *sdata;
|
||||
bfd_size_type amt = sizeof (*sdata);
|
||||
_kvx_elf_section_data *sdata;
|
||||
|
||||
sdata = bfd_zalloc (abfd, amt);
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
}
|
||||
sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
|
||||
return _bfd_elf_new_section_hook (abfd, sec);
|
||||
}
|
||||
|
@ -152,16 +152,12 @@ struct loongarch_elf_section_data
|
||||
static bool
|
||||
loongarch_elf_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
if (!sec->used_by_bfd)
|
||||
{
|
||||
struct loongarch_elf_section_data *sdata;
|
||||
size_t amt = sizeof (*sdata);
|
||||
struct loongarch_elf_section_data *sdata;
|
||||
|
||||
sdata = bfd_zalloc (abfd, amt);
|
||||
if (!sdata)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
}
|
||||
sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (!sdata)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
|
||||
return _bfd_elf_new_section_hook (abfd, sec);
|
||||
}
|
||||
|
@ -1412,16 +1412,12 @@ _bfd_mips_elf_free_cached_info (bfd *abfd)
|
||||
bool
|
||||
_bfd_mips_elf_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
if (!sec->used_by_bfd)
|
||||
{
|
||||
struct _mips_elf_section_data *sdata;
|
||||
size_t amt = sizeof (*sdata);
|
||||
struct _mips_elf_section_data *sdata;
|
||||
|
||||
sdata = bfd_zalloc (abfd, amt);
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
}
|
||||
sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
|
||||
return _bfd_elf_new_section_hook (abfd, sec);
|
||||
}
|
||||
|
@ -2660,16 +2660,12 @@ _bfd_sparc_elf_late_size_sections (bfd *output_bfd,
|
||||
bool
|
||||
_bfd_sparc_elf_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
if (!sec->used_by_bfd)
|
||||
{
|
||||
struct _bfd_sparc_elf_section_data *sdata;
|
||||
size_t amt = sizeof (*sdata);
|
||||
struct _bfd_sparc_elf_section_data *sdata;
|
||||
|
||||
sdata = bfd_zalloc (abfd, amt);
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
}
|
||||
sdata = bfd_zalloc (abfd, sizeof (*sdata));
|
||||
if (sdata == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = sdata;
|
||||
|
||||
return _bfd_elf_new_section_hook (abfd, sec);
|
||||
}
|
||||
|
53
bfd/mach-o.c
53
bfd/mach-o.c
@ -3520,40 +3520,31 @@ bfd_mach_o_read_header (bfd *abfd, file_ptr hdr_off, bfd_mach_o_header *header)
|
||||
bool
|
||||
bfd_mach_o_new_section_hook (bfd *abfd, asection *sec)
|
||||
{
|
||||
bfd_mach_o_section *s;
|
||||
unsigned bfdalign = bfd_section_alignment (sec);
|
||||
|
||||
s = bfd_mach_o_get_mach_o_section (sec);
|
||||
bfd_mach_o_section *s = bfd_zalloc (abfd, sizeof (*s));
|
||||
if (s == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = s;
|
||||
s->bfdsection = sec;
|
||||
|
||||
/* Create the Darwin seg/sect name pair from the bfd name.
|
||||
If this is a canonical name for which a specific paiting exists
|
||||
there will also be defined flags, type, attribute and alignment
|
||||
values. */
|
||||
const mach_o_section_name_xlat *xlat
|
||||
= bfd_mach_o_convert_section_name_to_mach_o (abfd, sec, s);
|
||||
if (xlat != NULL)
|
||||
{
|
||||
flagword bfd_flags;
|
||||
static const mach_o_section_name_xlat * xlat;
|
||||
|
||||
s = (bfd_mach_o_section *) bfd_zalloc (abfd, sizeof (*s));
|
||||
if (s == NULL)
|
||||
return false;
|
||||
sec->used_by_bfd = s;
|
||||
s->bfdsection = sec;
|
||||
|
||||
/* Create the Darwin seg/sect name pair from the bfd name.
|
||||
If this is a canonical name for which a specific paiting exists
|
||||
there will also be defined flags, type, attribute and alignment
|
||||
values. */
|
||||
xlat = bfd_mach_o_convert_section_name_to_mach_o (abfd, sec, s);
|
||||
if (xlat != NULL)
|
||||
{
|
||||
s->flags = xlat->macho_sectype | xlat->macho_secattr;
|
||||
s->align = xlat->sectalign > bfdalign ? xlat->sectalign
|
||||
: bfdalign;
|
||||
bfd_set_section_alignment (sec, s->align);
|
||||
bfd_flags = bfd_section_flags (sec);
|
||||
if (bfd_flags == SEC_NO_FLAGS)
|
||||
bfd_set_section_flags (sec, xlat->bfd_flags);
|
||||
}
|
||||
else
|
||||
/* Create default flags. */
|
||||
bfd_mach_o_set_section_flags_from_bfd (abfd, sec);
|
||||
s->flags = xlat->macho_sectype | xlat->macho_secattr;
|
||||
unsigned bfdalign = bfd_section_alignment (sec);
|
||||
s->align = xlat->sectalign > bfdalign ? xlat->sectalign : bfdalign;
|
||||
bfd_set_section_alignment (sec, s->align);
|
||||
flagword bfd_flags = bfd_section_flags (sec);
|
||||
if (bfd_flags == SEC_NO_FLAGS)
|
||||
bfd_set_section_flags (sec, xlat->bfd_flags);
|
||||
}
|
||||
else
|
||||
/* Create default flags. */
|
||||
bfd_mach_o_set_section_flags_from_bfd (abfd, sec);
|
||||
|
||||
return _bfd_generic_new_section_hook (abfd, sec);
|
||||
}
|
||||
|
13
bfd/mmo.c
13
bfd/mmo.c
@ -2129,15 +2129,12 @@ mmo_scan (bfd *abfd)
|
||||
static bool
|
||||
mmo_new_section_hook (bfd *abfd, asection *newsect)
|
||||
{
|
||||
/* We zero-fill all fields and assume NULL is represented by an all
|
||||
zero-bit pattern. */
|
||||
newsect->used_by_bfd
|
||||
= bfd_zalloc (abfd, sizeof (struct mmo_section_data_struct));
|
||||
if (!newsect->used_by_bfd)
|
||||
{
|
||||
/* We zero-fill all fields and assume NULL is represented by an all
|
||||
zero-bit pattern. */
|
||||
newsect->used_by_bfd
|
||||
= bfd_zalloc (abfd, sizeof (struct mmo_section_data_struct));
|
||||
if (!newsect->used_by_bfd)
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
|
||||
/* Always align to at least 32-bit words. */
|
||||
newsect->alignment_power = 2;
|
||||
|
12
bfd/som.c
12
bfd/som.c
@ -5328,14 +5328,12 @@ extern const bfd_target hppa_som_vec;
|
||||
static bool
|
||||
som_new_section_hook (bfd *abfd, asection *newsect)
|
||||
{
|
||||
if (!newsect->used_by_bfd)
|
||||
{
|
||||
size_t amt = sizeof (struct som_section_data_struct);
|
||||
size_t amt = sizeof (struct som_section_data_struct);
|
||||
|
||||
newsect->used_by_bfd = bfd_zalloc (abfd, amt);
|
||||
if (!newsect->used_by_bfd)
|
||||
return false;
|
||||
|
||||
newsect->used_by_bfd = bfd_zalloc (abfd, amt);
|
||||
if (!newsect->used_by_bfd)
|
||||
return false;
|
||||
}
|
||||
newsect->alignment_power = 3;
|
||||
|
||||
/* We allow more than three sections internally. */
|
||||
|
Loading…
Reference in New Issue
Block a user