<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Nicolas Pitre wrote:
<blockquote cite="mid:alpine.LFD.2.00.0812051657460.14328@xanadu.home"
 type="cite">
  <blockquote type="cite">
    <pre wrap="">Nicolas Pitre wrote:
    </pre>
    <blockquote type="cite">
      <pre wrap="">The section of code where the assembly optimization is doesn't need to 
call any other library functions, does it?  So you may have only the 
mdct code in ARM mode for example.
  
      </pre>
    </blockquote>
    <pre wrap="">That's what I would have thought, but it uses a few library routines
such as:

/usr/libexec/gcc/arm-elf/ld: /usr/lib/gcc/arm-elf/4.1.2/thumb/libgcc.a(_divsi3.o)(__divsi3): warning: interworking not enabled.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Gah.  That's the division support code.  Well you should really have a 
toolchain with thumb interworking enabled anyway.  Otherwise the code 
won't execute at all.


Nicolas
  </pre>
</blockquote>
<br>
Well, as far as I know I do. The problem is that my thumb libraries
don't have "interworking support". That is, they can't be called from
non-thumb code.<br>
<br>
This should be fine as long as I am careful to only compile functions
in ARM mode that don't call any library functions. As this only needs
to be functions using the assembly code, it should be possible.<br>
<br>
I'd like to recompile my libraries with interworking support too, but I
haven't yet found the option to do so. I've enabled multilib support in
my arm-gcc and will recompile newlib but I'm not sure if that will do
the trick. Hopefully I can make do without it but it would be nice to
have anyway.<br>
<br>
<br>
Nicholas<br>
<br>
</body>
</html>