From f303ce805abe78bcbab81704bc0d4ad4d0fb8d61 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 2 Mar 2016 02:22:04 -0300 Subject: uboot-mx6_cubox-i: add new package to [libre] --- .../remove_unnecessary_inits.patch | 818 --------------------- 1 file changed, 818 deletions(-) delete mode 100644 libre/uboot-cubox-i-linux-libre/remove_unnecessary_inits.patch (limited to 'libre/uboot-cubox-i-linux-libre/remove_unnecessary_inits.patch') diff --git a/libre/uboot-cubox-i-linux-libre/remove_unnecessary_inits.patch b/libre/uboot-cubox-i-linux-libre/remove_unnecessary_inits.patch deleted file mode 100644 index 8ab039177..000000000 --- a/libre/uboot-cubox-i-linux-libre/remove_unnecessary_inits.patch +++ /dev/null @@ -1,818 +0,0 @@ -From b60eff31f3bd71a6f14b6c6efc8ad5fb3705de6d Mon Sep 17 00:00:00 2001 -From: Albert ARIBAUD -Date: Sat, 22 Feb 2014 17:53:43 +0100 -Subject: [PATCH] arm: remove unneeded symbol offsets and _TEXT_BASE - -Remove the last uses of symbol offsets in ARM U-Boot. -Remove some needless uses of _TEXT_BASE. -Remove all _TEXT_BASE definitions. - -Signed-off-by: Albert ARIBAUD ---- - README | 6 ------ - arch/arm/cpu/arm1136/start.S | 27 --------------------------- - arch/arm/cpu/arm1176/start.S | 27 --------------------------- - arch/arm/cpu/arm720t/start.S | 26 -------------------------- - arch/arm/cpu/arm920t/start.S | 26 -------------------------- - arch/arm/cpu/arm926ejs/at91/lowlevel_init.S | 14 +------------- - arch/arm/cpu/arm926ejs/mxs/start.S | 27 --------------------------- - arch/arm/cpu/arm926ejs/start.S | 27 --------------------------- - arch/arm/cpu/arm946es/start.S | 26 -------------------------- - arch/arm/cpu/arm_intcm/start.S | 26 -------------------------- - arch/arm/cpu/armv7/omap3/lowlevel_init.S | 3 --- - arch/arm/cpu/armv7/start.S | 23 ----------------------- - arch/arm/cpu/pxa/start.S | 27 --------------------------- - arch/arm/cpu/sa1100/start.S | 26 -------------------------- - arch/arm/lib/board.c | 12 ++++++------ - board/armltd/integrator/lowlevel_init.S | 2 +- - board/cm4008/flash.c | 2 +- - board/cm41xx/flash.c | 2 +- - board/mpl/vcma9/lowlevel_init.S | 5 +---- - board/samsung/goni/lowlevel_init.S | 3 --- - board/samsung/smdk2410/lowlevel_init.S | 5 +---- - board/samsung/smdkc100/lowlevel_init.S | 3 --- - board/ti/omap5912osk/lowlevel_init.S | 4 ---- - common/board_f.c | 14 +++----------- - common/board_r.c | 4 ++-- - include/asm-generic/sections.h | 26 +++++++------------------- - 26 files changed, 24 insertions(+), 369 deletions(-) - -diff --git a/README b/README -index d4eb099..5b7dec9 100644 ---- a/README -+++ b/README -@@ -3707,12 +3707,6 @@ Configuration Settings: - its config.mk file). If you find problems enabling this option on - your board please report the problem and send patches! - --- CONFIG_SYS_SYM_OFFSETS -- This is set by architectures that use offsets for link symbols -- instead of absolute values. So bss_start is obtained using an -- offset _bss_start_ofs from CONFIG_SYS_TEXT_BASE, rather than -- directly. You should not need to touch this setting. -- - - CONFIG_OMAP_PLATFORM_RESET_TIME_MAX_USEC (OMAP only) - This is set by OMAP boards for the max time that reset should - be asserted. See doc/README.omap-reset-time for details on how -diff --git a/arch/arm/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S -index 00d1b30..3e2358e 100644 ---- a/arch/arm/cpu/arm1136/start.S -+++ b/arch/arm/cpu/arm1136/start.S -@@ -70,32 +70,6 @@ _end_vect: - ************************************************************************* - */ - --.globl _TEXT_BASE --_TEXT_BASE: --#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) -- .word CONFIG_SPL_TEXT_BASE --#else -- .word CONFIG_SYS_TEXT_BASE --#endif -- --/* -- * These are defined in the board-specific linker script. -- * Subtracting _start from them lets the linker put their -- * relative position in the executable instead of leaving -- * them null. -- */ --.globl _bss_start_ofs --_bss_start_ofs: -- .word __bss_start - _start -- --.globl _bss_end_ofs --_bss_end_ofs: -- .word __bss_end - _start -- --.globl _end_ofs --_end_ofs: -- .word _end - _start -- - #ifdef CONFIG_USE_IRQ - /* IRQ stack memory (calculated at run-time) */ - .globl IRQ_STACK_START -@@ -295,7 +269,6 @@ cpu_init_crit: - #ifdef CONFIG_SPL_BUILD - .align 5 - do_hang: -- ldr sp, _TEXT_BASE /* use 32 words about stack */ - bl hang /* hang and never return */ - #else /* !CONFIG_SPL_BUILD */ - .align 5 -diff --git a/arch/arm/cpu/arm1176/start.S b/arch/arm/cpu/arm1176/start.S -index ffd7dd0..ce62011 100644 ---- a/arch/arm/cpu/arm1176/start.S -+++ b/arch/arm/cpu/arm1176/start.S -@@ -77,33 +77,6 @@ _end_vect: - ************************************************************************* - */ - --.globl _TEXT_BASE --_TEXT_BASE: --#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) -- .word CONFIG_SPL_TEXT_BASE --#else -- .word CONFIG_SYS_TEXT_BASE --#endif -- --/* -- * These are defined in the board-specific linker script. -- * Subtracting _start from them lets the linker put their -- * relative position in the executable instead of leaving -- * them null. -- */ -- --.globl _bss_start_ofs --_bss_start_ofs: -- .word __bss_start - _start -- --.globl _bss_end_ofs --_bss_end_ofs: -- .word __bss_end - _start -- --.globl _end_ofs --_end_ofs: -- .word _end - _start -- - /* IRQ stack memory (calculated at run-time) + 8 bytes */ - .globl IRQ_STACK_START_IN - IRQ_STACK_START_IN: -diff --git a/arch/arm/cpu/arm720t/start.S b/arch/arm/cpu/arm720t/start.S -index f180eb8..1a34842 100644 ---- a/arch/arm/cpu/arm720t/start.S -+++ b/arch/arm/cpu/arm720t/start.S -@@ -67,32 +67,6 @@ _pad: .word 0x12345678 /* now 16*4=64 */ - ************************************************************************* - */ - --.globl _TEXT_BASE --_TEXT_BASE: --#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) -- .word CONFIG_SPL_TEXT_BASE --#else -- .word CONFIG_SYS_TEXT_BASE --#endif -- --/* -- * These are defined in the board-specific linker script. -- * Subtracting _start from them lets the linker put their -- * relative position in the executable instead of leaving -- * them null. -- */ --.globl _bss_start_ofs --_bss_start_ofs: -- .word __bss_start - _start -- --.globl _bss_end_ofs --_bss_end_ofs: -- .word __bss_end - _start -- --.globl _end_ofs --_end_ofs: -- .word _end - _start -- - #ifdef CONFIG_USE_IRQ - /* IRQ stack memory (calculated at run-time) */ - .globl IRQ_STACK_START -diff --git a/arch/arm/cpu/arm920t/start.S b/arch/arm/cpu/arm920t/start.S -index a67b659..7bf094a 100644 ---- a/arch/arm/cpu/arm920t/start.S -+++ b/arch/arm/cpu/arm920t/start.S -@@ -55,32 +55,6 @@ _fiq: .word fiq - ************************************************************************* - */ - --.globl _TEXT_BASE --_TEXT_BASE: --#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) -- .word CONFIG_SPL_TEXT_BASE --#else -- .word CONFIG_SYS_TEXT_BASE --#endif -- --/* -- * These are defined in the board-specific linker script. -- * Subtracting _start from them lets the linker put their -- * relative position in the executable instead of leaving -- * them null. -- */ --.globl _bss_start_ofs --_bss_start_ofs: -- .word __bss_start - _start -- --.globl _bss_end_ofs --_bss_end_ofs: -- .word __bss_end - _start -- --.globl _end_ofs --_end_ofs: -- .word _end - _start -- - #ifdef CONFIG_USE_IRQ - /* IRQ stack memory (calculated at run-time) */ - .globl IRQ_STACK_START -diff --git a/arch/arm/cpu/arm926ejs/at91/lowlevel_init.S b/arch/arm/cpu/arm926ejs/at91/lowlevel_init.S -index e83968f..a9ec81a 100644 ---- a/arch/arm/cpu/arm926ejs/at91/lowlevel_init.S -+++ b/arch/arm/cpu/arm926ejs/at91/lowlevel_init.S -@@ -26,27 +26,18 @@ - #define CONFIG_SYS_MATRIX_EBICSA_VAL CONFIG_SYS_MATRIX_EBI0CSA_VAL - #endif - --_TEXT_BASE: -- .word CONFIG_SYS_TEXT_BASE -- - .globl lowlevel_init - .type lowlevel_init,function - lowlevel_init: - -- mov r5, pc /* r5 = POS1 + 4 current */ - POS1: -+ adr r5, POS1 /* r5 = POS1 run time */ - ldr r0, =POS1 /* r0 = POS1 compile */ -- ldr r2, _TEXT_BASE -- sub r0, r0, r2 /* r0 = POS1-_TEXT_BASE (POS1 relative) */ - sub r5, r5, r0 /* r0 = CONFIG_SYS_TEXT_BASE-1 */ -- sub r5, r5, #4 /* r1 = text base - current */ - - /* memory control configuration 1 */ - ldr r0, =SMRDATA - ldr r2, =SMRDATA1 -- ldr r1, _TEXT_BASE -- sub r0, r0, r1 -- sub r2, r2, r1 - add r0, r0, r5 - add r2, r2, r5 - 0: -@@ -149,9 +140,6 @@ PLL_setup_end: - - ldr r0, =SMRDATA1 - ldr r2, =SMRDATA2 -- ldr r1, _TEXT_BASE -- sub r0, r0, r1 -- sub r2, r2, r1 - add r0, r0, r5 - add r2, r2, r5 - 2: -diff --git a/arch/arm/cpu/arm926ejs/mxs/start.S b/arch/arm/cpu/arm926ejs/mxs/start.S -index 5de2bad..34a0fcb 100644 ---- a/arch/arm/cpu/arm926ejs/mxs/start.S -+++ b/arch/arm/cpu/arm926ejs/mxs/start.S -@@ -101,32 +101,6 @@ fiq: - ************************************************************************* - */ - --.globl _TEXT_BASE --_TEXT_BASE: --#ifdef CONFIG_SPL_TEXT_BASE -- .word CONFIG_SPL_TEXT_BASE --#else -- .word CONFIG_SYS_TEXT_BASE --#endif -- --/* -- * These are defined in the board-specific linker script. -- * Subtracting _start from them lets the linker put their -- * relative position in the executable instead of leaving -- * them null. -- */ --.globl _bss_start_ofs --_bss_start_ofs: -- .word __bss_start - _start -- --.globl _bss_end_ofs --_bss_end_ofs: -- .word __bss_end - _start -- --.globl _end_ofs --_end_ofs: -- .word _end - _start -- - #ifdef CONFIG_USE_IRQ - /* IRQ stack memory (calculated at run-time) */ - .globl IRQ_STACK_START -@@ -207,6 +181,5 @@ _reset: - bx lr - - _hang: -- ldr sp, _TEXT_BASE /* switch to abort stack */ - 1: - bl 1b /* hang and never return */ -diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S -index 5360f55..0717327 100644 ---- a/arch/arm/cpu/arm926ejs/start.S -+++ b/arch/arm/cpu/arm926ejs/start.S -@@ -102,32 +102,6 @@ _fiq: - ************************************************************************* - */ - --.globl _TEXT_BASE --_TEXT_BASE: --#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) -- .word CONFIG_SPL_TEXT_BASE --#else -- .word CONFIG_SYS_TEXT_BASE --#endif -- --/* -- * These are defined in the board-specific linker script. -- * Subtracting _start from them lets the linker put their -- * relative position in the executable instead of leaving -- * them null. -- */ --.globl _bss_start_ofs --_bss_start_ofs: -- .word __bss_start - _start -- --.globl _bss_end_ofs --_bss_end_ofs: -- .word __bss_end - _start -- --.globl _end_ofs --_end_ofs: -- .word _end - _start -- - #ifdef CONFIG_USE_IRQ - /* IRQ stack memory (calculated at run-time) */ - .globl IRQ_STACK_START -@@ -330,7 +304,6 @@ flush_dcache: - #ifdef CONFIG_SPL_BUILD - .align 5 - do_hang: -- ldr sp, _TEXT_BASE /* switch to abort stack */ - 1: - bl 1b /* hang and never return */ - #else /* !CONFIG_SPL_BUILD */ -diff --git a/arch/arm/cpu/arm946es/start.S b/arch/arm/cpu/arm946es/start.S -index e16b088..7d50145 100644 ---- a/arch/arm/cpu/arm946es/start.S -+++ b/arch/arm/cpu/arm946es/start.S -@@ -71,32 +71,6 @@ _vectors_end: - ************************************************************************* - */ - --.globl _TEXT_BASE --_TEXT_BASE: --#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) -- .word CONFIG_SPL_TEXT_BASE --#else -- .word CONFIG_SYS_TEXT_BASE --#endif -- --/* -- * These are defined in the board-specific linker script. -- * Subtracting _start from them lets the linker put their -- * relative position in the executable instead of leaving -- * them null. -- */ --.globl _bss_start_ofs --_bss_start_ofs: -- .word __bss_start - _start -- --.globl _bss_end_ofs --_bss_end_ofs: -- .word __bss_end - _start -- --.globl _end_ofs --_end_ofs: -- .word _end - _start -- - #ifdef CONFIG_USE_IRQ - /* IRQ stack memory (calculated at run-time) */ - .globl IRQ_STACK_START -diff --git a/arch/arm/cpu/arm_intcm/start.S b/arch/arm/cpu/arm_intcm/start.S -index 5783df1..7404ea7 100644 ---- a/arch/arm/cpu/arm_intcm/start.S -+++ b/arch/arm/cpu/arm_intcm/start.S -@@ -67,32 +67,6 @@ _fiq: - ************************************************************************* - */ - --.globl _TEXT_BASE --_TEXT_BASE: --#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) -- .word CONFIG_SPL_TEXT_BASE --#else -- .word CONFIG_SYS_TEXT_BASE --#endif -- --/* -- * These are defined in the board-specific linker script. -- * Subtracting _start from them lets the linker put their -- * relative position in the executable instead of leaving -- * them null. -- */ --.globl _bss_start_ofs --_bss_start_ofs: -- .word __bss_start - _start -- --.globl _bss_end_ofs --_bss_end_ofs: -- .word __bss_end - _start -- --.globl _end_ofs --_end_ofs: -- .word _end - _start -- - #ifdef CONFIG_USE_IRQ - /* IRQ stack memory (calculated at run-time) */ - .globl IRQ_STACK_START -diff --git a/arch/arm/cpu/armv7/omap3/lowlevel_init.S b/arch/arm/cpu/armv7/omap3/lowlevel_init.S -index 6f7261b..78577b1 100644 ---- a/arch/arm/cpu/armv7/omap3/lowlevel_init.S -+++ b/arch/arm/cpu/armv7/omap3/lowlevel_init.S -@@ -17,9 +17,6 @@ - #include - #include - --_TEXT_BASE: -- .word CONFIG_SYS_TEXT_BASE /* sdram load addr from config.mk */ -- - #ifdef CONFIG_SPL_BUILD - ENTRY(save_boot_params) - ldr r4, =omap3_boot_device -diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S -index 5aac773..ac1e55a 100644 ---- a/arch/arm/cpu/armv7/start.S -+++ b/arch/arm/cpu/armv7/start.S -@@ -70,29 +70,6 @@ _end_vect: - * - *************************************************************************/ - --.globl _TEXT_BASE --_TEXT_BASE: --#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) -- .word CONFIG_SPL_TEXT_BASE --#else -- .word CONFIG_SYS_TEXT_BASE --#endif -- --/* -- * These are defined in the board-specific linker script. -- */ --.globl _bss_start_ofs --_bss_start_ofs: -- .word __bss_start - _start -- --.globl _bss_end_ofs --_bss_end_ofs: -- .word __bss_end - _start -- --.globl _end_ofs --_end_ofs: -- .word _end - _start -- - #ifdef CONFIG_USE_IRQ - /* IRQ stack memory (calculated at run-time) */ - .globl IRQ_STACK_START -diff --git a/arch/arm/cpu/pxa/start.S b/arch/arm/cpu/pxa/start.S -index d8fb812..ae0d13c 100644 ---- a/arch/arm/cpu/pxa/start.S -+++ b/arch/arm/cpu/pxa/start.S -@@ -84,32 +84,6 @@ _end_vect: - ************************************************************************* - */ - --.globl _TEXT_BASE --_TEXT_BASE: --#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) -- .word CONFIG_SPL_TEXT_BASE --#else -- .word CONFIG_SYS_TEXT_BASE --#endif -- --/* -- * These are defined in the board-specific linker script. -- * Subtracting _start from them lets the linker put their -- * relative position in the executable instead of leaving -- * them null. -- */ --.globl _bss_start_ofs --_bss_start_ofs: -- .word __bss_start - _start -- --.globl _bss_end_ofs --_bss_end_ofs: -- .word __bss_end - _start -- --.globl _end_ofs --_end_ofs: -- .word _end - _start -- - #ifdef CONFIG_USE_IRQ - /* IRQ stack memory (calculated at run-time) */ - .globl IRQ_STACK_START -@@ -316,7 +290,6 @@ cpu_init_crit: - #ifdef CONFIG_SPL_BUILD - .align 5 - do_hang: -- ldr sp, _TEXT_BASE /* use 32 words about stack */ - bl hang /* hang and never return */ - #else /* !CONFIG_SPL_BUILD */ - .align 5 -diff --git a/arch/arm/cpu/sa1100/start.S b/arch/arm/cpu/sa1100/start.S -index 27bcda5..bf80937 100644 ---- a/arch/arm/cpu/sa1100/start.S -+++ b/arch/arm/cpu/sa1100/start.S -@@ -56,32 +56,6 @@ _fiq: .word fiq - ************************************************************************* - */ - --.globl _TEXT_BASE --_TEXT_BASE: --#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) -- .word CONFIG_SPL_TEXT_BASE --#else -- .word CONFIG_SYS_TEXT_BASE --#endif -- --/* -- * These are defined in the board-specific linker script. -- * Subtracting _start from them lets the linker put their -- * relative position in the executable instead of leaving -- * them null. -- */ --.globl _bss_start_ofs --_bss_start_ofs: -- .word __bss_start - _start -- --.globl _bss_end_ofs --_bss_end_ofs: -- .word __bss_end - _start -- --.globl _end_ofs --_end_ofs: -- .word _end - _start -- - #ifdef CONFIG_USE_IRQ - /* IRQ stack memory (calculated at run-time) */ - .globl IRQ_STACK_START -diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c -index c320a35..1de5812 100644 ---- a/arch/arm/lib/board.c -+++ b/arch/arm/lib/board.c -@@ -105,8 +105,8 @@ static int display_banner(void) - { - printf("\n\n%s\n\n", version_string); - debug("U-Boot code: %08lX -> %08lX BSS: -> %08lX\n", -- _TEXT_BASE, -- _bss_start_ofs + _TEXT_BASE, _bss_end_ofs + _TEXT_BASE); -+ (ulong)&_start, -+ (ulong)&__bss_start, (ulong)&__bss_end); - #ifdef CONFIG_MODEM_SUPPORT - debug("Modem Support enabled\n"); - #endif -@@ -277,13 +277,13 @@ void board_init_f(ulong bootflag) - - memset((void *)gd, 0, sizeof(gd_t)); - -- gd->mon_len = _bss_end_ofs; -+ gd->mon_len = (ulong)&__bss_end - (ulong)_start; - #ifdef CONFIG_OF_EMBED - /* Get a pointer to the FDT */ - gd->fdt_blob = _binary_dt_dtb_start; - #elif defined CONFIG_OF_SEPARATE - /* FDT is at end of image */ -- gd->fdt_blob = (void *)(_end_ofs + _TEXT_BASE); -+ gd->fdt_blob = &_end; - #endif - /* Allow the early environment to override the fdt address */ - gd->fdt_blob = (void *)getenv_ulong("fdtcontroladdr", 16, -@@ -451,7 +451,7 @@ void board_init_f(ulong bootflag) - - gd->relocaddr = addr; - gd->start_addr_sp = addr_sp; -- gd->reloc_off = addr - _TEXT_BASE; -+ gd->reloc_off = addr - (ulong)&_start; - debug("relocation Offset is: %08lx\n", gd->reloc_off); - if (new_fdt) { - memcpy(new_fdt, gd->fdt_blob, fdt_size); -@@ -516,7 +516,7 @@ void board_init_r(gd_t *id, ulong dest_addr) - gd->flags |= GD_FLG_RELOC; /* tell others: relocation done */ - bootstage_mark_name(BOOTSTAGE_ID_START_UBOOT_R, "board_init_r"); - -- monitor_flash_len = _end_ofs; -+ monitor_flash_len = (ulong)&__rel_dyn_end - (ulong)_start; - - /* Enable caches */ - enable_caches(); -diff --git a/board/armltd/integrator/lowlevel_init.S b/board/armltd/integrator/lowlevel_init.S -index 389d5e9..0fb42ad 100644 ---- a/board/armltd/integrator/lowlevel_init.S -+++ b/board/armltd/integrator/lowlevel_init.S -@@ -183,7 +183,7 @@ cm_remap: - - /* Now 0x00000000 is writeable, replace the vectors */ - ldr r0, =_start /* r0 <- start of vectors */ -- ldr r2, =_TEXT_BASE /* r2 <- past vectors */ -+ add r2, r0, #64 /* r2 <- past vectors */ - sub r1,r1,r1 /* destination 0x00000000 */ - - copy_vec: -diff --git a/board/cm4008/flash.c b/board/cm4008/flash.c -index 2511928..8315a57 100644 ---- a/board/cm4008/flash.c -+++ b/board/cm4008/flash.c -@@ -57,7 +57,7 @@ unsigned long flash_init (void) - */ - flash_protect (FLAG_PROTECT_SET, - CONFIG_SYS_FLASH_BASE, -- CONFIG_SYS_FLASH_BASE + _bss_start_ofs, -+ CONFIG_SYS_FLASH_BASE + (__bss_end - __bss_start), - &flash_info[0]); - - return size; -diff --git a/board/cm41xx/flash.c b/board/cm41xx/flash.c -index 2511928..8315a57 100644 ---- a/board/cm41xx/flash.c -+++ b/board/cm41xx/flash.c -@@ -57,7 +57,7 @@ unsigned long flash_init (void) - */ - flash_protect (FLAG_PROTECT_SET, - CONFIG_SYS_FLASH_BASE, -- CONFIG_SYS_FLASH_BASE + _bss_start_ofs, -+ CONFIG_SYS_FLASH_BASE + (__bss_end - __bss_start), - &flash_info[0]); - - return size; -diff --git a/board/mpl/vcma9/lowlevel_init.S b/board/mpl/vcma9/lowlevel_init.S -index b889cf9..cca9c0c 100644 ---- a/board/mpl/vcma9/lowlevel_init.S -+++ b/board/mpl/vcma9/lowlevel_init.S -@@ -197,13 +197,10 @@ - #define REFCNT_266 0 - /**************************************/ - --_TEXT_BASE: -- .word CONFIG_SYS_TEXT_BASE -- - .globl lowlevel_init - lowlevel_init: - /* use r0 to relocate DATA read/write to flash rather than memory ! */ -- ldr r0, _TEXT_BASE -+ ldr r0, =CONFIG_SYS_TEXT_BASE - ldr r13, =BWSCON - - /* enable minimal access to PLD */ -diff --git a/board/samsung/goni/lowlevel_init.S b/board/samsung/goni/lowlevel_init.S -index 726211a..d52bc09 100644 ---- a/board/samsung/goni/lowlevel_init.S -+++ b/board/samsung/goni/lowlevel_init.S -@@ -22,9 +22,6 @@ - * r9 has Mobile DDR size, 1 means 1GiB, 2 means 2GiB and so on - */ - --_TEXT_BASE: -- .word CONFIG_SYS_TEXT_BASE -- - .globl lowlevel_init - lowlevel_init: - mov r11, lr -diff --git a/board/samsung/smdk2410/lowlevel_init.S b/board/samsung/smdk2410/lowlevel_init.S -index c7b78fd..5de04f1 100644 ---- a/board/samsung/smdk2410/lowlevel_init.S -+++ b/board/samsung/smdk2410/lowlevel_init.S -@@ -110,16 +110,13 @@ - #define REFCNT 1113 /* period=15.6us, HCLK=60Mhz, (2048+1-15.6*60) */ - /**************************************/ - --_TEXT_BASE: -- .word CONFIG_SYS_TEXT_BASE -- - .globl lowlevel_init - lowlevel_init: - /* memory control configuration */ - /* make r0 relative the current location so that it */ - /* reads SMRDATA out of FLASH rather than memory ! */ - ldr r0, =SMRDATA -- ldr r1, _TEXT_BASE -+ ldr r1, =CONFIG_SYS_TEXT_BASE - sub r0, r0, r1 - ldr r1, =BWSCON /* Bus Width Status Controller */ - add r2, r0, #13*4 -diff --git a/board/samsung/smdkc100/lowlevel_init.S b/board/samsung/smdkc100/lowlevel_init.S -index 4df0974..65e6b7a 100644 ---- a/board/samsung/smdkc100/lowlevel_init.S -+++ b/board/samsung/smdkc100/lowlevel_init.S -@@ -17,9 +17,6 @@ - * r5 has zero always - */ - --_TEXT_BASE: -- .word CONFIG_SYS_TEXT_BASE -- - .globl lowlevel_init - lowlevel_init: - mov r9, lr -diff --git a/board/ti/omap5912osk/lowlevel_init.S b/board/ti/omap5912osk/lowlevel_init.S -index cad0a5a..e05a1c7 100644 ---- a/board/ti/omap5912osk/lowlevel_init.S -+++ b/board/ti/omap5912osk/lowlevel_init.S -@@ -18,10 +18,6 @@ - #include <./configs/omap1510.h> - #endif - -- --_TEXT_BASE: -- .word CONFIG_SYS_TEXT_BASE /* sdram load addr from config.mk */ -- - .globl lowlevel_init - lowlevel_init: - -diff --git a/common/board_f.c b/common/board_f.c -index 02965b0..5b9ba07 100644 ---- a/common/board_f.c -+++ b/common/board_f.c -@@ -149,13 +149,9 @@ static int display_text_info(void) - #ifndef CONFIG_SANDBOX - ulong bss_start, bss_end; - --#ifdef CONFIG_SYS_SYM_OFFSETS -- bss_start = _bss_start_ofs + _TEXT_BASE; -- bss_end = _bss_end_ofs + _TEXT_BASE; --#else - bss_start = (ulong)&__bss_start; - bss_end = (ulong)&__bss_end; --#endif -+ - debug("U-Boot code: %08X -> %08lX BSS: -> %08lX\n", - CONFIG_SYS_TEXT_BASE, bss_start, bss_end); - #endif -@@ -279,8 +275,8 @@ static int zero_global_data(void) - - static int setup_mon_len(void) - { --#ifdef CONFIG_SYS_SYM_OFFSETS -- gd->mon_len = _bss_end_ofs; -+#ifdef __ARM__ -+ gd->mon_len = (ulong)&__bss_end - (ulong)_start; - #elif defined(CONFIG_SANDBOX) - gd->mon_len = (ulong)&_end - (ulong)_init; - #else -@@ -363,11 +359,7 @@ static int setup_fdt(void) - gd->fdt_blob = __dtb_dt_begin; - #elif defined CONFIG_OF_SEPARATE - /* FDT is at end of image */ --# ifdef CONFIG_SYS_SYM_OFFSETS -- gd->fdt_blob = (void *)(_end_ofs + CONFIG_SYS_TEXT_BASE); --# else - gd->fdt_blob = (ulong *)&_end; --# endif - #elif defined(CONFIG_OF_HOSTFILE) - if (read_fdt_from_file()) { - puts("Failed to read control FDT\n"); -diff --git a/common/board_r.c b/common/board_r.c -index c2d0763..899f377 100644 ---- a/common/board_r.c -+++ b/common/board_r.c -@@ -128,8 +128,8 @@ __weak int fixup_cpu(void) - - static int initr_reloc_global_data(void) - { --#ifdef CONFIG_SYS_SYM_OFFSETS -- monitor_flash_len = _end_ofs; -+#ifdef __ARM__ -+ monitor_flash_len = _end - __image_copy_start; - #elif !defined(CONFIG_SANDBOX) - monitor_flash_len = (ulong)&__init_end - gd->relocaddr; - #endif -diff --git a/include/asm-generic/sections.h b/include/asm-generic/sections.h -index 7e1eb4b..458952f 100644 ---- a/include/asm-generic/sections.h -+++ b/include/asm-generic/sections.h -@@ -63,28 +63,16 @@ extern char __image_copy_end[]; - extern void _start(void); - - /* -- * ARM needs to use offsets for symbols, since the values of some symbols -- * are not resolved prior to relocation (and are just 0). Maybe this can be -- * resolved, or maybe other architectures are similar, iwc this should be -- * promoted to an architecture option. -+ * ARM defines its symbols as char[]. Other arches define them as ulongs. - */ - #ifdef CONFIG_ARM --#define CONFIG_SYS_SYM_OFFSETS --#endif -- --#ifdef CONFIG_SYS_SYM_OFFSETS --/* Start/end of the relocation entries, as an offset from _start */ --extern ulong _rel_dyn_start_ofs; --extern ulong _rel_dyn_end_ofs; -- --/* End of the region to be relocated, as an offset form _start */ --extern ulong _image_copy_end_ofs; - --extern ulong _bss_start_ofs; /* BSS start relative to _start */ --extern ulong _bss_end_ofs; /* BSS end relative to _start */ --extern ulong _end_ofs; /* end of image relative to _start */ -- --extern ulong _TEXT_BASE; /* code start */ -+extern char __bss_start[]; -+extern char __bss_end[]; -+extern char __image_copy_start[]; -+extern char __image_copy_end[]; -+extern char __rel_dyn_start[]; -+extern char __rel_dyn_end[]; - - #else /* don't use offsets: */ - -- cgit v1.2.3