This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ABI, I don't get it...


> On Aug 12, 2016, at 6:46 PM, ANDY KENNEDY <ANDY.KENNEDY@adtran.com> wrote:
> 
> ...
> ABI is incompatible with that of the selected emulation

I've run into that message all too often.  I no longer remember what is needed to cure it.  It's a pain in the neck, because the message gives no information and the solution tends to be obscure.

> ...
> with a toolchain that was supposedly 64-bit native, hard-float.  Why
> the floating point selection is soft, I cannot say.

Perhaps because some other MIPS64 machines don't have float?  The Sibyte series comes to mind.  We use soft-float for that reason, even though XLR and XLP do have it.

> ...
> Also, to answer another question from my other thread:  I have contacted
> Broadcom about the original toolchain.  I have requested copyright
> privileges from them, but have not received an answer on that one yet.
> I get the sinking feeling that the FAE that recently left took with him
> the only knowledge of how this processor works.

That could be.  It's also possible that they don't understand open source well enough.

> So, if I'm to get this working in the newer toolchain (assuming I get
> permissions) I'll beg each of your help to do it the "right way".
> ...
> --- my take on this is to build three int main () { return 0 ;} object
> files with -mabi={64,o32,n32} and then link EACH object file from our IP
> against each of these, to show which ones are being linked in with the
> wrong ABI.
> 1.a) Does it matter (speaking of ABI) on the hard/soft float?

Yes, at least in the sense that the supporting libraries obviously have to be different.  So if you want to cover all bases  you are looking at 6 flavors (8 if you include O64, which isn't really worth the trouble).

> 2) How can I determine whether an object file is built using hard-float
> ABI calls?  I know that the XLP has a HW FPU.

I think it shows up in the 32-bit MIPS-specific flags word that objdump can display, but I don't remember the meaning of the bits.  If they don't match that may be the issue, in other words, aim for them to match across all the object files you're linking together.

	paul


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]