On Fri, Aug 03, 2007 at 11:58:47AM -0400, Jonathan S. Shapiro wrote: > So far as we can tell from looking at the linux versions, the only > difference is that crtbeginT is calling > > register_frame_info_bases > deregister_frame_info_bases > > I suspect that these are related to the exception frame walker, because > if --static (therefore crtbeginT) is provided then --eh-frame-header is > not applied by default. That is: I suspect that --static does not > support exception frame walking. This smells like a Linux legacy issue > that may not apply to us. Can anybody confirm or correct that guess?
Close but no. Exception unwinding works fine. But it's done using register_frame_info_bases instead of --eh-frame-header, IIRC. Yes, it probably does not apply to you. > > But it sounds like you are modelling after the wrong target, a Linux > > one when you should be using an ELF one as base instead. You don't > > need three CRT files or a separate -static option if you don't have > > dynamic linking. And then you don't need to build libgcc with PIC > > code in it, and there won't be GOT references any more. > > We are going to want to have the PIE and shared models later, so I don't > want to disable those. At the moment all I am really trying to do is to > get --static working correctly. Trying to configure the compiler to support anything involving dynamic linking before you have the linker and execution support ready is definitely going to be a headache. -- Daniel Jacobowitz CodeSourcery