mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-09-11 16:46:14 +08:00
* ecoff.c: Don't include aout/ranlib.h.
(_bfd_ecoff_slurp_armap): Use correct struct for ardata->symdefs. (_bfd_ecoff_write_armap): Output ar_date and ar_size using _bfd_ar_spacepad.
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
2010-07-22 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* ecoff.c: Don't include aout/ranlib.h.
|
||||||
|
(_bfd_ecoff_slurp_armap): Use correct struct for ardata->symdefs.
|
||||||
|
(_bfd_ecoff_write_armap): Output ar_date and ar_size using
|
||||||
|
_bfd_ar_spacepad.
|
||||||
|
|
||||||
2010-07-22 Alan Modra <amodra@gmail.com>
|
2010-07-22 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* aoutx.h (some_aout_object_p): Don't set EXEC_P for files with
|
* aoutx.h (some_aout_object_p): Don't set EXEC_P for files with
|
||||||
|
16
bfd/ecoff.c
16
bfd/ecoff.c
@ -27,7 +27,6 @@
|
|||||||
#include "bfdlink.h"
|
#include "bfdlink.h"
|
||||||
#include "libbfd.h"
|
#include "libbfd.h"
|
||||||
#include "aout/ar.h"
|
#include "aout/ar.h"
|
||||||
#include "aout/ranlib.h"
|
|
||||||
#include "aout/stab_gnu.h"
|
#include "aout/stab_gnu.h"
|
||||||
|
|
||||||
/* FIXME: We need the definitions of N_SET[ADTB], but aout64.h defines
|
/* FIXME: We need the definitions of N_SET[ADTB], but aout64.h defines
|
||||||
@ -2855,7 +2854,7 @@ _bfd_ecoff_slurp_armap (bfd *abfd)
|
|||||||
struct artdata *ardata;
|
struct artdata *ardata;
|
||||||
unsigned int count;
|
unsigned int count;
|
||||||
char *raw_ptr;
|
char *raw_ptr;
|
||||||
struct symdef *symdef_ptr;
|
carsym *symdef_ptr;
|
||||||
char *stringbase;
|
char *stringbase;
|
||||||
bfd_size_type amt;
|
bfd_size_type amt;
|
||||||
|
|
||||||
@ -2975,12 +2974,12 @@ _bfd_ecoff_slurp_armap (bfd *abfd)
|
|||||||
++ardata->symdef_count;
|
++ardata->symdef_count;
|
||||||
|
|
||||||
amt = ardata->symdef_count;
|
amt = ardata->symdef_count;
|
||||||
amt *= sizeof (struct symdef);
|
amt *= sizeof (carsym);
|
||||||
symdef_ptr = (struct symdef *) bfd_alloc (abfd, amt);
|
symdef_ptr = (carsym *) bfd_alloc (abfd, amt);
|
||||||
if (!symdef_ptr)
|
if (!symdef_ptr)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
ardata->symdefs = (carsym *) symdef_ptr;
|
ardata->symdefs = symdef_ptr;
|
||||||
|
|
||||||
raw_ptr = raw_armap + 4;
|
raw_ptr = raw_armap + 4;
|
||||||
for (i = 0; i < count; i++, raw_ptr += 8)
|
for (i = 0; i < count; i++, raw_ptr += 8)
|
||||||
@ -2991,7 +2990,7 @@ _bfd_ecoff_slurp_armap (bfd *abfd)
|
|||||||
if (file_offset == 0)
|
if (file_offset == 0)
|
||||||
continue;
|
continue;
|
||||||
name_offset = H_GET_32 (abfd, raw_ptr);
|
name_offset = H_GET_32 (abfd, raw_ptr);
|
||||||
symdef_ptr->s.name = stringbase + name_offset;
|
symdef_ptr->name = stringbase + name_offset;
|
||||||
symdef_ptr->file_offset = file_offset;
|
symdef_ptr->file_offset = file_offset;
|
||||||
++symdef_ptr;
|
++symdef_ptr;
|
||||||
}
|
}
|
||||||
@ -3063,7 +3062,8 @@ _bfd_ecoff_write_armap (bfd *abfd,
|
|||||||
linker just checks the archive name; the GNU linker may check the
|
linker just checks the archive name; the GNU linker may check the
|
||||||
date. */
|
date. */
|
||||||
stat (abfd->filename, &statbuf);
|
stat (abfd->filename, &statbuf);
|
||||||
sprintf (hdr.ar_date, "%ld", (long) (statbuf.st_mtime + 60));
|
_bfd_ar_spacepad (hdr.ar_date, sizeof (hdr.ar_date), "%ld",
|
||||||
|
(long) (statbuf.st_mtime + 60));
|
||||||
|
|
||||||
/* The DECstation uses zeroes for the uid, gid and mode of the
|
/* The DECstation uses zeroes for the uid, gid and mode of the
|
||||||
armap. */
|
armap. */
|
||||||
@ -3074,7 +3074,7 @@ _bfd_ecoff_write_armap (bfd *abfd,
|
|||||||
hdr.ar_mode[1] = '4';
|
hdr.ar_mode[1] = '4';
|
||||||
hdr.ar_mode[2] = '4';
|
hdr.ar_mode[2] = '4';
|
||||||
|
|
||||||
sprintf (hdr.ar_size, "%-10d", (int) mapsize);
|
_bfd_ar_spacepad (hdr.ar_size, sizeof (hdr.ar_size), "%-10ld", mapsize);
|
||||||
|
|
||||||
hdr.ar_fmag[0] = '`';
|
hdr.ar_fmag[0] = '`';
|
||||||
hdr.ar_fmag[1] = '\012';
|
hdr.ar_fmag[1] = '\012';
|
||||||
|
Reference in New Issue
Block a user