[U-Boot] [PATCH RFC] Fix build problems caused by "_end" -> "__bss_end__" rename

Wolfgang Denk
2011-03-28T10:25:38Z

Dear Po-Yu Chuang,

In message <AANLkTik-a8oL2CEnb3wf43uwd0r0MGCy8Nnu5DmTWwzw@mail.gmail.com> you wrote:
>
> > No, I mean exactly what I wrote. On PPC I do not see any _end (with
> > your previous patch), only the symbols defined in the linker script.
>
> All those symbols come from default linker script in one of
> ${toolchain}/arm-none-linux-gnueabi/lib/ldscripts/armelfb_linux_eabi.*.
>
> It defines __bss_start, __bss_start__, _bss_end__ and __bss_end__.
> Is ARM the only platform doing this?

No. Not even ARM is doing this in general. It's your specific tool
chain that does it this way.

It appears that ARM has both *bss_start* and *bss_end*, while PPC has
only __bss_start (and __sbss_start and ___sbss_start), but no
*bss_end (there are __sbss_end and ___sbss_end, though).

I have no idea if there is any rationale for this inconsistency or if
it's a bug.

Verified with both ELDK 4.2 and recent Yocto/Poky tool chains.

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
I think there's a world market for about five computers.
-- attr. Thomas J. Watson (Chairman of the Board, IBM), 1943