All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] P2041RDB: gcc 4.8.2/binutils 2.23.1 default to new GOT table layout
@ 2014-02-10 15:19 Joerg Albert
  2014-02-12 23:24 ` Scott Wood
  0 siblings, 1 reply; 2+ messages in thread
From: Joerg Albert @ 2014-02-10 15:19 UTC (permalink / raw)
  To: u-boot

Hi,

I've recently compiled U-Boot (fsl-sdk-v1.3.2) for P2041RDB and had a
problem with ARP requests flooding if the peer was not there.
It turned out that NetArpWaitTimerStart was not relocated to RAM, but
remained in flash, so it couldn't be updated.

Looking at the global offset table, it looks like the linker generates (by
default) a new layout, without _GLOBAL_OFFSET_TABLE_ [-1] == blrl (as
required by the EABI) and NetArpWaitTimerStart is the entry at
_GLOBAL_OFFSET_TABLE_ [-1].
u-boot.lds still assumes the blrl in the GOT.

Putting a

LDFLAGS_FINAL += --bss-plt

into board/freescale/p2041rdb/config.mk

brought the blrl instruction in the GOT back and solved the ARP problem.

I compiled v2014.01-116-g0c57033 for P2041RDB without --bss-plt and the blrl
was missing in the GOT as well.

--bss-plt is rarely documented, will it cause some other problems?

Are gcc 4.8.x and binutils 2.23.1 recommended to use with U-Boot or shall we
stick to older versions?

Regards,
Joerg

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [U-Boot] P2041RDB: gcc 4.8.2/binutils 2.23.1 default to new GOT table layout
  2014-02-10 15:19 [U-Boot] P2041RDB: gcc 4.8.2/binutils 2.23.1 default to new GOT table layout Joerg Albert
@ 2014-02-12 23:24 ` Scott Wood
  0 siblings, 0 replies; 2+ messages in thread
From: Scott Wood @ 2014-02-12 23:24 UTC (permalink / raw)
  To: u-boot

On Mon, 2014-02-10 at 15:19 +0000, Joerg Albert wrote:
> Hi,
> 
> I've recently compiled U-Boot (fsl-sdk-v1.3.2) for P2041RDB and had a
> problem with ARP requests flooding if the peer was not there.
> It turned out that NetArpWaitTimerStart was not relocated to RAM, but
> remained in flash, so it couldn't be updated.
> 
> Looking at the global offset table, it looks like the linker generates (by
> default) a new layout, without _GLOBAL_OFFSET_TABLE_ [-1] == blrl (as
> required by the EABI) and NetArpWaitTimerStart is the entry at
> _GLOBAL_OFFSET_TABLE_ [-1].
> u-boot.lds still assumes the blrl in the GOT.
> 
> Putting a
> 
> LDFLAGS_FINAL += --bss-plt

Do you mean -mbss-plt?

> into board/freescale/p2041rdb/config.mk
> 
> brought the blrl instruction in the GOT back and solved the ARP problem.
> 
> I compiled v2014.01-116-g0c57033 for P2041RDB without --bss-plt and the blrl
> was missing in the GOT as well.
> 
> --bss-plt is rarely documented, will it cause some other problems?
> 
> Are gcc 4.8.x and binutils 2.23.1 recommended to use with U-Boot or shall we
> stick to older versions?

For the SDK U-Boot, it's best to use the toolchain that came with the
SDK.

For mainline U-Boot, please submit a patch.

-Scott

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-02-12 23:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-10 15:19 [U-Boot] P2041RDB: gcc 4.8.2/binutils 2.23.1 default to new GOT table layout Joerg Albert
2014-02-12 23:24 ` Scott Wood

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.