u-boot-brain/arch
Kyle Moffett 01baa05643 powerpc: Minimal private libgcc to build on Debian
Standard Debian powerpc and powerpcspe systems only include hard-float
libgcc in their native compilers, which causes scary build warnings when
building U-Boot.

Debian and other PowerPC-supporting distributions used to provide libgcc
and other libraries in a "nof" (soft-float) form in the "multilib"
packages.  As they were completely unused by the distribution and
therefore tended to be very buggy it was decided to save some time on
the part of the maintainers and build-servers by removing them.

Admittedly, right now the linker warnings do not indicate any problems,
as the included routines do not use any floating point at all.

The concern is that if floating-point code were ever added it might
cause hard-float code to be unexpectedly included in U-Boot without
generating a hard error.  This would cause unexplained crashes or
indeterminate results at runtime.

The easiest way to resolve this is to borrow the routines that U-Boot
needs from the Linux kernel, which has the same issue.

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@boeing.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Kim Phillips <kim.phillips@freescale.com>
Cc: Andy Fleming <afleming@gmail.com>
Cc: Kumar Gala <kumar.gala@freescale.com>
Cc: Stefan Roese <sr@denx.de>
2011-12-07 23:04:32 +01:00
..
arm arch/arm/include/asm/arch-omap5/clocks.h: Fix GCC 4.2 warnings 2011-12-06 23:59:40 +01:00
avr32 avr32: Use getenv_ulong() in place of getenv(), strtoul 2011-10-23 23:33:17 +02:00
blackfin Blackfin: cache result of cpp check 2011-11-18 22:13:26 -05:00
m68k m68k: fix ambiguous bit testing 2011-12-05 21:55:25 +01:00
microblaze microblaze: Fix strict-aliasing rules for in_be32 2011-10-24 07:57:03 +02:00
mips mips: Use getenv_ulong() in place of getenv(), strtoul 2011-10-23 23:33:19 +02:00
nds32 nds32/ag101: clean up for SoC related code 2011-11-23 14:05:51 +08:00
nios2 nios2: Offer ft_board_setup() capability and call fdt_fixup_ethernet(). 2011-10-30 21:02:43 +08:00
powerpc powerpc: Minimal private libgcc to build on Debian 2011-12-07 23:04:32 +01:00
sandbox sandbox: drop unused return 2011-11-03 22:35:25 +01:00
sh sh: Add support Renesas SH7724 2011-12-02 13:46:21 +09:00
sparc sparc: fix unused variable warnings 2011-12-05 21:55:24 +01:00
x86 x86: Wrap small helper functions from libgcc to avoid an ABI mismatch 2011-11-29 21:31:24 +11:00
.gitignore update include/asm/ gitignore after move 2010-05-07 00:17:30 +02:00