This is the mail archive of the gcc@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: Problems building GNAT on OS X with top-of-tree


On Thursday, October 17, 2002, at 02:10  PM, Dale Johannesen wrote:

On Thursday, October 17, 2002, at 01:44  PM, Geert Bosch wrote:
ali.s:unknown:Can't emit reloc {- symbol "LSJR827"} @ file address 30708.
ali.s:unknown:Can't emit reloc {- symbol "LSJR827"} @ file address 30704.
ali.s:unknown:Undefined local symbol L149$pb

The piece of assembly in question is:
LSJR827:
mflr r31
addis r31,r31,ha16(L149$pb-LSJR827)
addi r31,r31,lo16(L149$pb-LSJR827)
Actually this looks like it is connected to Geoff's recent patch
http://gcc.gnu.org/ml/gcc-patches/2002-09/msg01259.html
which introduced the LSJR label.  Geoff, is
current_function_uses_pic_offset_table not getting set anywhere?
That would account for his symptom.

It is supposed to be set by machopic_function_base_name, which is called to generate the label. Looking at the code, my suspicion is that the original load_macho_picbase pattern is getting deleted by flow because it appears dead, but that also deletes the label that the macho_correct_pic needs.

If so, the solution is to use a real CODE_LABEL instead of having the label inside load_macho_picbase, but this will be a complex change.

(This is probably unrelated to your earlier bug.)
Well, it's certainly related, in the sense that if I hadn't fixed that bug this code would now fail at runtime instead of compile-time…


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