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]

Re: fixes for Darwin/x86, take 2



On Dec 16, 2005, at 1:55 PM, Richard Henderson wrote:


On Mon, Dec 12, 2005 at 04:31:26PM -0800, Stuart Hastings wrote:
	* config/darwin.c (machopic_legitimize_pic_address): Set
	regs_ever_live[].
	* config/i386/i386.c (ix86_preferred_stack_boundary): Always
	128bits for Darwin/x86. (USE_HIDDEN_LINKONCE): On for
	Darwin/x86. (ix86_file_end): Add Mach-O support.
	(darwin_x86_file_end): New.
	(output_set_got): Add label parmeter.
	(x86_output_mi_thunk): Ditto.
	* config/i386/i386-protos.h (output_set_got): Ditto.
	* config/i386/i386.md (set_got): Ditto.
	(UNSPEC_LD_MPIC, set_got_labelled): New.
	(builtin_setjmp_receiver): Mach-O support.
	* config/i386/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
	(FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Disable.
	(darwin_x86_file_end, TARGET_ASM_FILE_END): New.
	(TARGET_DEEP_BRANCH_PREDICTION): Remove.
	(GOT_SYMBOL_NAME): Define for Darwin/x86.

Mostly ok.


+ #define SUBTARGET_OVERRIDE_OPTIONS					\
+ do {								\
+   if (flag_pic == 1)						\
+     {								\
+       /* Darwin doesn't support -fpic.  */				\
+       flag_pic = 2;							\
+     }								\

Not needed.

Removed.


+ /* Similar to STACK_BOUNDARY, Darwin must override this too.  */
+ #undef FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN
+ #define FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN (0)

Comment is bogus.

Removed.


Bootstrapped, DejaGnu, no regressions on Darwin/x86 only. (Previous patch was bootstrapped and regressed on Linux/x86 as well.)

2005-12-21 Stuart Hastings <stuart@apple.com>

* gcc/config/i386/i386.md (set_got): Update.
(set_got_labelled): New. (UNSPEC_LD_MPIC): New.
(builtin_setjmp_receiver): Mach-O support.
* gcc/config/i386/darwin.h (TARGET_ASM_FILE_END) Define.
(GOT_SYMBOL_NAME): Define.
(FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
(TARGET_DEEP_BRANCH_PREDICTION): Remove.
* gcc/config/i386/i386.c (override_options): Revise for Darwin.
(USE_HIDDEN_LINKONCE): Enable for Mach-O. (ix86_file_end): Mach-O
support. (darwin_x86_file_end): New. (output_set_got): Add label
parameter, revise for Mach-O. (x86_output_mi_thunk): Likewise.
* gcc/config/i386/i386-protos.h (output_set_got): Likewise.
* gcc/config/darwin.c (machopic_legitimize_pic_address): Update
regs_ever_live[].


Attachment: gcc.fsf.bugs2.diffs.txt
Description: Text document


O.K. to commit?


stuart hastings
Apple Computer

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