nios2: link to CONFIG_SYS_MONITOR_BASE and remove text_base hook
authorThomas Chou <thomas@wytron.com.tw>
Thu, 28 Aug 2014 09:29:06 +0000 (17:29 +0800)
committerThomas Chou <thomas@wytron.com.tw>
Sat, 30 Aug 2014 09:48:43 +0000 (17:48 +0800)
This patch changes the link script to base at CONFIG_SYS_MONITOR_BASE.
Then we can remove the text_base hook in nios2-generic board.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
arch/nios2/cpu/u-boot.lds
board/altera/nios2-generic/Makefile
board/altera/nios2-generic/nios2-generic.c
board/altera/nios2-generic/text_base.S [deleted file]
board/altera/nios2-generic/u-boot.lds [deleted file]

index be92e8edfc370a7d98a1b81ae2a2798b35b751c4..6e174be2c0c19ae41e04b3727d24cc86bef548e0 100644 (file)
@@ -5,6 +5,7 @@
  * SPDX-License-Identifier:    GPL-2.0+
  */
 
+#include <config.h>
 
 OUTPUT_FORMAT("elf32-littlenios2")
 OUTPUT_ARCH(nios2)
@@ -12,6 +13,7 @@ ENTRY(_start)
 
 SECTIONS
 {
+       . = CONFIG_SYS_MONITOR_BASE;
        .text :
        {
          arch/nios2/cpu/start.o (.text)
index d3c5b43d9b37452310eb93a82d87db90ddfa48ed..5e4192c1e7776a7f0f5465eeffa4143f94700495 100644 (file)
@@ -8,4 +8,3 @@
 
 obj-y  := nios2-generic.o
 obj-$(CONFIG_CMD_IDE) += ../common/cfide.o
-obj-y  += text_base.o
index 5ab9471246e7fdb48ef2c3f1d511ad071e636da3..834cbeb2d5e7396827ff9656db3c1f3eae059609 100644 (file)
@@ -14,8 +14,6 @@
 #include <asm/io.h>
 #include <asm/gpio.h>
 
-void text_base_hook(void); /* nop hook for text_base.S */
-
 #if defined(CONFIG_ENV_IS_IN_FLASH) && defined(CONFIG_ENV_ADDR) && \
     defined(CONFIG_CFI_FLASH_MTD)
 static void __early_flash_cmd_reset(void)
@@ -30,7 +28,6 @@ void early_flash_cmd_reset(void)
 
 int board_early_init_f(void)
 {
-       text_base_hook();
 #ifdef CONFIG_ALTERA_PIO
 #ifdef LED_PIO_BASE
        altera_pio_init(LED_PIO_BASE, LED_PIO_WIDTH, 'o',
diff --git a/board/altera/nios2-generic/text_base.S b/board/altera/nios2-generic/text_base.S
deleted file mode 100644 (file)
index f236db1..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * text_base
- *
- * (C) Copyright 2010, Thomas Chou <thomas@wytron.com.tw>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-#include <config.h>
-
-#ifdef CONFIG_SYS_MONITOR_BASE
-       .text
-       /* text base used in link script u-boot.lds */
-       .global text_base
-       .equ text_base,CONFIG_SYS_MONITOR_BASE
-       /* dummy func to let linker include this file */
-       .global text_base_hook
-text_base_hook:
-       ret
-#endif
diff --git a/board/altera/nios2-generic/u-boot.lds b/board/altera/nios2-generic/u-boot.lds
deleted file mode 100644 (file)
index e35fae5..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * (C) Copyright 2004, Psyent Corporation <www.psyent.com>
- * Scott McNutt <smcnutt@psyent.com>
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-
-OUTPUT_FORMAT("elf32-littlenios2")
-OUTPUT_ARCH(nios2)
-ENTRY(_start)
-
-SECTIONS
-{
-       . = text_base;
-       .text :
-       {
-         arch/nios2/cpu/start.o (.text)
-         *(.text)
-         *(.text.*)
-         *(.gnu.linkonce.t*)
-         *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-         *(.gnu.linkonce.r*)
-       }
-       . = ALIGN (4);
-       _etext = .;
-       PROVIDE (etext = .);
-
-       /* CMD TABLE - sandwich this in between text and data so
-        * the initialization code relocates the command table as
-        * well -- admittedly, this is just pure laziness ;-)
-        */
-
-       . = ALIGN(4);
-       .u_boot_list : {
-               KEEP(*(SORT(.u_boot_list*)));
-       }
-
-       /* INIT DATA sections - "Small" data (see the gcc -G option)
-        * is always gp-relative. Here we make all init data sections
-        * adjacent to simplify the startup code -- and provide
-        * the global pointer for gp-relative access.
-        */
-       _data = .;
-       .data :
-       {
-         *(.data)
-         *(.data.*)
-         *(.gnu.linkonce.d*)
-       }
-
-       . = ALIGN(16);
-       _gp = .;                        /* Global pointer addr */
-       PROVIDE (gp = .);
-
-       .sdata :
-       {
-         *(.sdata)
-         *(.sdata.*)
-         *(.gnu.linkonce.s.*)
-       }
-       . = ALIGN(4);
-
-       _edata = .;
-       PROVIDE (edata = .);
-
-       /* UNINIT DATA - Small uninitialized data is first so it's
-        * adjacent to sdata and can be referenced via gp. The normal
-        * bss follows. We keep it adjacent to simplify init code.
-        */
-       __bss_start = .;
-       .sbss (NOLOAD) :
-       {
-         *(.sbss)
-         *(.sbss.*)
-         *(.gnu.linkonce.sb.*)
-         *(.scommon)
-       }
-       . = ALIGN(4);
-       .bss (NOLOAD) :
-       {
-         *(.bss)
-         *(.bss.*)
-         *(.dynbss)
-         *(COMMON)
-         *(.scommon)
-       }
-       . = ALIGN(4);
-       __bss_end = .;
-       PROVIDE (end = .);
-
-       /* DEBUG -- symbol table, string table, etc. etc.
-        */
-       .stab 0 : { *(.stab) }
-       .stabstr 0 : { *(.stabstr) }
-       .stab.excl 0 : { *(.stab.excl) }
-       .stab.exclstr 0 : { *(.stab.exclstr) }
-       .stab.index 0 : { *(.stab.index) }
-       .stab.indexstr 0 : { *(.stab.indexstr) }
-       .comment 0 : { *(.comment) }
-       .debug          0 : { *(.debug) }
-       .line           0 : { *(.line) }
-       .debug_srcinfo  0 : { *(.debug_srcinfo) }
-       .debug_sfnames  0 : { *(.debug_sfnames) }
-       .debug_aranges  0 : { *(.debug_aranges) }
-       .debug_pubnames 0 : { *(.debug_pubnames) }
-       .debug_info     0 : { *(.debug_info) }
-       .debug_abbrev   0 : { *(.debug_abbrev) }
-       .debug_line     0 : { *(.debug_line) }
-       .debug_frame    0 : { *(.debug_frame) }
-       .debug_str      0 : { *(.debug_str) }
-       .debug_loc      0 : { *(.debug_loc) }
-       .debug_macinfo  0 : { *(.debug_macinfo) }
-       .debug_weaknames 0 : { *(.debug_weaknames) }
-       .debug_funcnames 0 : { *(.debug_funcnames) }
-       .debug_typenames 0 : { *(.debug_typenames) }
-       .debug_varnames  0 : { *(.debug_varnames) }
-}