Messages in this thread | | | Date | Fri, 3 Jun 2011 23:37:13 +0200 | From | Andi Kleen <> | Subject | Re: [PATCH] x86-64: Prevent gcc from optimizing away venosys_1() |
| |
On Fri, Jun 03, 2011 at 05:32:06PM -0400, Dave Anderson wrote: > > > ----- Original Message ----- > > > return 0; > > > } > > > > > > -static long __vsyscall(3) venosys_1(void) > > > +long __vsyscall(3) venosys_1(void) > > > > Better add a __used too. Otherwise it can be optimized out again > > in some builds e.g. when someone enables gc-sections for the linker. > > Considering that all of the vsyscall prototypes have this attribute: > > #define __vsyscall(nr) \ > __attribute__ ((unused, __section__(".vsyscall_" #nr))) notrace > > How would any of them work?
unused is just to prevent warnings I think. used stops the optimizer from throwing it away.
It would make more sense to drop the unused and add an used. I think used prevents the warnings too.
-Andi
-- ak@linux.intel.com -- Speaking for myself only.
| |