mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03: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:
@@ -23,4 +23,4 @@
|
||||
|
||||
PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi -fno-strict-aliasing
|
||||
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_74xx_7xx -ffixed-r2 -ffixed-r29 -mstring
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_74xx_7xx -ffixed-r2 -mstring
|
||||
|
||||
@@ -22,4 +22,4 @@
|
||||
PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi
|
||||
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_MPC512X -DCONFIG_E300 \
|
||||
-ffixed-r2 -ffixed-r29 -msoft-float -mcpu=603e
|
||||
-ffixed-r2 -msoft-float -mcpu=603e
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi
|
||||
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_5xx -ffixed-r2 -ffixed-r29 -mpowerpc -msoft-float
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_5xx -ffixed-r2 -mpowerpc -msoft-float
|
||||
|
||||
# Use default linker script. Board port can override in board/*/config.mk
|
||||
LDSCRIPT := $(SRCTREE)/cpu/mpc5xx/u-boot.lds
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi
|
||||
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_MPC5xxx -ffixed-r2 -ffixed-r29 \
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_MPC5xxx -ffixed-r2 \
|
||||
-mstring -mcpu=603e -mmultiple
|
||||
|
||||
# Use default linker script. Board port can override in board/*/config.mk
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi
|
||||
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_MPC8220 -ffixed-r2 -ffixed-r29 \
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_MPC8220 -ffixed-r2 \
|
||||
-mstring -mcpu=603e -mmultiple
|
||||
|
||||
# Use default linker script. Board port can override in board/*/config.mk
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi -fno-strict-aliasing
|
||||
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_MPC824X -ffixed-r2 -ffixed-r29 -mstring -mcpu=603e -msoft-float
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_MPC824X -ffixed-r2 -mstring -mcpu=603e -msoft-float
|
||||
|
||||
# Use default linker script. Board port can override in board/*/config.mk
|
||||
LDSCRIPT := $(SRCTREE)/cpu/mpc824x/u-boot.lds
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi
|
||||
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_8260 -DCONFIG_CPM2 -ffixed-r2 -ffixed-r29 \
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_8260 -DCONFIG_CPM2 -ffixed-r2 \
|
||||
-mstring -mcpu=603e -mmultiple
|
||||
|
||||
# Use default linker script. Board port can override in board/*/config.mk
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi
|
||||
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_MPC83XX -DCONFIG_E300 \
|
||||
-ffixed-r2 -ffixed-r29 -msoft-float
|
||||
-ffixed-r2 -msoft-float
|
||||
|
||||
# Use default linker script. Board port can override in board/*/config.mk
|
||||
LDSCRIPT := $(SRCTREE)/cpu/mpc83xx/u-boot.lds
|
||||
|
||||
@@ -23,4 +23,5 @@
|
||||
|
||||
PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi
|
||||
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_MPC85xx -DCONFIG_E500 -ffixed-r2 -ffixed-r29 -Wa,-me500 -msoft-float -mno-string
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_MPC85xx -DCONFIG_E500 -ffixed-r2 \
|
||||
-Wa,-me500 -msoft-float -mno-string
|
||||
|
||||
@@ -23,4 +23,4 @@
|
||||
|
||||
PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi
|
||||
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_MPC86xx -ffixed-r2 -ffixed-r29 -mstring
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_MPC86xx -ffixed-r2 -mstring
|
||||
|
||||
@@ -723,7 +723,7 @@ relocate_code:
|
||||
|
||||
mr r1, r3 /* Set new stack pointer */
|
||||
mr r9, r4 /* Save copy of Global Data pointer */
|
||||
mr r29, r9 /* Save for DECLARE_GLOBAL_DATA_PTR */
|
||||
mr r2, r9 /* Save for DECLARE_GLOBAL_DATA_PTR */
|
||||
mr r10, r5 /* Save copy of Destination Address */
|
||||
|
||||
mr r3, r5 /* Destination Address */
|
||||
|
||||
@@ -23,4 +23,4 @@
|
||||
|
||||
PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi -fno-strict-aliasing
|
||||
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_8xx -ffixed-r2 -ffixed-r29 -mstring -mcpu=860 -msoft-float
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_8xx -ffixed-r2 -mstring -mcpu=860 -msoft-float
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#
|
||||
|
||||
PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi -fno-strict-aliasing
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_4xx -ffixed-r2 -ffixed-r29 -mstring -msoft-float
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_4xx -ffixed-r2 -mstring -msoft-float
|
||||
|
||||
cfg=$(shell grep configs $(OBJTREE)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
|
||||
is440=$(shell grep CONFIG_440 $(TOPDIR)/include/$(cfg))
|
||||
|
||||
Reference in New Issue
Block a user