1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-09-01 16:52:14 +02:00

PPC: Use r2 instead of r29 as global data pointer

R29 was an unlucky choice as with recent toolchains (gcc-4.2.x) gcc
will refuse to use load/store multiple insns; instead, it issues a
list of simple load/store instructions upon function entry and exit,
resulting in bigger code size, which in turn makes the build for a
few boards fail.

Use r2 instead.

Signed-off-by: Wolfgang Denk <wd@denx.de>
This commit is contained in:
Wolfgang Denk
2008-02-14 22:43:22 +01:00
parent 3c234efa69
commit e7670f6c1e
19 changed files with 24 additions and 23 deletions

View File

@@ -21,7 +21,7 @@ Design Notes on Exporting U-Boot Functions to Standalone Applications:
2. The pointer to the jump table is passed to the application in a
machine-dependent way. PowerPC, ARM and MIPS architectures use a
dedicated register to hold the pointer to the 'global_data'
structure: r29 on PowerPC, r8 on ARM and k0 on MIPS. The x86
structure: r2 on PowerPC, r8 on ARM and k0 on MIPS. The x86
architecture does not use such a register; instead, the pointer to
the 'global_data' structure is passed as 'argv[-1]' pointer.