This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Fix alignment of dynamically allocated stack areas on ppc-vxworks


Hello,

The attached patch, provided by Eric Botcazou (thanks!), installs
definitions of RS6000_STARTING_FRAME_OFFSET and STACK_DYNAMIC_OFFSET
for PowerPC VxWorks, which has STACK_BOUNDARY set to 128
unconditionally.

AFAICS, this is the third OS config file doing this, after Darwin
and AIX. It seems like we could (should ?) account for STACK_BOUNDARY
or maybe PREFERRED_STACK_BOUNDARY in the common rs6000.h definition.

We have tested this successfully with a gcc-8 based compiler for
powerpc-wrs-vxworks, where this fixes SEGVs observed on Ada programs
performing dynamic stack allocations.

With Kind Regards,

Olivier

2018-12-11  Eric Botcazou  <botcazou@adacore.com>

	* config/rs6000/vxworks.h (RS6000_STARTING_FRAME_OFFSET): Define,
	accounting for STACK_BOUNDARY 128.
	(STACK_DYNAMIC_OFFSET): Likewise.

Attachment: alloca-align-ppc-vxw.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]