Unknown EABI object attribute 44

Showing 1-4 of 4 messages
Unknown EABI object attribute 44 Andreas Falkenhahn 9/22/12 9:10 AM

Hi,

I've recently upgraded to NDK r8b and when linking my object files into
a *.so shared object, I'm now getting the following warning from ld:

Warning:
/android-ndk-r8b/platforms/android-9/arch-arm/usr/lib/crtend_so.o:
Unknown EABI object attribute 44

The resulting shared object works fine, though. Still, I'm wondering if
this warning is something I should worry about?

I build for Android using custom makefiles, not via the official build
system. I'm using gcc 4.4.3 instead of 4.6 because 4.6 has a bug that
prevents me from compiling my project with it. Thus, I have to use
4.4.3. Could this be the reason for this warning, i.e. that crtend_so.o
maybe has been compiled with 4.6 and now I'm linking it against objects
compiled with 4.4.3? This is the only explanation I can come up with...

Any comments?

Tks,

Andreas
Re: Unknown EABI object attribute 44 David Given 9/22/12 9:41 AM
On 22/09/12 17:10, Andreas Falkenhahn wrote:
[...]
> Warning:
> /android-ndk-r8b/platforms/android-9/arch-arm/usr/lib/crtend_so.o:
> Unknown EABI object attribute 44
>
> The resulting shared object works fine, though. Still, I'm wondering if
> this warning is something I should worry about?

IIRC attribute 44 tells the toolchain whether the compiler uses the DIV
instruction or not. (Some architectures don't support it.) The toolchain
you're using doesn't understand the attribute and is ignoring it.

Later versions of gcc still don't understand it, but they do know that
attribute 44 is important and will flatly refuse to process files with
the attribute. You'll see 'Unknown mandatory EABI object attribute 44'
instead, which is an error.

We got round this issue by using the Android toolchain for everything,
but you've said you can't do that, so I don't know what I can suggest,
I'm afraid.

--
┌─── dg@cowlark.com ───── http://www.cowlark.com ─────

│ life←{ ↑1 ⍵∨.^3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵ }
│ --- Conway's Game Of Life, in one line of APL

Re: Unknown EABI object attribute 44 Andreas Falkenhahn 9/23/12 7:35 AM
The error I'm getting from gcc 4.6 when trying to compile my sources is
this one:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44557

I've now managed to rewrite my code a little so that the error is no
longer triggered. Thus, I'm able to compile with 4.6 now which makes the
linker warning "Unknown EABI object attribute 44" disappear. So that's good.

Still, I'm wondering why the crtend_so.o of the Android NDK is not
compatible with gcc 4.4.3 because according to the docs 4.4.3 is still
officially supported.
Re: Unknown EABI object attribute 44 Bikash Bag 11/20/13 12:05 AM
Hii Andreas,

What changes u did to compile with gcc 4.6?

Regards,
Bikash