This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
arm-elf-gcc shared flat support
- From: "vivek tyagi" <vivek dot list at gmail dot com>
- To: gcc at gnu dot org, gcc at gcc dot gnu dot org, gcc-help at gcc dot gnu dot org
- Date: Fri, 30 Mar 2007 17:57:05 +0530
- Subject: arm-elf-gcc shared flat support
Hi ,
I am working on Shared flat file support for uClinux (No MMU ARM ).The
gcc version
I am using is 2.95 and 3.4.0.Theory of operation is similar to that
implemented for m68k.One of the major requirement is to call functions
via GOT.
so a code
******c-code**************
foo()
{}
main()
{
foo();
}
******************************
is to be called as
****compiler output***********
ldr r3, .L4
mov lr,pc
ldr pc[sl,r3]
.L4:
.word foo(GOT)
******************************
as opposed to
bl foo(PLT)
where sl holds the address of GOT.(binfmt_flat loader ensures that
before the program start)
in gcc 3.4.0 this is some how achived if the function attribute
__attribute__((weak)) is specified.But no idea for 2.95
Kindly bail me out on this one.
Sincere Thanks in advance.
Vivek Tyagi