Hi,

One of my workmates found there is a warning like:

  libgcc/config/rs6000/morestack.S:402: Warning: ignoring
    incorrect section type for .init_array.00000

when compiling libgcc/config/rs6000/morestack.S.

Since commit r13-6545 touched that file recently, which was
suspected to be responsible for this warning, I did some
investigation and found this is a warning staying for a long
time.  For section .init_stack*, it's preferred to use
section type SHT_INIT_ARRAY.  So this patch is use
"@init_array" to replace "@progbits".

Although the warning is trivial, Segher suggested me to
post this to fix it, in order to avoid any possible
misunderstanding/confusion on the warning.

As Alan confirmed, this doesn't require a premise check
on if the existing binutils supports "@init_array" or not,
"because if you want split-stack to work, you must link
with gold, any version of binutils that has gold has an
assembler that understands @init_array". (Thanks Alan!)

Bootstrapped and regtested on x86_64-redhat-linux
and powerpc64{,le}-linux-gnu.

Is it ok for trunk when next stage 1 comes?

BR,
Kewen
-----
libgcc/ChangeLog:

        * config/i386/morestack.S: Use @init_array rather than
        @progbits for section type of section .init_array.
        * config/rs6000/morestack.S: Likewise.
        * config/s390/morestack.S: Likewise.
---
 libgcc/config/i386/morestack.S   | 2 +-
 libgcc/config/rs6000/morestack.S | 2 +-
 libgcc/config/s390/morestack.S   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/libgcc/config/i386/morestack.S b/libgcc/config/i386/morestack.S
index 7ae99b50cf5..c822b71e2dd 100644
--- a/libgcc/config/i386/morestack.S
+++ b/libgcc/config/i386/morestack.S
@@ -850,7 +850,7 @@ __morestack_make_guard:
 # This is ELF specific.

 #if HAVE_INITFINI_ARRAY_SUPPORT
-       .section        .init_array.00000,"aw",@progbits
+       .section        .init_array.00000,"aw",@init_array
 #else
        .section        .ctors.65535,"aw",@progbits
 #endif
diff --git a/libgcc/config/rs6000/morestack.S b/libgcc/config/rs6000/morestack.S
index f2fea6abb10..dd1e27cd454 100644
--- a/libgcc/config/rs6000/morestack.S
+++ b/libgcc/config/rs6000/morestack.S
@@ -399,7 +399,7 @@ ENTRY0(__morestack_make_guard)

 # Make __stack_split_initialize a high priority constructor.
 #if HAVE_INITFINI_ARRAY_SUPPORT
-       .section .init_array.00000,"aw",@progbits
+       .section .init_array.00000,"aw",@init_array
 #else
        .section .ctors.65535,"aw",@progbits
 #endif
diff --git a/libgcc/config/s390/morestack.S b/libgcc/config/s390/morestack.S
index 09a49bb8851..f52e7a6510c 100644
--- a/libgcc/config/s390/morestack.S
+++ b/libgcc/config/s390/morestack.S
@@ -597,7 +597,7 @@ __morestack_make_guard:
 # Make __stack_split_initialize a high priority constructor.

 #if HAVE_INITFINI_ARRAY_SUPPORT
-       .section .init_array.00000,"aw",@progbits
+       .section .init_array.00000,"aw",@init_array
 #else
        .section .ctors.65535,"aw",@progbits
 #endif
--
2.31.1

Reply via email to