This is the mail archive of the
mailing list for the GCC project.
CONSTANT_POOL_BEFORE_FUNCTION has no effect in tm.h?
- From: Trevor Scroggins <trevor dot scroggins at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Date: Sun, 5 Jul 2009 13:56:15 -0700
- Subject: CONSTANT_POOL_BEFORE_FUNCTION has no effect in tm.h?
Hello, all. I'm attempting to port GCC 4.4.0 to a new m68k target. The
target begins execution in the first byte of the first text section.
Adding '#define CONSTANT_POOL_BEFORE_FUNCTION 0' in my target's tm.h
seems like the simplest way to avoid execution of read-only data;
however, defining the constant has no effect on compilation. (Note,
custom or missing startup code is common, so I can't work around it
The only references to CONSTANT_POOL_BEFORE_FUNCTION are in varasm.c,
and the only target current using the definition is pdp11--not exactly
current. Is CONSTANT_POOL_BEFORE_FUNCTION still being used, or have I
hit upon a section of dead code? Is there a simple way to relocate
read-only data to the end of a function without writing a
target-specific reorg routine? Jumping over the data in a prologue
might be an easy, quick and dirty solution, but the target is a
memory-constrained system, and that seems wasteful.