On 28/09/17 13:31, Joseph Myers wrote: > Many GCC tests fail for AArch64 with current binutils because of > assembler warnings of the form "Warning: ignoring incorrect section > type for .init_array.00100". The same issue was fixed for ARM in > r247015 by using SECTION_NOTYPE when creating those sections; this > patch applies the same fix to AArch64. > > Tested with no regressions with cross to aarch64-linux-gnu. OK to > commit? > > 2017-09-28 Joseph Myers <jos...@codesourcery.com> > > * config/aarch64/aarch64.c (aarch64_elf_asm_constructor) > (aarch64_elf_asm_destructor): Pass SECTION_NOTYPE to get_section > when creating .init_array and .fini_array sections with priority > specified. > > Index: gcc/config/aarch64/aarch64.c > =================================================================== > --- gcc/config/aarch64/aarch64.c (revision 253248) > +++ gcc/config/aarch64/aarch64.c (working copy) > @@ -6095,7 +6095,7 @@ aarch64_elf_asm_constructor (rtx symbol, int prior > -Wformat-truncation false positive, use a larger size. */ > char buf[23]; > snprintf (buf, sizeof (buf), ".init_array.%.5u", priority); > - s = get_section (buf, SECTION_WRITE, NULL); > + s = get_section (buf, SECTION_WRITE | SECTION_NOTYPE, NULL); > switch_to_section (s); > assemble_align (POINTER_SIZE); > assemble_aligned_integer (POINTER_BYTES, symbol); > @@ -6115,7 +6115,7 @@ aarch64_elf_asm_destructor (rtx symbol, int priori > -Wformat-truncation false positive, use a larger size. */ > char buf[23]; > snprintf (buf, sizeof (buf), ".fini_array.%.5u", priority); > - s = get_section (buf, SECTION_WRITE, NULL); > + s = get_section (buf, SECTION_WRITE | SECTION_NOTYPE, NULL); > switch_to_section (s); > assemble_align (POINTER_SIZE); > assemble_aligned_integer (POINTER_BYTES, symbol); >
Ok, sorry I missed this one. R.