[Top][All Lists]

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

[Gcl-devel] WINDOWS -O3 OK - check FIND_INIT and fasload()

From: Mike Thomas
Subject: [Gcl-devel] WINDOWS -O3 OK - check FIND_INIT and fasload()
Date: Mon, 05 Apr 2004 20:28:05 +1000
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)

Hi all.

Admittedly the random tester has only made 400 iterations so far and I've got to clean up my work this evening, test Maxima etc, but MinGW32 is now on -O3 with no problems running tha ANSI test.

Every platform that uses "get_extra_bss()" in "sfasl.c" and which has an initialisation function in its object files (in my case it is called "_init_code" and it calls "do_init()") should be checked to ensure that the compiler does not move that initialisation function around in the object module, typically with higher order optimisations.

My guess is that the "-freorder-functions" optimisation which is turned on by -O2 (MinGW32 gcc at least) is the culprit and theerfore can potentially stymie linking code which does not check for such changes.

To check your object, just do:

   objdump -xS your_object_file.o

and redirect to a file which you can view at leisure to see whether your initialisation code stays at zero offset or not.

There are only a few IBM headers in the "h" directory which define FIND_INIT macro so far but they can be used as an example if you need to take action on this. I will be adding the MinGW32 version tonight hopefully.

Thanks for all your help Camm; I am feeling very, very pleased.

Mike Thomas.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]