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.
> 

OK.

R.

> 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);
> 

Reply via email to