[U-Boot] [PATCH] powerpc: Minimal private libgcc to build on Debian
Wolfgang Denk
wd at denx.de
Wed Dec 7 23:11:23 CET 2011
Dear Kyle Moffett,
In message <1318972602-3352-1-git-send-email-Kyle.D.Moffett at boeing.com> you wrote:
> Standard Debian powerpc and powerpcspe systems only include hard-float
> libgcc in their native compilers, which causes scary build warnings when
> building U-Boot.
>
> While U-Boot does not use floating point at all, it is perfectly legal
> for a hard-float libgcc to use features of the floating point unit to
> implement 64-bit divides and shifts. Since U-Boot does not set up the
> floating point unit or initialize the registers, that could cause
> crashes or other misbehavior.
>
> In particular, on e500 systems with SPE extensions, a "hard-float"
> libgcc might use the top half of the "extended" 64-bit registers for
> various 64-bit shifts and other operations, which is probably unsafe.
>
> To avoid a dependency on "nof" (IE: soft-float) libgcc provided by the
> system toolchain, U-Boot should be able to provide its own copies of the
> necessary routines just like the Linux kernel does. In particular, this
> resolves build failures on native Debian PowerPC systems which no longer
> provide any soft-float libraries in the system toolchain.
>
> This patch provides an implementation of USE_PRIVATE_LIBGCC=yes from the
> Linux Kernel that matches what the ARM architecture implements in
> assembly files in arch/arm/lib/*.S
>
> Specifically, the routines are: _ashldi3(), _ashrdi3(), and _lshrdi3().
> They were borrowed from arch/powerpc/kernel/misc_32.S as of v2.6.38-rc5,
> commit 85e2efbb1db9a18d218006706d6e4fbeb0216213, and are GPLv2+.
>
> The Makefile framework was copied from the U-Boot ARM port.
>
> Signed-off-by: Kyle Moffett <Kyle.D.Moffett at boeing.com>
> Cc: Wolfgang Denk <wd at denx.de>
> Cc: Kim Phillips <kim.phillips at freescale.com>
> Cc: Andy Fleming <afleming at gmail.com>
> Cc: Kumar Gala <kumar.gala at freescale.com>
> Cc: Stefan Roese <sr at denx.de>
>
> ---
>
> I believe I have addressed all of the previous questions regarding
> this patch with an updated commit message. Can this be merged?
>
> Cheers,
> Kyle Moffett
>
> --
> Curious about my work on the Debian powerpcspe port?
> I'm keeping a blog here: http://pureperl.blogspot.com/
> ---
> arch/powerpc/lib/Makefile | 23 ++++++++++++++++++++-
> arch/powerpc/lib/_ashldi3.S | 45 +++++++++++++++++++++++++++++++++++++++++
> arch/powerpc/lib/_ashrdi3.S | 47 +++++++++++++++++++++++++++++++++++++++++++
> arch/powerpc/lib/_lshrdi3.S | 45 +++++++++++++++++++++++++++++++++++++++++
> 4 files changed, 159 insertions(+), 1 deletions(-)
> create mode 100644 arch/powerpc/lib/_ashldi3.S
> create mode 100644 arch/powerpc/lib/_ashrdi3.S
> create mode 100644 arch/powerpc/lib/_lshrdi3.S
Applied, thanks.
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
Marriage is the triumph of imagination over intelligence. Second
marriage is the triumph of hope over experience.
More information about the U-Boot
mailing list