On Wed, 30 Apr 2008 21:24:27 -0300
Kevin Winchester <kjwinchester@xxxxxxxxx> wrote:
Arjan van de Ven wrote:Kevin Winchester wrote:Ubuntu Hardy HeronHi Arjan,the important question is: exactly what gcc are you using? (and if
There doesn't seem to be an entry in MAINTAINERS for stack
protector, but your signoff was on the last stack protector
related commit I could find, so it's probably a good bet.
I get the following in my dmesg after testing linux-next with the
stack protector turned on. This is an x86-64 UP box if that
helps. It appears to be related to the test for the feature (or
perhaps that is supposed to happen when the feature is tested, I'm
not sure...). Config below.
you use a distro gcc, which distro)
second question would be, what does the following command give?
echo "int foo(void) { char X[200]; return 3; }" | $1 -S -xc -c -O0
-mcmodel=kernel -fstack-protector - -o -
(this is the command from scripts/gcc-x86_64-has-stack-protector.sh
that the kernel uses to test at compiletime if you have stack
protector support)
kevin@alekhine:~$ gcc --version
gcc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There
is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
kevin@alekhine:~$ echo "int foo(void) { char X[200]; return 3; }" |
$1 -S -xc -c -O0 -mcmodel=kernel -fstack-protector - -o - bash: -S:
command not found
I assume that $1 was supposed to be gcc, so how about:
eh woops yes
kevin@alekhine:~/linux/linux-2.6/scripts$ sh
gcc-x86_64-has-stack-protector.sh gcc something something
So I would assume that means I pass...
I would rather really like to see the assembly output this thing spits; to see if your compiler behaves sanely.
(Some distros tend to badly patch their gcc unfortunately and this may break the stack protector feature)