mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 13:56:22 +08:00
2000-09-07 Kazu Hirata <kazu@hxi.com>
* elf.c: Fix formatting.
This commit is contained in:
@ -1,3 +1,7 @@
|
||||
2000-09-07 Kazu Hirata <kazu@hxi.com>
|
||||
|
||||
* elf.c: Fix formatting.
|
||||
|
||||
2000-09-07 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* config.bfd (sh-*-linux*): Added.
|
||||
|
178
bfd/elf.c
178
bfd/elf.c
@ -233,7 +233,7 @@ bfd_elf_hash (namearg)
|
||||
|
||||
static char *
|
||||
elf_read (abfd, offset, size)
|
||||
bfd * abfd;
|
||||
bfd *abfd;
|
||||
long offset;
|
||||
unsigned int size;
|
||||
{
|
||||
@ -254,15 +254,15 @@ elf_read (abfd, offset, size)
|
||||
|
||||
boolean
|
||||
bfd_elf_mkobject (abfd)
|
||||
bfd * abfd;
|
||||
bfd *abfd;
|
||||
{
|
||||
/* this just does initialization */
|
||||
/* This just does initialization. */
|
||||
/* coff_mkobject zalloc's space for tdata.coff_obj_data ... */
|
||||
elf_tdata (abfd) = (struct elf_obj_tdata *)
|
||||
bfd_zalloc (abfd, sizeof (struct elf_obj_tdata));
|
||||
if (elf_tdata (abfd) == 0)
|
||||
return false;
|
||||
/* since everything is done at close time, do we need any
|
||||
/* Since everything is done at close time, do we need any
|
||||
initialization? */
|
||||
|
||||
return true;
|
||||
@ -270,7 +270,7 @@ bfd_elf_mkobject (abfd)
|
||||
|
||||
boolean
|
||||
bfd_elf_mkcorefile (abfd)
|
||||
bfd * abfd;
|
||||
bfd *abfd;
|
||||
{
|
||||
/* I think this can be done just like an object file. */
|
||||
return bfd_elf_mkobject (abfd);
|
||||
@ -278,7 +278,7 @@ bfd_elf_mkcorefile (abfd)
|
||||
|
||||
char *
|
||||
bfd_elf_get_str_section (abfd, shindex)
|
||||
bfd * abfd;
|
||||
bfd *abfd;
|
||||
unsigned int shindex;
|
||||
{
|
||||
Elf_Internal_Shdr **i_shdrp;
|
||||
@ -304,7 +304,7 @@ bfd_elf_get_str_section (abfd, shindex)
|
||||
|
||||
char *
|
||||
bfd_elf_string_from_elf_section (abfd, shindex, strindex)
|
||||
bfd * abfd;
|
||||
bfd *abfd;
|
||||
unsigned int shindex;
|
||||
unsigned int strindex;
|
||||
{
|
||||
@ -384,7 +384,7 @@ _bfd_elf_make_section_from_shdr (abfd, hdr, name)
|
||||
/* The debugging sections appear to be recognized only by name, not
|
||||
any sort of flag. */
|
||||
{
|
||||
const char * debug_sec_names [] =
|
||||
const char *debug_sec_names [] =
|
||||
{
|
||||
".debug",
|
||||
".gnu.linkonce.wi.",
|
||||
@ -472,7 +472,7 @@ DESCRIPTION
|
||||
|
||||
struct elf_internal_shdr *
|
||||
bfd_elf_find_section (abfd, name)
|
||||
bfd * abfd;
|
||||
bfd *abfd;
|
||||
char *name;
|
||||
{
|
||||
Elf_Internal_Shdr **i_shdrp;
|
||||
@ -512,7 +512,6 @@ const char *const bfd_elf_section_type_names[] = {
|
||||
function. It just short circuits the reloc if producing
|
||||
relocateable output against an external symbol. */
|
||||
|
||||
/*ARGSUSED*/
|
||||
bfd_reloc_status_type
|
||||
bfd_elf_generic_reloc (abfd,
|
||||
reloc_entry,
|
||||
@ -1675,7 +1674,6 @@ _bfd_elf_init_reloc_shdr (abfd, rel_hdr, asect, use_rela_p)
|
||||
|
||||
/* Set up an ELF internal section header for a section. */
|
||||
|
||||
/*ARGSUSED*/
|
||||
static void
|
||||
elf_fake_sections (abfd, asect, failedptrarg)
|
||||
bfd *abfd;
|
||||
@ -3396,24 +3394,24 @@ prep_headers (abfd)
|
||||
i_ehdrp->e_version = bed->s->ev_current;
|
||||
i_ehdrp->e_ehsize = bed->s->sizeof_ehdr;
|
||||
|
||||
/* no program header, for now. */
|
||||
/* No program header, for now. */
|
||||
i_ehdrp->e_phoff = 0;
|
||||
i_ehdrp->e_phentsize = 0;
|
||||
i_ehdrp->e_phnum = 0;
|
||||
|
||||
/* each bfd section is section header entry */
|
||||
/* Each bfd section is section header entry. */
|
||||
i_ehdrp->e_entry = bfd_get_start_address (abfd);
|
||||
i_ehdrp->e_shentsize = bed->s->sizeof_shdr;
|
||||
|
||||
/* if we're building an executable, we'll need a program header table */
|
||||
/* If we're building an executable, we'll need a program header table. */
|
||||
if (abfd->flags & EXEC_P)
|
||||
{
|
||||
/* it all happens later */
|
||||
/* It all happens later. */
|
||||
#if 0
|
||||
i_ehdrp->e_phentsize = sizeof (Elf_External_Phdr);
|
||||
|
||||
/* elf_build_phdrs() returns a (NULL-terminated) array of
|
||||
Elf_Internal_Phdrs */
|
||||
Elf_Internal_Phdrs. */
|
||||
i_phdrp = elf_build_phdrs (abfd, i_ehdrp, i_shdrp, &i_ehdrp->e_phnum);
|
||||
i_ehdrp->e_phoff = outbase;
|
||||
outbase += i_ehdrp->e_phentsize * i_ehdrp->e_phnum;
|
||||
@ -3527,7 +3525,9 @@ _bfd_elf_write_corefile_contents (abfd)
|
||||
/* Hopefully this can be done just like an object file. */
|
||||
return _bfd_elf_write_object_contents (abfd);
|
||||
}
|
||||
/* given a section, search the header to find them... */
|
||||
|
||||
/* Given a section, search the header to find them. */
|
||||
|
||||
int
|
||||
_bfd_elf_section_from_bfd_section (abfd, asect)
|
||||
bfd *abfd;
|
||||
@ -3649,7 +3649,7 @@ copy_private_bfd_data (ibfd, obfd)
|
||||
struct elf_segment_map * phdr_adjust_seg = NULL;
|
||||
unsigned int phdr_adjust_num = 0;
|
||||
|
||||
if ( bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|
||||
if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|
||||
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
|
||||
return true;
|
||||
|
||||
@ -3659,7 +3659,7 @@ copy_private_bfd_data (ibfd, obfd)
|
||||
iehdr = elf_elfheader (ibfd);
|
||||
|
||||
map_first = NULL;
|
||||
pointer_to_map = & map_first;
|
||||
pointer_to_map = &map_first;
|
||||
|
||||
num_segments = elf_elfheader (ibfd)->e_phnum;
|
||||
maxpagesize = get_elf_backend_data (obfd)->maxpagesize;
|
||||
@ -3736,16 +3736,16 @@ copy_private_bfd_data (ibfd, obfd)
|
||||
parameters to objcopy. */
|
||||
for (i = 0, segment = elf_tdata (ibfd)->phdr;
|
||||
i < num_segments;
|
||||
i ++, segment ++)
|
||||
i++, segment++)
|
||||
{
|
||||
unsigned int j;
|
||||
Elf_Internal_Phdr * segment2;
|
||||
Elf_Internal_Phdr *segment2;
|
||||
|
||||
if (segment->p_type != PT_LOAD)
|
||||
continue;
|
||||
|
||||
/* Determine if this segment overlaps any previous segments. */
|
||||
for (j = 0, segment2 = elf_tdata (ibfd)->phdr; j < i; j ++, segment2 ++)
|
||||
for (j = 0, segment2 = elf_tdata (ibfd)->phdr; j < i; j++, segment2 ++)
|
||||
{
|
||||
bfd_signed_vma extra_length;
|
||||
|
||||
@ -3756,7 +3756,8 @@ copy_private_bfd_data (ibfd, obfd)
|
||||
/* Merge the two segments together. */
|
||||
if (segment2->p_vaddr < segment->p_vaddr)
|
||||
{
|
||||
/* Extend SEGMENT2 to include SEGMENT and then delete SEGMENT. */
|
||||
/* Extend SEGMENT2 to include SEGMENT and then delete
|
||||
SEGMENT. */
|
||||
extra_length =
|
||||
SEGMENT_END (segment, segment->p_vaddr)
|
||||
- SEGMENT_END (segment2, segment2->p_vaddr);
|
||||
@ -3776,7 +3777,8 @@ copy_private_bfd_data (ibfd, obfd)
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Extend SEGMENT to include SEGMENT2 and then delete SEGMENT2. */
|
||||
/* Extend SEGMENT to include SEGMENT2 and then delete
|
||||
SEGMENT2. */
|
||||
extra_length =
|
||||
SEGMENT_END (segment2, segment2->p_vaddr)
|
||||
- SEGMENT_END (segment, segment->p_vaddr);
|
||||
@ -3812,7 +3814,7 @@ copy_private_bfd_data (ibfd, obfd)
|
||||
section_count = 0;
|
||||
for (section = ibfd->sections; section != NULL; section = section->next)
|
||||
if (INCLUDE_SECTION_IN_SEGMENT (section, segment))
|
||||
++ section_count;
|
||||
++section_count;
|
||||
|
||||
/* Allocate a segment map big enough to contain all of the
|
||||
sections we have selected. */
|
||||
@ -3862,8 +3864,8 @@ copy_private_bfd_data (ibfd, obfd)
|
||||
bfd_get_filename (ibfd));
|
||||
|
||||
map->count = 0;
|
||||
* pointer_to_map = map;
|
||||
pointer_to_map = & map->next;
|
||||
*pointer_to_map = map;
|
||||
pointer_to_map = &map->next;
|
||||
|
||||
continue;
|
||||
}
|
||||
@ -3966,8 +3968,8 @@ copy_private_bfd_data (ibfd, obfd)
|
||||
the list of built segments and carry on to process the next
|
||||
program header in the input BFD. */
|
||||
map->count = section_count;
|
||||
* pointer_to_map = map;
|
||||
pointer_to_map = & map->next;
|
||||
*pointer_to_map = map;
|
||||
pointer_to_map = &map->next;
|
||||
|
||||
free (sections);
|
||||
continue;
|
||||
@ -4081,8 +4083,8 @@ copy_private_bfd_data (ibfd, obfd)
|
||||
BFD_ASSERT (map->count > 0);
|
||||
|
||||
/* Add the current segment to the list of built segments. */
|
||||
* pointer_to_map = map;
|
||||
pointer_to_map = & map->next;
|
||||
*pointer_to_map = map;
|
||||
pointer_to_map = &map->next;
|
||||
|
||||
if (isec < section_count)
|
||||
{
|
||||
@ -4138,7 +4140,7 @@ copy_private_bfd_data (ibfd, obfd)
|
||||
unsigned int count;
|
||||
|
||||
for (count = 0, map = map_first; map != NULL; map = map->next)
|
||||
count ++;
|
||||
count++;
|
||||
|
||||
if (count > phdr_adjust_num)
|
||||
phdr_adjust_seg->p_paddr
|
||||
@ -4146,10 +4148,11 @@ copy_private_bfd_data (ibfd, obfd)
|
||||
}
|
||||
|
||||
#if 0
|
||||
/* Final Step: Sort the segments into ascending order of physical address. */
|
||||
/* Final Step: Sort the segments into ascending order of physical
|
||||
address. */
|
||||
if (map_first != NULL)
|
||||
{
|
||||
struct elf_segment_map * prev;
|
||||
struct elf_segment_map *prev;
|
||||
|
||||
prev = map_first;
|
||||
for (map = map_first->next; map != NULL; prev = map, map = map->next)
|
||||
@ -5237,7 +5240,6 @@ _bfd_elf_rel_vtable_reloc_fn (abfd, re, symbol, data, is, obfd, errmsg)
|
||||
{
|
||||
return bfd_reloc_ok;
|
||||
}
|
||||
|
||||
|
||||
/* Elf core file support. Much of this only works on native
|
||||
toolchains, since we rely on knowing the
|
||||
@ -5248,25 +5250,22 @@ _bfd_elf_rel_vtable_reloc_fn (abfd, re, symbol, data, is, obfd, errmsg)
|
||||
# include <sys/procfs.h>
|
||||
#endif
|
||||
|
||||
|
||||
/* Define offsetof for those systems which lack it. */
|
||||
|
||||
#ifndef offsetof
|
||||
# define offsetof(TYPE, MEMBER) ((unsigned long) &((TYPE *)0)->MEMBER)
|
||||
#endif
|
||||
|
||||
|
||||
/* FIXME: this is kinda wrong, but it's what gdb wants. */
|
||||
|
||||
static int
|
||||
elfcore_make_pid (abfd)
|
||||
bfd* abfd;
|
||||
bfd *abfd;
|
||||
{
|
||||
return ((elf_tdata (abfd)->core_lwpid << 16)
|
||||
+ (elf_tdata (abfd)->core_pid));
|
||||
}
|
||||
|
||||
|
||||
/* If there isn't a section called NAME, make one, using
|
||||
data from SECT. Note, this function will generate a
|
||||
reference to NAME, so you shouldn't deallocate or
|
||||
@ -5274,11 +5273,11 @@ elfcore_make_pid (abfd)
|
||||
|
||||
static boolean
|
||||
elfcore_maybe_make_sect (abfd, name, sect)
|
||||
bfd* abfd;
|
||||
char* name;
|
||||
asection* sect;
|
||||
bfd *abfd;
|
||||
char *name;
|
||||
asection *sect;
|
||||
{
|
||||
asection* sect2;
|
||||
asection *sect2;
|
||||
|
||||
if (bfd_get_section_by_name (abfd, name) != NULL)
|
||||
return true;
|
||||
@ -5294,7 +5293,6 @@ elfcore_maybe_make_sect (abfd, name, sect)
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/* prstatus_t exists on:
|
||||
solaris 2.5+
|
||||
linux 2.[01] + glibc
|
||||
@ -5304,12 +5302,12 @@ elfcore_maybe_make_sect (abfd, name, sect)
|
||||
#if defined (HAVE_PRSTATUS_T)
|
||||
static boolean
|
||||
elfcore_grok_prstatus (abfd, note)
|
||||
bfd* abfd;
|
||||
Elf_Internal_Note* note;
|
||||
bfd *abfd;
|
||||
Elf_Internal_Note *note;
|
||||
{
|
||||
char buf[100];
|
||||
char* name;
|
||||
asection* sect;
|
||||
char *name;
|
||||
asection *sect;
|
||||
int raw_size;
|
||||
int offset;
|
||||
|
||||
@ -5390,7 +5388,6 @@ elfcore_grok_prstatus (abfd, note)
|
||||
}
|
||||
#endif /* defined (HAVE_PRSTATUS_T) */
|
||||
|
||||
|
||||
/* Create a pseudosection containing the exact contents of NOTE. This
|
||||
actually creates up to two pseudosections:
|
||||
- For the single-threaded case, a section named NAME, unless
|
||||
@ -5401,13 +5398,13 @@ elfcore_grok_prstatus (abfd, note)
|
||||
|
||||
static boolean
|
||||
elfcore_make_note_pseudosection (abfd, name, note)
|
||||
bfd* abfd;
|
||||
bfd *abfd;
|
||||
char *name;
|
||||
Elf_Internal_Note* note;
|
||||
Elf_Internal_Note *note;
|
||||
{
|
||||
char buf[100];
|
||||
char *threaded_name;
|
||||
asection* sect;
|
||||
asection *sect;
|
||||
|
||||
/* Build the section name. */
|
||||
|
||||
@ -5431,31 +5428,30 @@ elfcore_make_note_pseudosection (abfd, name, note)
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/* There isn't a consistent prfpregset_t across platforms,
|
||||
but it doesn't matter, because we don't have to pick this
|
||||
data structure apart. */
|
||||
|
||||
static boolean
|
||||
elfcore_grok_prfpreg (abfd, note)
|
||||
bfd* abfd;
|
||||
Elf_Internal_Note* note;
|
||||
bfd *abfd;
|
||||
Elf_Internal_Note *note;
|
||||
{
|
||||
return elfcore_make_note_pseudosection (abfd, ".reg2", note);
|
||||
}
|
||||
|
||||
|
||||
/* Linux dumps the Intel SSE regs in a note named "LINUX" with a note
|
||||
type of 5 (NT_PRXFPREG). Just include the whole note's contents
|
||||
literally. */
|
||||
|
||||
static boolean
|
||||
elfcore_grok_prxfpreg (abfd, note)
|
||||
bfd* abfd;
|
||||
Elf_Internal_Note* note;
|
||||
bfd *abfd;
|
||||
Elf_Internal_Note *note;
|
||||
{
|
||||
return elfcore_make_note_pseudosection (abfd, ".reg-xfp", note);
|
||||
}
|
||||
|
||||
|
||||
#if defined (HAVE_PRPSINFO_T)
|
||||
typedef prpsinfo_t elfcore_psinfo_t;
|
||||
#if defined (HAVE_PRPSINFO32_T) /* Sparc64 cross Sparc32 */
|
||||
@ -5470,7 +5466,6 @@ typedef psinfo32_t elfcore_psinfo32_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#if defined (HAVE_PRPSINFO_T) || defined (HAVE_PSINFO_T)
|
||||
|
||||
/* return a malloc'ed copy of a string at START which is at
|
||||
@ -5479,12 +5474,12 @@ typedef psinfo32_t elfcore_psinfo32_t;
|
||||
|
||||
static char*
|
||||
elfcore_strndup (abfd, start, max)
|
||||
bfd* abfd;
|
||||
char* start;
|
||||
bfd *abfd;
|
||||
char *start;
|
||||
int max;
|
||||
{
|
||||
char* dup;
|
||||
char* end = memchr (start, '\0', max);
|
||||
char *dup;
|
||||
char *end = memchr (start, '\0', max);
|
||||
int len;
|
||||
|
||||
if (end == NULL)
|
||||
@ -5504,8 +5499,8 @@ elfcore_strndup (abfd, start, max)
|
||||
|
||||
static boolean
|
||||
elfcore_grok_psinfo (abfd, note)
|
||||
bfd* abfd;
|
||||
Elf_Internal_Note* note;
|
||||
bfd *abfd;
|
||||
Elf_Internal_Note *note;
|
||||
{
|
||||
if (note->descsz == sizeof (elfcore_psinfo_t))
|
||||
{
|
||||
@ -5547,7 +5542,7 @@ elfcore_grok_psinfo (abfd, note)
|
||||
implementations, so strip it off if it exists. */
|
||||
|
||||
{
|
||||
char* command = elf_tdata (abfd)->core_command;
|
||||
char *command = elf_tdata (abfd)->core_command;
|
||||
int n = strlen (command);
|
||||
|
||||
if (0 < n && command[n - 1] == ' ')
|
||||
@ -5558,12 +5553,11 @@ elfcore_grok_psinfo (abfd, note)
|
||||
}
|
||||
#endif /* defined (HAVE_PRPSINFO_T) || defined (HAVE_PSINFO_T) */
|
||||
|
||||
|
||||
#if defined (HAVE_PSTATUS_T)
|
||||
static boolean
|
||||
elfcore_grok_pstatus (abfd, note)
|
||||
bfd* abfd;
|
||||
Elf_Internal_Note* note;
|
||||
bfd *abfd;
|
||||
Elf_Internal_Note *note;
|
||||
{
|
||||
if (note->descsz == sizeof (pstatus_t))
|
||||
{
|
||||
@ -5592,17 +5586,16 @@ elfcore_grok_pstatus (abfd, note)
|
||||
}
|
||||
#endif /* defined (HAVE_PSTATUS_T) */
|
||||
|
||||
|
||||
#if defined (HAVE_LWPSTATUS_T)
|
||||
static boolean
|
||||
elfcore_grok_lwpstatus (abfd, note)
|
||||
bfd* abfd;
|
||||
Elf_Internal_Note* note;
|
||||
bfd *abfd;
|
||||
Elf_Internal_Note *note;
|
||||
{
|
||||
lwpstatus_t lwpstat;
|
||||
char buf[100];
|
||||
char* name;
|
||||
asection* sect;
|
||||
char *name;
|
||||
asection *sect;
|
||||
|
||||
if (note->descsz != sizeof (lwpstat))
|
||||
return true;
|
||||
@ -5677,18 +5670,18 @@ elfcore_grok_lwpstatus (abfd, note)
|
||||
#if defined (HAVE_WIN32_PSTATUS_T)
|
||||
static boolean
|
||||
elfcore_grok_win32pstatus (abfd, note)
|
||||
bfd * abfd;
|
||||
Elf_Internal_Note * note;
|
||||
bfd *abfd;
|
||||
Elf_Internal_Note *note;
|
||||
{
|
||||
char buf[30];
|
||||
char * name;
|
||||
asection * sect;
|
||||
char *name;
|
||||
asection *sect;
|
||||
win32_pstatus_t pstatus;
|
||||
|
||||
if (note->descsz < sizeof (pstatus))
|
||||
return true;
|
||||
|
||||
memcpy (& pstatus, note->descdata, note->descsz);
|
||||
memcpy (&pstatus, note->descdata, note->descsz);
|
||||
|
||||
switch (pstatus.data_type)
|
||||
{
|
||||
@ -5696,7 +5689,7 @@ elfcore_grok_win32pstatus (abfd, note)
|
||||
/* FIXME: need to add ->core_command. */
|
||||
elf_tdata (abfd)->core_signal = pstatus.data.process_info.signal;
|
||||
elf_tdata (abfd)->core_pid = pstatus.data.process_info.pid;
|
||||
break ;
|
||||
break;
|
||||
|
||||
case NOTE_INFO_THREAD:
|
||||
/* Make a ".reg/999" section. */
|
||||
@ -5725,7 +5718,7 @@ elfcore_grok_win32pstatus (abfd, note)
|
||||
|
||||
case NOTE_INFO_MODULE:
|
||||
/* Make a ".module/xxxxxxxx" section. */
|
||||
sprintf (buf, ".module/%08x" , pstatus.data.module_info.base_address);
|
||||
sprintf (buf, ".module/%08x", pstatus.data.module_info.base_address);
|
||||
|
||||
name = bfd_alloc (abfd, strlen (buf) + 1);
|
||||
if (name == NULL)
|
||||
@ -5754,8 +5747,8 @@ elfcore_grok_win32pstatus (abfd, note)
|
||||
|
||||
static boolean
|
||||
elfcore_grok_note (abfd, note)
|
||||
bfd* abfd;
|
||||
Elf_Internal_Note* note;
|
||||
bfd *abfd;
|
||||
Elf_Internal_Note *note;
|
||||
{
|
||||
switch (note->type)
|
||||
{
|
||||
@ -5800,15 +5793,14 @@ elfcore_grok_note (abfd, note)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static boolean
|
||||
elfcore_read_notes (abfd, offset, size)
|
||||
bfd* abfd;
|
||||
bfd *abfd;
|
||||
bfd_vma offset;
|
||||
bfd_vma size;
|
||||
{
|
||||
char* buf;
|
||||
char* p;
|
||||
char *buf;
|
||||
char *p;
|
||||
|
||||
if (size <= 0)
|
||||
return true;
|
||||
@ -5831,7 +5823,7 @@ elfcore_read_notes (abfd, offset, size)
|
||||
while (p < buf + size)
|
||||
{
|
||||
/* FIXME: bad alignment assumption. */
|
||||
Elf_External_Note* xnp = (Elf_External_Note*) p;
|
||||
Elf_External_Note *xnp = (Elf_External_Note *) p;
|
||||
Elf_Internal_Note in;
|
||||
|
||||
in.type = bfd_h_get_32 (abfd, (bfd_byte *) xnp->type);
|
||||
@ -5853,13 +5845,12 @@ elfcore_read_notes (abfd, offset, size)
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/* FIXME: This function is now unnecessary. Callers can just call
|
||||
bfd_section_from_phdr directly. */
|
||||
|
||||
boolean
|
||||
_bfd_elfcore_section_from_phdr (abfd, phdr, sec_num)
|
||||
bfd* abfd;
|
||||
bfd *abfd;
|
||||
Elf_Internal_Phdr* phdr;
|
||||
int sec_num;
|
||||
{
|
||||
@ -5868,14 +5859,13 @@ _bfd_elfcore_section_from_phdr (abfd, phdr, sec_num)
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Providing external access to the ELF program header table. */
|
||||
|
||||
/* Return an upper bound on the number of bytes required to store a
|
||||
copy of ABFD's program header table entries. Return -1 if an error
|
||||
occurs; bfd_get_error will return an appropriate code. */
|
||||
|
||||
long
|
||||
bfd_get_elf_phdr_upper_bound (abfd)
|
||||
bfd *abfd;
|
||||
@ -5890,7 +5880,6 @@ bfd_get_elf_phdr_upper_bound (abfd)
|
||||
* sizeof (Elf_Internal_Phdr));
|
||||
}
|
||||
|
||||
|
||||
/* Copy ABFD's program header table entries to *PHDRS. The entries
|
||||
will be stored as an array of Elf_Internal_Phdr structures, as
|
||||
defined in include/elf/internal.h. To find out how large the
|
||||
@ -5898,6 +5887,7 @@ bfd_get_elf_phdr_upper_bound (abfd)
|
||||
|
||||
Return the number of program header table entries read, or -1 if an
|
||||
error occurs; bfd_get_error will return an appropriate code. */
|
||||
|
||||
int
|
||||
bfd_get_elf_phdrs (abfd, phdrs)
|
||||
bfd *abfd;
|
||||
|
Reference in New Issue
Block a user