Hey

On Wed, Jan 08, 2014, Thomas Preud'homme wrote:
> So you'll be happy to hear that support for armhf will be greatly improved in 
> upcoming tcc release (there was quite some bug in the current version). 

Nice  :-)

> However I still encounter a problem that when both armel and armhf libraries 
> are installed, ldd shows that armel one are used. I tried playing with EABI 
> version (set it from 4 to 5) but then ldd says the file is not a dynamic 
> binary.

Interesting; this might be worth raising on debian-arm@; I think there's
another ELF header that one has to set to indicate the hard-float
variant of EABI; Steve McIntyre had worked on this some while ago.

> >  In fact, it would be nice if TCC allowed selection of the ARM ABI it's
> >  targetting, e.g. ARMv4...ARMv7, Thumb/ARM mode, OABI vs. EABI, soft VFP
> >  / hard VFP / no VFP.
> 
> You'll also be happy to hear that there is progress on this front. I've just 
> pushed a patch to be able to select the float ABI at runtime. For now it's 
> limited to softfp and hard since soft is not supported now (as you noticed, 
> tcc produces VFP code even on armel). Supporting ARMv4…ARMv7 as well as 
> Thumb/ARM will not be done neither since tcc is not an optimizing compiler. 
> ARMv4 is always used, no matter what. On the other hand I'd like to be able 
> to 
> select the ABI (OABI Vs EABI) at runtime as well but it requires a bit more 
> change as for now this switch relies heavily on macros.

Note that OABI is probably not interesting anymore at this point;
support for OABI will progressively be removed, so likely not worth
targeting in a compiler right now.

BTW you mention TCC uses VFP instructions: note that usage of VFP
instructions is not equal to ABI; that is, you may use soft-float
calling conventions while using VFP instructions between calls.  In fact
you may even use hard-float calling conventions in a soft-float library
/ binary as long as you're calling into the same compiled code and not
calling into another object.

GCC offers these three options to distinguish the use cases:
* hardfp: might use VFP depending on optimization levels; always calls
  functions in other object files with hard-float calling conventions
  but might call with soft-float calling conventions within the same
  object
* soft: never uses VFP, always calls functions with soft-float calling
  conventions
* softfp: might use VFP, always calls functions in other object files
  with soft-float calling conventions but might call with hard-float
  calling conventions within the same object

And it allows selecting the VFP level independently.

> You must realize that the manpower on tcc is quite small so we are limited in 
> what we can add to tcc. I myself have been more versed in bug fixing as they 
> are many.

Understood  :-)

    Cheers and happy new year!
-- 
Loïc Minier


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to