[fpc-devel]New switch -Oa for 1.1 compiler

Thomas Schatzl tom_at_work at yline.com
Tue Jul 3 21:11:05 CEST 2001


Hi,

> The 1.1 compiler has a new switch -Oa. It is used for setting the
> alignment used by the compiler for code and data.
> Example:
>
> -Oaproc=32 Alignment of procedures on 32 bytes boundary
> -Oavarmin=4,varmax=16 Alignment of global/static variables is at least
> on 4 bytes, but at maximum of 16 bytes. This will result in an int64 be
> aligned at 8 bytes and a longint at 4 bytes and sets (32bytes) are aligned
> at the maximum of 16 bytes.

Does the linking process take care of these settings ? E.g. are the
different object files which are linked together aligned to this max
alignment as well ? Else the object files get glued together by ld at 4
bytes boundaries whatever your variable alignment within these object files
was...
What about strings, ansistrings arrays and record types ?
Maybe these settings could be set to some default values in accordance to
the processor type specified (-OpX) to simplify usage a little ?

Greetings,
    Thomas





More information about the fpc-devel mailing list