This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Problems building GNAT on OS X with top-of-tree
- From: Dale Johannesen <dalej at apple dot com>
- To: Geert Bosch <bosch at gnat dot com>
- Cc: Dale Johannesen <dalej at apple dot com>, gcc at gcc dot gnu dot org
- Date: Wed, 16 Oct 2002 10:47:27 -0700
- Subject: Re: Problems building GNAT on OS X with top-of-tree
On Wednesday, October 16, 2002, at 10:37 AM, Geert Bosch wrote:
On Wednesday, Oct 16, 2002, at 13:12 America/New_York, Dale Johannesen
wrote:
Another possibility is that
L_system__soft_links__get_jmpbuf_address$non_lazy_ptr
is not defined. In either case I'd expect to see an "undefined
symbol"
message from the assembler though. If neither of those is it, send me
a .s file and I'll figure it out.
It's defined in the .data segment, while the reference is in the .code
segment. I can see how this wouldn't work...
No, that is supposed to be OK. non_lazy_ptr's are used for
references to the address of a function (pointer-to-function) like this:
extern int (*f)(int (*)());
main() {
(*f)(f);
}
.text ....
_main: ....
bcl 20,31,L1$pb
L1$pb: ....
addis r9,r31,ha16(L_f$non_lazy_ptr-L1$pb)
lwz r11,lo16(L_f$non_lazy_ptr-L1$pb)(r9)
addis r9,r31,ha16(L_f$non_lazy_ptr-L1$pb)
lwz r9,lo16(L_f$non_lazy_ptr-L1$pb)(r9)
lwz r0,0(r11)
lwz r3,0(r9)
mr r12,r0
mtctr r12
bctrl
....
.data
.non_lazy_symbol_pointer
L_f$non_lazy_ptr:
.indirect_symbol _f
So what's different about yours?