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

Reply via email to