Line 1... |
Line 1... |
/* MIPS-specific support for 64-bit ELF
|
/* MIPS-specific support for 64-bit ELF
|
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2007
|
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007
|
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
Ian Lance Taylor, Cygnus Support
|
Ian Lance Taylor, Cygnus Support
|
Linker support added by Mark Mitchell, CodeSourcery, LLC.
|
Linker support added by Mark Mitchell, CodeSourcery, LLC.
|
<mark@codesourcery.com>
|
<mark@codesourcery.com>
|
|
|
Line 93... |
Line 93... |
|
|
carsym_size = nsymz * sizeof (carsym);
|
carsym_size = nsymz * sizeof (carsym);
|
ptrsize = 8 * nsymz;
|
ptrsize = 8 * nsymz;
|
|
|
amt = carsym_size + stringsize + 1;
|
amt = carsym_size + stringsize + 1;
|
ardata->symdefs = bfd_zalloc (abfd, amt);
|
ardata->symdefs = (struct carsym *) bfd_zalloc (abfd, amt);
|
if (ardata->symdefs == NULL)
|
if (ardata->symdefs == NULL)
|
return FALSE;
|
return FALSE;
|
carsyms = ardata->symdefs;
|
carsyms = ardata->symdefs;
|
stringbase = ((char *) ardata->symdefs) + carsym_size;
|
stringbase = ((char *) ardata->symdefs) + carsym_size;
|
|
|
raw_armap = bfd_alloc (abfd, ptrsize);
|
raw_armap = (bfd_byte *) bfd_alloc (abfd, ptrsize);
|
if (raw_armap == NULL)
|
if (raw_armap == NULL)
|
goto release_symdefs;
|
goto release_symdefs;
|
|
|
if (bfd_bread (raw_armap, ptrsize, abfd) != ptrsize
|
if (bfd_bread (raw_armap, ptrsize, abfd) != ptrsize
|
|| bfd_bread (stringbase, stringsize, abfd) != stringsize)
|
|| bfd_bread (stringbase, stringsize, abfd) != stringsize)
|