diff --git a/c/src/lib/libbsp/powerpc/virtex/ChangeLog b/c/src/lib/libbsp/powerpc/virtex/ChangeLog index 453b40a110..1206fed7b9 100644 --- a/c/src/lib/libbsp/powerpc/virtex/ChangeLog +++ b/c/src/lib/libbsp/powerpc/virtex/ChangeLog @@ -1,3 +1,10 @@ +2008-07-21 Till Straumann + + * dlentry/dlentry.S: load R13 with _SDA_BASE_ so that + SVR4-ABI access of short data area works. No support + for R2/sdata2/eabi, so far but that would be easy + (atm R2 is loaded with got address IIRC). + 2008-07-21 Till Straumann * startup/linkcmds: fixed sdata/sbss areas -- these diff --git a/c/src/lib/libbsp/powerpc/virtex/dlentry/dlentry.S b/c/src/lib/libbsp/powerpc/virtex/dlentry/dlentry.S index afca899ef4..abf015566c 100644 --- a/c/src/lib/libbsp/powerpc/virtex/dlentry/dlentry.S +++ b/c/src/lib/libbsp/powerpc/virtex/dlentry/dlentry.S @@ -130,6 +130,9 @@ text_length: la r5,environ@l(r5) /* environp */ li r4, 0 /* argv */ li r3, 0 /* argc */ + .extern SYM(_SDA_BASE_) + lis r13,SYM(_SDA_BASE_)@h + ori r13,r13,SYM(_SDA_BASE_)@l .extern SYM (boot_card) b SYM (boot_card) /* call the first C routine */