http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52747

--- Comment #3 from Jeffrey Walton <noloader at gmail dot com> 2012-03-28 
14:33:38 UTC ---
Ah, OK. -Wtrampolines works. But I'm not seeing a warning about the loss of
no-exec stacks:

int main(int argc, char* argv[])
{
  (void)argc;
  (void)argv;

  void foo()
  {
    printf("main: %p\n", &main);
    printf("argv: %p\n", argv);

    printf("foo: %p\n", &foo);   
  }

  foo();

  return 0;
}

$ gcc -Wall -Wextra -fPIE -Wtrampolines -Wl,-z,relro -Wl,-z,now
-Wl,-z,noexecstack -Wl,-z,noexecheap warn-test.c -o warn-test.exe
warn-test.c: In function ‘main’:
warn-test.c:10:8: warning: trampoline generated for nested function ‘foo’
[-Wtrampolines]
/usr/bin/ld: warning: -z noexecheap ignored.

$ ./warn-test.exe 
main: 0x4005c7
argv: 0x7fff65a9a138
foo: 0x7fff65a9a028

Reply via email to