diff options
-rw-r--r-- | c/src/lib/libbsp/powerpc/virtex/ChangeLog | 7 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/virtex/dlentry/dlentry.S | 3 |
2 files changed, 10 insertions, 0 deletions
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,5 +1,12 @@ 2008-07-21 Till Straumann <strauman@slac.stanford.edu> + * 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 <strauman@slac.stanford.edu> + * startup/linkcmds: fixed sdata/sbss areas -- these must be contiguous for SVR4 complicant access via R13. Use kludged layout so that sbss, bss, sbss2 are all 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 */ |