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] |
From: Andrew Pinski <pinskia@physics.uc.edu>
Date: March 20, 2004 15:56:28 PST
To: Ian Lance Taylor <ian@wasabisystems.com>
Cc: Andrew Pinski <apinski@apple.com>, "gcc@gcc.gnu.org list" <gcc@gcc.gnu.org>, Caroline Tice <ctice@apple.com>, Andrew Pinski <pinskia@physics.uc.edu>
Subject: Re: PATCH RFC: Remove fork from collect2
On Mar 20, 2004, at 06:50, Ian Lance Taylor wrote:
Ian Lance Taylor <ian@wasabisystems.com> writes:
3) Add restFP and saveFP to FSF gcc. Overall consistency would appear
to be a good thing.
Upon reflection, I believe that this would be the solution to the issue. Besides fixing this problem, it would permit FSF gcc to consistently link files compiled by Darwin gcc, which seems like a good thing to me.
Unfortunately, since I don't have a Darwin system, I can't easily write a patch. However, it's easy to do for anybody who has the source code for the Darwin compiler. Just add a file like rs6000/darwin-tramp.asm and put in the definitions of saveFP and restFP. Then add the name of the file to LIB2FUNCS_EXTRA in rs6000/t-darwin. It sounds like saveFP and restFP will normally be used together, so it should be fine to put both functions in the same file.
Here is the patch to add saveFP/restFP and other asm functions which Apple's libgcc exports (saveVEC/restVEC/saveVEC_vr11/restVEC_vr10 [the save/restore functions for altivec] and save_world/rest_world/eh_rest_world_r10/rest_world_eh_r7r8 [functions which is used for exception-handling]). They are all private_extern functions (aka hidden).
Ok? Bootstrapped all languages (except for java as there is another bootstrap problem which I am going to fix) and tested on powerpc-apple-darwin7.2.0?
Thanks, Andrew Pinski
ChangeLog:
* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add darwin-fpsave.asm,
darwin-vecsave.asm, and darwin-world.asm.
(TARGET_LIBGCC2_CFLAGS): Add -Wa,-force_cpusubtype_ALL as the asm files
contain altivec instructions.
* config/rs6000/darwin-fpsave.asm: New file.
* config/rs6000/darwin-vecsave.asm: New file.
* config/rs6000/darwin-world.asm: New file.
Patch:
Attachment:
temp.diff.txt
Description: Text document
New files:
Attachment:
darwin-fpsave.asm
Description: Binary data
Attachment:
darwin-world.asm
Description: Binary data
Attachment:
darwin-vecsave.asm
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |