Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Thread

GNU library permutations

GNU library permutations

2005-08-03 by dave_baker_100

Hi,

Could someone offer a definative description of the permutations of 
the available GNU ARM libraries. 

The GNUARM 4.0 folder tree for libxxx.a is as follows:

lib
  arm
  fpu
    interwork
    nofmult
  interwork
  nofmult
  thumb
  interwork

I have the following questions:

1) What libraries do I specify to the linker if I have a mixture of 
ARM, Thumb and floating point function calls ? 

2) Does the linker know what format a function is and thus know what 
library to call ? 

3) If I specify -mthumb-interwork to the compiler for a source file (c 
or assembler) what does this do to function calls - does it add extra 
code to it or mark the functions in that file as inter-arm/thumb 
function calls ?

Thanks in advance
Dave

Re: [lpc2000] GNU library permutations

2005-08-04 by DECwiz (Fred van Kempen)

Dave,
 
If you ONLY have thumb code, use the THUMB tree.
 
     -L..../thumb -lgcc
 
If you ONLY have arm code, us ethe ARM tree.
 
    -L .../arm -lgcc
 
If you have BOTH in your project, you need the INTERWORK "tree".
 
    -L .../interwork -lgcc
 
That's for the C code and lowlevel ASM startup files.
 
If you HAVE an FPU, you *can* use the FP library to force some of
the library code into the FP library.  This is optional, as the default
will also work (by emulating some FP stuff in software.)  Using the
above approach, select the correct FP directory, and link the library
from there (-lfp)
 
Cheers,
 
Fred
 

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

[Non-text portions of this message have been removed]

Re: GNU library permutations

2005-08-04 by dave_baker_100

Thanks Fred,

I have another couple of questions that you might be able to answer:

1) what is the difference between the lib\arm\interwork and 
lib\thumb\interwork libraries ?

2) if I specify -mthumb-interwork to the compiler/assembler for a 
source file, what does this do to functions in that file e.g. does it 
add extra code to it or mark them as inter-arm/thumb calls ?

Many thanks
Dave

--- In lpc2000@yahoogroups.com, "DECwiz \(Fred van Kempen\)" 
<decwiz@y...> wrote:
> Dave,
>  
> If you ONLY have thumb code, use the THUMB tree.
>  
>      -L..../thumb -lgcc
>  
> If you ONLY have arm code, us ethe ARM tree.
>  
>     -L .../arm -lgcc
>  
> If you have BOTH in your project, you need the INTERWORK "tree".
>  
>     -L .../interwork -lgcc
>  
> That's for the C code and lowlevel ASM startup files.
>  
> If you HAVE an FPU, you *can* use the FP library to force some of
> the library code into the FP library.  This is optional, as the 
default
> will also work (by emulating some FP stuff in software.)  Using the
> above approach, select the correct FP directory, and link the 
library
Show quoted textHide quoted text
> from there (-lfp)
>  
> Cheers,
>  
> Fred
>  
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> 
> [Non-text portions of this message have been removed]

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.