]> git.ipfire.org Git - thirdparty/gcc.git/commit
libgcc: Use initarray section type for .init_stack
authorKewen Lin <linkw@linux.ibm.com>
Mon, 5 Jun 2023 03:39:32 +0000 (22:39 -0500)
committerKewen Lin <linkw@linux.ibm.com>
Mon, 5 Jun 2023 03:39:32 +0000 (22:39 -0500)
commit83c3550ee96aa2d0c964bfb6d0f82428561479fd
tree1a1267a71c54acf4287790c63e7eacc69f522e26
parent29b74545531f6afbee9fc38c267524326dbfbedf
libgcc: Use initarray section type for .init_stack

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

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
libgcc/config/rs6000/morestack.S
libgcc/config/s390/morestack.S