On Sat, Mar 25, 2006 at 01:21:00PM -0800, Marc Singer wrote:
>   The change of the zero_unbind and eth_unbind calls to use __exit
>   breaks the driver on ARM.  It causes a difficult to locate error:
> 
>   LD      .tmp_vmlinux1
> local symbol 0: discarded in section `.exit.text' from drivers/built-in.o
> drivers/built-in.o(.init.text+0x3880): In function `release_mem':
> drivers/char/tty_io.c:1690: relocation truncated to fit: R_ARM_PC24 .exit.text
> make: *** [.tmp_vmlinux1] Error 1
> 
>   or a variant.  My understanding is that this doesn't work because
>   the section where this function is stored has become discardable.
> 
>   With this change, the gadget driver is unlinkable on my target, and
>   I suspect is broken on ARMs as well, but I haven't verified that.
> 
>   On ARM, .exit.text is marked discardable:
> 
>       /DISCARD/ : {                   /* Exit code and data           */
>               *(.exit.text)
>               *(.exit.data)
>               *(.exitcall.exit)
>       }
> 
>   I'll post to lak to see what they think.  I don't see why this
>   would be the case.

I think I was a little off base with this.  The problem, apparently,
is that bind () calls unbind () which is not allowed when unbind is in
the exit section.


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to