[swift-dev] Standard shared libraries with executable stack

Dmitri Gribenko gribozavr at gmail.com
Fri Jun 17 10:17:58 CDT 2016


On Fri, Jun 17, 2016 at 7:31 AM, Sangjin Han <tinysun.net at gmail.com> wrote:
> Hi,
>
> When linking libswiftCore.so, gold linker with --warn-execstack option
> generates following messages.
> /usr/bin/ld.gold: warning: lib/swift/linux/x86_64/swift_begin.o: missing
> .note.GNU-stack section implies executable stack
> /usr/bin/ld.gold: warning: lib/swift/linux/x86_64/swift_end.o: missing
> .note.GNU-stack section implies executable stack
>
> I found the web page about the GNU-stack section.
> http://en.chys.info/2010/12/note-gnu-stack/
>
> After quick testing in my build system (Linux + execstack -q), I think we
> should append one line to stdlib/public/runtime/swift_sections.S, or pass
> the proper option to the linker.
> The line is
>     .section .note.GNU-stack,"", at progbits
> and the option is
>     '-z noexecstack' (or -Wl,-z -Wl,noexecstack for clang++).

The patch would be much better I think.  Thank you very much for the
investigation!  Could you submit a pull request?

Dmitri

-- 
main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
(j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/


More information about the swift-dev mailing list