9
0
Fork 0

tegra: disable more lowlevel unsafe switch optimizations

fno-jump-tables isn't enough to guard against
gcc switch optimizations that are unsafe to use
in code that runs before relocation.

The switch-tree-conversion opt pass may generate
lookup tables that are placed in the data section
and accessed via absolute adressing, which fails
prior to relocation.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Lucas Stach 2014-04-13 15:27:33 +02:00 committed by Sascha Hauer
parent 47ed904495
commit bd4cbd927c
3 changed files with 16 additions and 4 deletions

View File

@ -1,2 +1,4 @@
CFLAGS_pbl-entry.o := -mcpu=arm7tdmi -march=armv4t
CFLAGS_pbl-entry.o := \
-mcpu=arm7tdmi -march=armv4t \
-fno-tree-switch-conversion -fno-jump-tables
lwl-y += entry.o

View File

@ -1,3 +1,5 @@
CFLAGS_pbl-entry.o := -mcpu=arm7tdmi -march=armv4t
CFLAGS_pbl-entry.o := \
-mcpu=arm7tdmi -march=armv4t \
-fno-tree-switch-conversion -fno-jump-tables
lwl-y += entry.o
obj-y += board.o

View File

@ -1,5 +1,13 @@
CFLAGS_tegra_avp_init.o := -mcpu=arm7tdmi -march=armv4t -fno-jump-tables
CFLAGS_pbl-tegra_avp_init.o := -mcpu=arm7tdmi -march=armv4t -fno-jump-tables
CFLAGS_tegra_avp_init.o := \
-mcpu=arm7tdmi -march=armv4t \
-fno-tree-switch-conversion -fno-jump-tables
CFLAGS_pbl-tegra_avp_init.o := \
-mcpu=arm7tdmi -march=armv4t \
-fno-tree-switch-conversion -fno-jump-tables
CFLAGS_tegra_maincomplex_init.o := \
-fno-tree-switch-conversion -fno-jump-tables
CFLAGS_pbl-tegra_maincomplex_init.o := \
-fno-tree-switch-conversion -fno-jump-tables
lwl-y += tegra_avp_init.o
lwl-y += tegra_maincomplex_init.o
obj-y += tegra20.o