From 9a1ada6cce2c42163bedbef54db6a016ff74e675 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Tue, 2 Jul 2013 07:38:51 +0000 Subject: [PATCH] 2013-07-02 Tristan Gingold * coff-rs6000.c (xcoff_create_csect_from_smclas): Handle more smclas. --- bfd/ChangeLog | 4 ++++ bfd/coff-rs6000.c | 17 +++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d915a7dc527..91ec8396aa7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2013-07-02 Tristan Gingold + + * coff-rs6000.c (xcoff_create_csect_from_smclas): Handle more smclas. + 2013-07-02 Tristan Gingold * coff-rs6000.c (xcoff_find_nearest_line_discriminator): New function. diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c index cad726849cb..aa16e99a5c8 100644 --- a/bfd/coff-rs6000.c +++ b/bfd/coff-rs6000.c @@ -24,6 +24,7 @@ MA 02110-1301, USA. */ #include "sysdep.h" +#include "libiberty.h" #include "bfd.h" #include "bfdlink.h" #include "libbfd.h" @@ -3555,14 +3556,14 @@ xcoff_create_csect_from_smclas (bfd *abfd, /* .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) + 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 < ARRAY_SIZE (names)) && (NULL != names[aux->x_csect.x_smclas])) { return_value = bfd_make_section_anyway -- 2.30.2