|
Message-ID: <CAKd0kDLzXTACTaaKf72B-Sfg8ir4rLU6D8yXyCdXiOYBYOt7hA@mail.gmail.com>
Date: Mon, 19 Oct 2015 14:51:12 +0530
From: Mahesh Bodapati <maheshbodapati90@...il.com>
To: Rich Felker <dalias@...c.org>
Cc: musl@...ts.openwall.com
Subject: musl mips n64 dynamic build
Hi Rich,
I have ported musl libraries for MIPS n64 ABI architecture and I have setup
$gp as
Crt1.s:
*lui $3,%hi(%neg(%gp_rel(_start)))*
* daddu
$3,$3,$25 /* same in dlsym.s
and pipe.s */*
* daddiu $gp,$3,%lo(%neg(%gp_rel(_start)))*
ld $4, %got_disp(main)($gp) # Get main() ..
I didn’t setup $gp as in MIPS o32 ABI as we shouldn’t use _*gp*_disp for
setting up $gp
“The special symbol name _gp_disp, used for relocating the calculation of gp
on entry to a DSO in 32-bit files, is
not supported in ELF-64 or in the new 32-bit ABI. Instead, these relocations
should be composed with
R_MIPS_GPREL applied to an explicit symbol for the entry point of the
subprogram
involves loading the difference between the entry
address of a subprogram s and the runtime gp for establishing gp:
A: lui rx, %hi(%neg(%gp_rel(s)))# load high part of diff
B: daddiu rx, rx, %lo(%neg(%gp_rel(s)))# add low part
C: dadd gp, t9, rx # add to entry address “
Now I am able to build dynamic n64 musl libraries and n64 dynamic
application but it’s not showing any relocation with it
and execution of application is giving errors like “unsupported relocation
type errors”
$ objdump -R main
a.out: file format elf64-tradbigmips
DYNAMIC RELOCATION RECORDS (none)
$ ./main
Error relocating libc.so: unsupported relocation type 482431
Error relocating libc.so: unsupported relocation type 482687
Error relocating libc.so: unsupported relocation type 482943
Error relocating libc.so: unsupported relocation type 483199
;
;
;
Segmentation fault
So Can you suggest how can I resolve these errors? I am thinking like
either doing changes in do_mips_reloc(),do_relocs() functions in musl
sources or in usage of relocations.
Thank You In Advance.
Thanks,
Mahesh
Content of type "text/html" skipped
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.