Re: Is GCC V3.4.6 supposed to be SystemV i386 ABI v4 compliant?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Curtis Taylor <cjt@xxxxxxxxxx> writes:

> I have a case of g++ generating this instruction:
> 	add	$0xe,%esp
> and creating a non 32bit aligned %esp.  This is enabling a SIGSEGV in a
> signal handler that expects the stack to be word aligned.  

Presumably there is going to be a pushw around there somewhere.  gcc
can create a misaligned stack temporarily but it shouldn't create one
across a function call.  If that is the case, you may be able to avoid
the problem by using the -mno-push-args or -maccumulate-outgoing-args
options.

I agree that issuing this instruction violates the i386 ELF ABI, and
if current mainline gcc does it that is a bug which should be fixed.

Ian

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux