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 Wednesday, Oct 16, 2002, at 13:47 America/New_York, Dale Johannesen wrote:
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?
It seems to be the same. It doesn't help that the assembly
message seems to refer to a location in the output file, which
is not written to disk. Anyway, I'll send you the a-except.s
file in a private email. Thanks for your help!

  -Geert

.text
...
L42$pb:
        ...
        addis r9,r31,ha16(
L_system__soft_links__get_jmpbuf_address$non_lazy_ptr-L42$pb)
        lwz r9,lo16(
L_system__soft_links__get_jmpbuf_address$non_lazy_ptr-L42$pb)(r9)
        lwz r9,0(r9)
        mtctr r9
        bctrl
        ...

.data
...
.non_lazy_symbol_ptr
...
L_system__soft_links__get_jmpbuf_address$non_lazy_ptr:
        .indirect_symbol _system__soft_links__get_jmpbuf_address
        .long   0


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