PATCH: fix ld failure when reading AIX 7 object files
Tristan Gingold
gingold@adacore.com
Mon Jul 1 14:00:00 GMT 2013
Hello,
AIX 6 and 7 have added a few smclas, and GNU ld creates a section for each csect.
So the map from smclas to names should be updated.
Ok for trunk ?
Tristan.
bfd/
2013-07-01 Tristan Gingold <gingold@adacore.com>
* coff-rs6000.c (xcoff_create_csect_from_smclas): Handle more smclas.
Index: bfd/coff-rs6000.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-rs6000.c,v
retrieving revision 1.109
diff -c -r1.109 coff-rs6000.c
*** bfd/coff-rs6000.c 16 May 2013 15:41:40 -0000 1.109
--- bfd/coff-rs6000.c 1 Jul 2013 13:49:50 -0000
***************
*** 3539,3552 ****
/* .sv64 = x_smclas == 17
This is an invalid csect for 32 bit apps. */
! static const char *names[19] =
! {
! ".pr", ".ro", ".db", ".tc", ".ua", ".rw", ".gl", ".xo",
! ".sv", ".bs", ".ds", ".uc", ".ti", ".tb", NULL, ".tc0",
! ".td", NULL, ".sv3264"
! };
!
! if ((19 >= aux->x_csect.x_smclas)
&& (NULL != names[aux->x_csect.x_smclas]))
{
return_value = bfd_make_section_anyway
--- 3555,3568 ----
/* .sv64 = x_smclas == 17
This is an invalid csect for 32 bit apps. */
! static const char * const names[] =
! {
! ".pr", ".ro", ".db", ".tc", ".ua", ".rw", ".gl", ".xo", /* 0 - 7 */
! ".sv", ".bs", ".ds", ".uc", ".ti", ".tb", NULL, ".tc0", /* 8 - 15 */
! ".td", NULL, ".sv3264", NULL, ".tl", ".ul", ".te"
! };
!
! if ((aux->x_csect.x_smclas < sizeof (names) / sizeof (*names))
&& (NULL != names[aux->x_csect.x_smclas]))
{
return_value = bfd_make_section_anyway
More information about the Binutils
mailing list