Message ID | 20151002100806.GA18049@e105545-lin |
---|---|
State | Accepted |
Commit | 899de23a3c305e702a1a57118928df21192a8a13 |
Headers | show |
On 2 October 2015 at 11:08, Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> wrote: > * config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Use > default_elf_asm_named_section. > * config/aarch64/aarch64.c (aarch64_elf_asm_named_section): Delete. > --- > gcc/config/aarch64/aarch64-elf.h | 2 +- > gcc/config/aarch64/aarch64.c | 74 ---------------------------------------- > 2 files changed, 1 insertion(+), 75 deletions(-) > > diff --git a/gcc/config/aarch64/aarch64-elf.h b/gcc/config/aarch64/aarch64-elf.h > index 1ce6343..70aa845 100644 > --- a/gcc/config/aarch64/aarch64-elf.h > +++ b/gcc/config/aarch64/aarch64-elf.h > @@ -154,7 +154,7 @@ ASM_MABI_SPEC > #define TYPE_OPERAND_FMT "%%%s" > > #undef TARGET_ASM_NAMED_SECTION > -#define TARGET_ASM_NAMED_SECTION aarch64_elf_asm_named_section > +#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section Isn't it sufficient to simply remove the #define completely and rely on the default from elfos.h? /M
On 02/10/15 13:46, Marcus Shawcroft wrote: > On 2 October 2015 at 11:08, Ramana Radhakrishnan > <ramana.radhakrishnan@arm.com> wrote: > >> * config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Use >> default_elf_asm_named_section. >> * config/aarch64/aarch64.c (aarch64_elf_asm_named_section): Delete. >> --- >> gcc/config/aarch64/aarch64-elf.h | 2 +- >> gcc/config/aarch64/aarch64.c | 74 ---------------------------------------- >> 2 files changed, 1 insertion(+), 75 deletions(-) >> >> diff --git a/gcc/config/aarch64/aarch64-elf.h b/gcc/config/aarch64/aarch64-elf.h >> index 1ce6343..70aa845 100644 >> --- a/gcc/config/aarch64/aarch64-elf.h >> +++ b/gcc/config/aarch64/aarch64-elf.h >> @@ -154,7 +154,7 @@ ASM_MABI_SPEC >> #define TYPE_OPERAND_FMT "%%%s" >> >> #undef TARGET_ASM_NAMED_SECTION >> -#define TARGET_ASM_NAMED_SECTION aarch64_elf_asm_named_section >> +#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section > > Isn't it sufficient to simply remove the #define completely and rely > on the default from elfos.h? Doh ! you're right - Yeah should be coming in from config/elfos.h given that we don't support anything other than elf in the aarch64 port. Ok to commit without that hunk ? regards Ramana
On 2 October 2015 at 14:01, Ramana Radhakrishnan <ramana.radhakrishnan@foss.arm.com> wrote: >>> #undef TARGET_ASM_NAMED_SECTION >>> -#define TARGET_ASM_NAMED_SECTION aarch64_elf_asm_named_section >>> +#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section >> >> Isn't it sufficient to simply remove the #define completely and rely >> on the default from elfos.h? > > Doh ! you're right - Yeah should be coming in from config/elfos.h given that we don't support anything other than elf in the aarch64 port. > > Ok to commit without that hunk ? Yes. /Marcus
On 2 October 2015 at 15:05, Marcus Shawcroft <marcus.shawcroft@gmail.com> wrote: > On 2 October 2015 at 14:01, Ramana Radhakrishnan > <ramana.radhakrishnan@foss.arm.com> wrote: > >>>> #undef TARGET_ASM_NAMED_SECTION >>>> -#define TARGET_ASM_NAMED_SECTION aarch64_elf_asm_named_section >>>> +#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section >>> >>> Isn't it sufficient to simply remove the #define completely and rely >>> on the default from elfos.h? >> >> Doh ! you're right - Yeah should be coming in from config/elfos.h given that we don't support anything other than elf in the aarch64 port. >> >> Ok to commit without that hunk ? > > Yes. /Marcus Hi Ramana, Since this commit, I am seeing build failures when creating lto1: libbackend.a(aarch64.o):(.data+0x118): undefined reference to `aarch64_elf_asm_named_section(char const*, unsigned int, tree_node*)' (targets aarch64_none-linux-gnu and aarch64-none-elf). I guess I'm missing something obvious? Christophe.
On Fri, Oct 2, 2015 at 5:40 PM, Christophe Lyon <christophe.lyon@linaro.org> wrote: > On 2 October 2015 at 15:05, Marcus Shawcroft <marcus.shawcroft@gmail.com> wrote: >> On 2 October 2015 at 14:01, Ramana Radhakrishnan >> <ramana.radhakrishnan@foss.arm.com> wrote: >> >>>>> #undef TARGET_ASM_NAMED_SECTION >>>>> -#define TARGET_ASM_NAMED_SECTION aarch64_elf_asm_named_section >>>>> +#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section >>>> >>>> Isn't it sufficient to simply remove the #define completely and rely >>>> on the default from elfos.h? >>> >>> Doh ! you're right - Yeah should be coming in from config/elfos.h given that we don't support anything other than elf in the aarch64 port. >>> >>> Ok to commit without that hunk ? >> >> Yes. /Marcus > > Hi Ramana, > > Since this commit, I am seeing build failures when creating lto1: > libbackend.a(aarch64.o):(.data+0x118): undefined reference to > `aarch64_elf_asm_named_section(char const*, unsigned int, tree_node*)' > (targets aarch64_none-linux-gnu and aarch64-none-elf). > > I guess I'm missing something obvious? I missed a hunk which was fixed up in https://gcc.gnu.org/ml/gcc-cvs/2015-10/msg00086.html. I don't know why the email for that hasn't made it to the lists yet. Sorry about the breakage. regards Ramana > > Christophe.
diff --git a/gcc/config/aarch64/aarch64-elf.h b/gcc/config/aarch64/aarch64-elf.h index 1ce6343..70aa845 100644 --- a/gcc/config/aarch64/aarch64-elf.h +++ b/gcc/config/aarch64/aarch64-elf.h @@ -154,7 +154,7 @@ ASM_MABI_SPEC #define TYPE_OPERAND_FMT "%%%s" #undef TARGET_ASM_NAMED_SECTION -#define TARGET_ASM_NAMED_SECTION aarch64_elf_asm_named_section +#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section /* Stabs debug not required. */ #undef DBX_DEBUGGING_INFO diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 4d2126b..0ead7c0 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -10784,80 +10784,6 @@ aarch64_shift_truncation_mask (machine_mode mode) || aarch64_vect_struct_mode_p (mode)) ? 0 : (GET_MODE_BITSIZE (mode) - 1); } -#ifndef TLS_SECTION_ASM_FLAG -#define TLS_SECTION_ASM_FLAG 'T' -#endif - -void -aarch64_elf_asm_named_section (const char *name, unsigned int flags, - tree decl ATTRIBUTE_UNUSED) -{ - char flagchars[10], *f = flagchars; - - /* If we have already declared this section, we can use an - abbreviated form to switch back to it -- unless this section is - part of a COMDAT groups, in which case GAS requires the full - declaration every time. */ - if (!(HAVE_COMDAT_GROUP && (flags & SECTION_LINKONCE)) - && (flags & SECTION_DECLARED)) - { - fprintf (asm_out_file, "\t.section\t%s\n", name); - return; - } - - if (!(flags & SECTION_DEBUG)) - *f++ = 'a'; - if (flags & SECTION_WRITE) - *f++ = 'w'; - if (flags & SECTION_CODE) - *f++ = 'x'; - if (flags & SECTION_SMALL) - *f++ = 's'; - if (flags & SECTION_MERGE) - *f++ = 'M'; - if (flags & SECTION_STRINGS) - *f++ = 'S'; - if (flags & SECTION_TLS) - *f++ = TLS_SECTION_ASM_FLAG; - if (HAVE_COMDAT_GROUP && (flags & SECTION_LINKONCE)) - *f++ = 'G'; - *f = '\0'; - - fprintf (asm_out_file, "\t.section\t%s,\"%s\"", name, flagchars); - - if (!(flags & SECTION_NOTYPE)) - { - const char *type; - const char *format; - - if (flags & SECTION_BSS) - type = "nobits"; - else - type = "progbits"; - -#ifdef TYPE_OPERAND_FMT - format = "," TYPE_OPERAND_FMT; -#else - format = ",@%s"; -#endif - - fprintf (asm_out_file, format, type); - - if (flags & SECTION_ENTSIZE) - fprintf (asm_out_file, ",%d", flags & SECTION_ENTSIZE); - if (HAVE_COMDAT_GROUP && (flags & SECTION_LINKONCE)) - { - if (TREE_CODE (decl) == IDENTIFIER_NODE) - fprintf (asm_out_file, ",%s,comdat", IDENTIFIER_POINTER (decl)); - else - fprintf (asm_out_file, ",%s,comdat", - IDENTIFIER_POINTER (DECL_COMDAT_GROUP (decl))); - } - } - - putc ('\n', asm_out_file); -} - /* Select a format to encode pointers in exception handling data. */ int aarch64_asm_preferred_eh_data_format (int code ATTRIBUTE_UNUSED, int global)