summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Tyser <ptyser@xes-inc.com>2010-09-12 17:38:49 -0500
committerWolfgang Denk <wd@denx.de>2010-10-12 22:47:03 +0200
commitc91d456c055237bdadb99a80e198748b8cf32595 (patch)
tree2b3f8a3c4c987786630a45d745766f81136fa481
parent92d1a400bc9708efe83918cfc61f3f34acf8a1b1 (diff)
downloadu-boot-c91d456c055237bdadb99a80e198748b8cf32595.tar.gz
u-boot-c91d456c055237bdadb99a80e198748b8cf32595.tar.bz2
u-boot-c91d456c055237bdadb99a80e198748b8cf32595.zip
examples/standalone: Use gcc's -fno-toplevel-reorder
Using -fno-toplevel-reorder causes gcc to not reorder functions. This ensures that an application's entry point will be the first function in the application's source file. This change, along with commit 620bbba524fbaa26971a5004793010b169824f1b should cause a standalone application's entry point to be at the base of the compiled binary. Previously, the entry point could change depending on gcc version and flags. Note -fno-toplevel-reorder is only available in gcc version 4.2 or greater. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
-rw-r--r--examples/standalone/Makefile5
1 files changed, 5 insertions, 0 deletions
diff --git a/examples/standalone/Makefile b/examples/standalone/Makefile
index 5f1f800807..c2dd514d93 100644
--- a/examples/standalone/Makefile
+++ b/examples/standalone/Makefile
@@ -82,6 +82,11 @@ CFLAGS := $(filter-out $(RELFLAGS),$(CFLAGS))
CPPFLAGS := $(filter-out $(RELFLAGS),$(CPPFLAGS))
endif
+# We don't want gcc reordering functions if possible. This ensures that an
+# application's entry point will be the first function in the application's
+# source file.
+CFLAGS += $(call cc-option,-fno-toplevel-reorder)
+
all: $(obj).depend $(OBJS) $(LIB) $(SREC) $(BIN) $(ELF)
#########################################################################