This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


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: Where does __sdivsi3_i4 come from?


Hi,

Did you check that you are correctly linking against libgcc? IIRC, these symbs are used by libgcc to emulate math hardware instructions (yours should be about division, obviously) if they are not found on a certain architecture.

Hopes that helps,

Vincent

kernel-hacker@bennee.com wrote:

Hi,

I'm currently porting the isp1161 usb driver to my SH kernel and I've
come across a bizare symbol problem.

When I try to insmod the compiled module I get the following error:

root@192.168.0.230:/test# insmod hc_isp116x.o
hc_isp116x.o: unresolved symbol __sdivsi3_i4

I can get the line to disappear by commenting out the function call, but
I have no idea what causes it as the function is currently NULL and
called from three other places in the code without causing the failure.
If looked at the .s output put asside from seeing the function call made
I can't figure out what line of code is causing this.


I did some grepping in the kernel and found this

./arch/sh/kernel/sh_ksyms.c:DECLARE_EXPORT(__sdivsi3);

with the comment that:
/* These symbols are generated by the compiler itself */

So far googling hasn't enlightend me. Anyone got any ideas? Appologies
for the gratuitous cross-posting but I'm unsure if this is a gcc or sh
issue.



------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


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