Re: ARM thumbmode architecture question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Steffen Dettmer <steffen.dettmer@xxxxxxxxxxxxxx> writes:

> Where can I find more information about compiling options of libgcc.a?
>   (I thought it was compiled as part of gcc building [and thus
>   assumed it would be built with correct compiler options]. Could
>   it be that I used bad limiting options when the arm-elf-gcc was
>   compiled?)

There isn't really a simple answer to that question.  libgcc.a can be
built multiple times with different options.  The exact list can be
extracted from gcc --print-multi-lib with some effort.  Which options
are used in your particular case depends on your configuration.


>>> I searched the internet and read about `trampolines' and the
>>> general possibility to have small wrapper functions in ARM code
>>> able to execute very long calls (gigabyte range).
>>> Compilers/linkers could theoretically automatically use such
>>> "wrappers". This information is in contrast to the previous one.
>>
>> The linker does have support for this. ÂWhich version of the
>> linker are you using?
>
> $ gcc -Wl,--version
> GNU ld version 2.16.1
>
> (does this mean it is from binutils-2.16.1 from June 2005?)

Yes.  The current version is 2.21.  In the NEWS file I see this for
binutils 2.19: "The ARM EABI linker will now generate stubs for function
calls to symbols that are too far away.  The placement of the stubs is
controlled by a new linker command line option: --stub-group-size=N."
So you may want to consider trying binutils 2.21.

> is `veneer generation' the correct term for what I called `trampoline'?

In this case I would typically call it a stub function.

Ian



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux