* [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support
@ 2010-11-03 18:24 Albert Aribaud
2010-11-03 18:24 ` [U-Boot] [PATCH V3 2/3] tx25: " Albert Aribaud
` (3 more replies)
0 siblings, 4 replies; 16+ messages in thread
From: Albert Aribaud @ 2010-11-03 18:24 UTC (permalink / raw)
To: u-boot
older ld emitted all ELF relocations in input sections named
.rel.dyn, whereas newer ld uses names of the form .rel*. The
linker script only collected .rel.dyn input sections. Rewrite
to collect all .rel* input sections.
Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
---
V1 Initial submission
V2 arm926ejs: added ALIGN between bss and .rel.dyn sections
tx25: removed GOT and datarel output sections
tx25: fixed typo in config file commit message
V3 arm926ejs: overlaied .bss and .rel.dyn sections
tx25: overlaied .bss and .rel.dyn sections
arch/arm/cpu/arm926ejs/u-boot.lds | 29 +++++++++++++++++------------
1 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/arch/arm/cpu/arm926ejs/u-boot.lds b/arch/arm/cpu/arm926ejs/u-boot.lds
index 72f45f8..4ae7b47 100644
--- a/arch/arm/cpu/arm926ejs/u-boot.lds
+++ b/arch/arm/cpu/arm926ejs/u-boot.lds
@@ -45,24 +45,29 @@ SECTIONS
. = ALIGN(4);
- __rel_dyn_start = .;
- .rel.dyn : { *(.rel.dyn) }
- __rel_dyn_end = .;
-
- __dynsym_start = .;
- .dynsym : { *(.dynsym) }
-
- . = ALIGN(4);
-
. = .;
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;
. = ALIGN(4);
- __bss_start = .;
- .bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
- _end = .;
+ .bss (NOLOAD) : {
+ __bss_start = .;
+ *(.bss)
+ . = ALIGN(4);
+ _end = .;
+ }
+
+ .rel.dyn __bss_start (OVERLAY) : {
+ __rel_dyn_start = .;
+ *(.rel*)
+ __rel_dyn_end = .;
+ }
+
+ .dynsym : {
+ __dynsym_start = .;
+ *(.dynsym)
+ }
/DISCARD/ : { *(.dynstr*) }
/DISCARD/ : { *(.dynamic*) }
--
1.7.1
^ permalink raw reply related [flat|nested] 16+ messages in thread* [U-Boot] [PATCH V3 2/3] tx25: fix linker file for newer ld support 2010-11-03 18:24 [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support Albert Aribaud @ 2010-11-03 18:24 ` Albert Aribaud 2010-11-03 18:24 ` [U-Boot] [PATCH V3 3/3] tx25: increase u-boot NAND size to match current build sizes Albert Aribaud ` (2 subsequent siblings) 3 siblings, 0 replies; 16+ messages in thread From: Albert Aribaud @ 2010-11-03 18:24 UTC (permalink / raw) To: u-boot older ld emitted all ELF relocations in input sections named .rel.dyn, whereas newer ld uses names of the form .rel*. The linker script only collected .rel.dyn input sections. Rewrite to collect all .rel* input sections. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr> --- nand_spl/board/karo/tx25/u-boot.lds | 39 ++++++++++++++++------------------ 1 files changed, 18 insertions(+), 21 deletions(-) diff --git a/nand_spl/board/karo/tx25/u-boot.lds b/nand_spl/board/karo/tx25/u-boot.lds index 5f95c87..15fa24e 100644 --- a/nand_spl/board/karo/tx25/u-boot.lds +++ b/nand_spl/board/karo/tx25/u-boot.lds @@ -43,35 +43,32 @@ SECTIONS . = ALIGN(4); .data : { *(.data) - __datarel_start = .; - *(.data.rel) - __datarelrolocal_start = .; - *(.data.rel.ro.local) - __datarellocal_start = .; - *(.data.rel.local) - __datarelro_start = .; - *(.data.rel.ro) } . = ALIGN(4); - __rel_dyn_start = .; - __rel_dyn_end = .; - __dynsym_start = .; - - __got_start = .; - . = ALIGN(4); - .got : { *(.got) } - - __got_end = .; - . = .; __u_boot_cmd_start = .; .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .; . = ALIGN(4); - __bss_start = .; - .bss : { *(.bss) } - _end = .; + .bss (NOLOAD) : { + __bss_start = .; + *(.bss) + . = ALIGN(4); + _end = .; + } + + .rel.dyn __bss_start (OVERLAY) : { + __rel_dyn_start = .; + *(.rel*) + __rel_dyn_end = .; + } + + .dynsym : { + __dynsym_start = .; + *(.dynsym) + } + /DISCARD/ : { *(.bss*) } /DISCARD/ : { *(.dynstr*) } /DISCARD/ : { *(.dynsym*) } -- 1.7.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH V3 3/3] tx25: increase u-boot NAND size to match current build sizes 2010-11-03 18:24 [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support Albert Aribaud 2010-11-03 18:24 ` [U-Boot] [PATCH V3 2/3] tx25: " Albert Aribaud @ 2010-11-03 18:24 ` Albert Aribaud 2010-11-03 18:27 ` [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support Albert ARIBAUD 2010-11-04 10:26 ` Alexander Holler 3 siblings, 0 replies; 16+ messages in thread From: Albert Aribaud @ 2010-11-03 18:24 UTC (permalink / raw) To: u-boot U-boot binary size increase made u-boot-spl copy only part of u-boot from NAND to RAM, missing part of the relocation data. Increase u-boot NAND size to match current build size plus a bit of slack. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr> --- include/configs/tx25.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/include/configs/tx25.h b/include/configs/tx25.h index 8f8a1a3..6dcaf4c 100644 --- a/include/configs/tx25.h +++ b/include/configs/tx25.h @@ -39,7 +39,7 @@ #ifdef CONFIG_NAND_SPL /* Start copying real U-boot from the second page */ #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x800 -#define CONFIG_SYS_NAND_U_BOOT_SIZE 0x30000 +#define CONFIG_SYS_NAND_U_BOOT_SIZE 0x31000 #define CONFIG_SYS_NAND_U_BOOT_DST (0x81200000) #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_NAND_U_BOOT_DST -- 1.7.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support 2010-11-03 18:24 [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support Albert Aribaud 2010-11-03 18:24 ` [U-Boot] [PATCH V3 2/3] tx25: " Albert Aribaud 2010-11-03 18:24 ` [U-Boot] [PATCH V3 3/3] tx25: increase u-boot NAND size to match current build sizes Albert Aribaud @ 2010-11-03 18:27 ` Albert ARIBAUD 2010-11-04 10:26 ` Alexander Holler 3 siblings, 0 replies; 16+ messages in thread From: Albert ARIBAUD @ 2010-11-03 18:27 UTC (permalink / raw) To: u-boot Le 03/11/2010 19:24, Albert Aribaud a ?crit : > older ld emitted all ELF relocations in input sections named > ..rel.dyn, whereas newer ld uses names of the form .rel*. The > linker script only collected .rel.dyn input sections. Rewrite > to collect all .rel* input sections. > > Signed-off-by: Albert Aribaud<albert.aribaud@free.fr> > --- > V1 Initial submission > V2 arm926ejs: added ALIGN between bss and .rel.dyn sections > tx25: removed GOT and datarel output sections > tx25: fixed typo in config file commit message > V3 arm926ejs: overlaied .bss and .rel.dyn sections > tx25: overlaied .bss and .rel.dyn sections (sorry for the typos) People with arm926ejs based boards and with tx25 boards please test: I cannot test on tx25, and I cannot test right now. This *should* make the RAM footprint and the FLASH/NAND footprint minimal by overlaying the BSS and relocation table. Amicalement, -- Albert. ^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support 2010-11-03 18:24 [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support Albert Aribaud ` (2 preceding siblings ...) 2010-11-03 18:27 ` [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support Albert ARIBAUD @ 2010-11-04 10:26 ` Alexander Holler 2010-11-04 10:46 ` Alexander Holler 3 siblings, 1 reply; 16+ messages in thread From: Alexander Holler @ 2010-11-04 10:26 UTC (permalink / raw) To: u-boot I've just tested that patch using my small test-patch: ----------------------------------------------------------- Marvell>> g 0x700000 ## Starting application at 0x00700000 ... U-Boot 2010.12-rc1-00037-g0ab2006 (Nov 04 2010 - 11:14:24) Seagate-DockStar SoC: Kirkwood 88F6281_A0 DRAM: 128 MiB (relocated) BSS is from 07fa8f60 to 07fef040 &monitor_flash_len: 00752f60 WARNING: relocation failed (&monitor_flash_len is outside reloctated BSS)! ----------------------------------------------------------- Regards, Alexander ^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support 2010-11-04 10:26 ` Alexander Holler @ 2010-11-04 10:46 ` Alexander Holler 2010-11-04 12:40 ` Albert ARIBAUD 0 siblings, 1 reply; 16+ messages in thread From: Alexander Holler @ 2010-11-04 10:46 UTC (permalink / raw) To: u-boot Am 04.11.2010 11:26, schrieb Alexander Holler: > I've just tested that patch using my small test-patch: > > ----------------------------------------------------------- > Marvell>> g 0x700000 > ## Starting application at 0x00700000 ... > > > U-Boot 2010.12-rc1-00037-g0ab2006 (Nov 04 2010 - 11:14:24) > Seagate-DockStar > > SoC: Kirkwood 88F6281_A0 > DRAM: 128 MiB > (relocated) BSS is from 07fa8f60 to 07fef040 > &monitor_flash_len: 00752f60 > WARNING: relocation failed (&monitor_flash_len is outside reloctated BSS)! > ----------------------------------------------------------- So the suggested change from Steve Sakoman (reordered fix from Albert Aribaud) still seems to be the one to prefer. Here it is again: -------------------------- arch/arm/cpu/arm926ejs/u-boot.lds | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/arm/cpu/arm926ejs/u-boot.lds b/arch/arm/cpu/arm926ejs/u-boot.lds index 72f45f8..eefdca9 100644 --- a/arch/arm/cpu/arm926ejs/u-boot.lds +++ b/arch/arm/cpu/arm926ejs/u-boot.lds @@ -46,7 +46,7 @@ SECTIONS . = ALIGN(4); __rel_dyn_start = .; - .rel.dyn : { *(.rel.dyn) } + .rel.dyn : { *(.rel.*) } __rel_dyn_end = .; __dynsym_start = .; -- 1.7.2.2 -------------------------- Regards, Alexander ^ permalink raw reply related [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support 2010-11-04 10:46 ` Alexander Holler @ 2010-11-04 12:40 ` Albert ARIBAUD 2010-11-04 12:47 ` Alexander Holler 0 siblings, 1 reply; 16+ messages in thread From: Albert ARIBAUD @ 2010-11-04 12:40 UTC (permalink / raw) To: u-boot Le 04/11/2010 11:46, Alexander Holler a ?crit : > So the suggested change from Steve Sakoman (reordered fix from Albert > Aribaud) still seems to be the one to prefer. Something is wrong here: > - .rel.dyn : { *(.rel.dyn) } > + .rel.dyn : { *(.rel.*) } This change is the same as the one I submitted, replacing any .rel.dyn input sections references with .rel* input sections (this includes .rel.* sections), so I fail to see the difference. Can you please perform a build and wrap the u-boot, u-boot.lds, u-boot.map files and build standard and error outputs in a tarball and send that to me? Amicalement, -- Albert. ^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support 2010-11-04 12:40 ` Albert ARIBAUD @ 2010-11-04 12:47 ` Alexander Holler 2010-11-04 12:55 ` Albert ARIBAUD 0 siblings, 1 reply; 16+ messages in thread From: Alexander Holler @ 2010-11-04 12:47 UTC (permalink / raw) To: u-boot Am 04.11.2010 13:40, schrieb Albert ARIBAUD: > Le 04/11/2010 11:46, Alexander Holler a ?crit : >> So the suggested change from Steve Sakoman (reordered fix from Albert >> Aribaud) still seems to be the one to prefer. > > Something is wrong here: > >> - .rel.dyn : { *(.rel.dyn) } >> + .rel.dyn : { *(.rel.*) } > > This change is the same as the one I submitted, replacing any .rel.dyn > input sections references with .rel* input sections (this includes > .rel.* sections), so I fail to see the difference. The difference is the place. Your patch v1 puts that after the end which results in a larger binary. This one just leaves the place as before and only changes what is included. In regard to your v3 I don't know what is the difference, I haven't looked at what it (v3) really does because I don't know much about the linker sections and (currently) don't want to drive deeper into that. > > Can you please perform a build and wrap the u-boot, u-boot.lds, > u-boot.map files and build standard and error outputs in a tarball and > send that to me? Will do so. Regards, Alexander ^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support 2010-11-04 12:47 ` Alexander Holler @ 2010-11-04 12:55 ` Albert ARIBAUD 2010-11-04 13:18 ` Alexander Holler 0 siblings, 1 reply; 16+ messages in thread From: Albert ARIBAUD @ 2010-11-04 12:55 UTC (permalink / raw) To: u-boot Le 04/11/2010 13:47, Alexander Holler a ?crit : > Am 04.11.2010 13:40, schrieb Albert ARIBAUD: >> Le 04/11/2010 11:46, Alexander Holler a ?crit : >>> So the suggested change from Steve Sakoman (reordered fix from Albert >>> Aribaud) still seems to be the one to prefer. >> >> Something is wrong here: >> >>> - .rel.dyn : { *(.rel.dyn) } >>> + .rel.dyn : { *(.rel.*) } >> >> This change is the same as the one I submitted, replacing any .rel.dyn >> input sections references with .rel* input sections (this includes >> .rel.* sections), so I fail to see the difference. > > The difference is the place. Your patch v1 puts that after the end which > results in a larger binary. V3 doesn't result in a larger binary any more, at least as far as my own tests have shown, and that is why I asked people to test V3. > This one just leaves the place as before and > only changes what is included. In regard to your v3 I don't know what is > the difference, I haven't looked at what it (v3) really does because I > don't know much about the linker sections and (currently) don't want to > drive deeper into that. Then please do test this V3 patch and verify if the issues you raise still apply or are fixed. >> Can you please perform a build and wrap the u-boot, u-boot.lds, >> u-boot.map files and build standard and error outputs in a tarball and >> send that to me? > > Will do so. Please make sure to indicate which source commit you're testing on and which toolchain you're using, and to compare with V3 results. > Regards, > > Alexander Amicalement, -- Albert. ^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support 2010-11-04 12:55 ` Albert ARIBAUD @ 2010-11-04 13:18 ` Alexander Holler 2010-11-04 16:56 ` Albert ARIBAUD 0 siblings, 1 reply; 16+ messages in thread From: Alexander Holler @ 2010-11-04 13:18 UTC (permalink / raw) To: u-boot Am 04.11.2010 13:55, schrieb Albert ARIBAUD: > Then please do test this V3 patch and verify if the issues you raise > still apply or are fixed. V3 failed using my relocation-test-patch (and resulted in the same problems as without any relocation patch). Therefor I've posted the output. I though it was clear that I've used v3 (because of the subject). > Please make sure to indicate which source commit you're testing on and > which toolchain you're using, and to compare with V3 results. I've created a tarball with the patches for the DockStar I'm currently using for those tests. It is available here: http://ahsoftware.de/dockstar_uboot_patches.tar.bz2 Regards, Alexander ^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support 2010-11-04 13:18 ` Alexander Holler @ 2010-11-04 16:56 ` Albert ARIBAUD 2010-11-04 18:37 ` Alexander Holler 0 siblings, 1 reply; 16+ messages in thread From: Albert ARIBAUD @ 2010-11-04 16:56 UTC (permalink / raw) To: u-boot Le 04/11/2010 14:18, Alexander Holler a ?crit : > Am 04.11.2010 13:55, schrieb Albert ARIBAUD: > >> Then please do test this V3 patch and verify if the issues you raise >> still apply or are fixed. > > V3 failed using my relocation-test-patch (and resulted in the same > problems as without any relocation patch). Therefor I've posted the > output. I though it was clear that I've used v3 (because of the subject). The body kept talking about V1 and did mention that you didn't look at V3, so I wanted to make sure there was no mistake here. >> Please make sure to indicate which source commit you're testing on and >> which toolchain you're using, and to compare with V3 results. > > I've created a tarball with the patches for the DockStar I'm currently > using for those tests. > > It is available here: > > http://ahsoftware.de/dockstar_uboot_patches.tar.bz2 > > Regards, > > Alexander You're still using a locally-built toolchain different from CS and ELDK toolhcains that were tested so far, right? There is a warning at the linker stage in the build log you sent me: ld: warning: creating a DT_TEXTREL in object. which I don't have using the CS 2010q1 toolchain. Can you please checkout the pristine master branch of u-boot and build sheevaplug with just my V3 patch applied and you toolchain, and tell me if you see this warning? Amicalement, -- Albert. ^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support 2010-11-04 16:56 ` Albert ARIBAUD @ 2010-11-04 18:37 ` Alexander Holler 2010-11-04 18:42 ` Alexander Holler 0 siblings, 1 reply; 16+ messages in thread From: Alexander Holler @ 2010-11-04 18:37 UTC (permalink / raw) To: u-boot > You're still using a locally-built toolchain different from CS and ELDK > toolhcains that were tested so far, right? There is a warning at the Yes, I'm still using Gentoo to compile u-boot native on that board. > linker stage in the build log you sent me: > > ld: warning: creating a DT_TEXTREL in object. > > which I don't have using the CS 2010q1 toolchain. This warning comes through one of the patches Gentoo applies to binutils. That patch can be found inside the archive here: ftp://de-mirror.org/distro/gentoo/distfiles/binutils-2.20.1-patches-1.1.tar.bz2 > Can you please checkout the pristine master branch of u-boot and build > sheevaplug with just my V3 patch applied and you toolchain, and tell me > if you see this warning? The warning is still there. But I'll see this warning with working versions of u-boot too. Regards, Alexander ^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support 2010-11-04 18:37 ` Alexander Holler @ 2010-11-04 18:42 ` Alexander Holler 2010-11-04 19:20 ` Albert ARIBAUD 0 siblings, 1 reply; 16+ messages in thread From: Alexander Holler @ 2010-11-04 18:42 UTC (permalink / raw) To: u-boot Am 04.11.2010 19:37, schrieb Alexander Holler: >> You're still using a locally-built toolchain different from CS and ELDK >> toolhcains that were tested so far, right? There is a warning at the > > Yes, I'm still using Gentoo to compile u-boot native on that board. > >> linker stage in the build log you sent me: >> >> ld: warning: creating a DT_TEXTREL in object. >> >> which I don't have using the CS 2010q1 toolchain. > > This warning comes through one of the patches Gentoo applies to > binutils. That patch can be found inside the archive here: > > ftp://de-mirror.org/distro/gentoo/distfiles/binutils-2.20.1-patches-1.1.tar.bz2 If I read that patch (66_*) correctly, it's the same as when using --warn-shared-textrel in LDFLAGS. Regards, Alexander ^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support 2010-11-04 18:42 ` Alexander Holler @ 2010-11-04 19:20 ` Albert ARIBAUD 2010-11-04 19:39 ` Alexander Holler 0 siblings, 1 reply; 16+ messages in thread From: Albert ARIBAUD @ 2010-11-04 19:20 UTC (permalink / raw) To: u-boot Le 04/11/2010 19:42, Alexander Holler a ?crit : > Am 04.11.2010 19:37, schrieb Alexander Holler: > >>> You're still using a locally-built toolchain different from CS and ELDK >>> toolhcains that were tested so far, right? There is a warning at the >> >> Yes, I'm still using Gentoo to compile u-boot native on that board. >> >>> linker stage in the build log you sent me: >>> >>> ld: warning: creating a DT_TEXTREL in object. >>> >>> which I don't have using the CS 2010q1 toolchain. >> >> This warning comes through one of the patches Gentoo applies to >> binutils. That patch can be found inside the archive here: >> >> ftp://de-mirror.org/distro/gentoo/distfiles/binutils-2.20.1-patches-1.1.tar.bz2 > > If I read that patch (66_*) correctly, it's the same as when using > --warn-shared-textrel in LDFLAGS. All right. I don't like getting a warning like that, but as I cannot reproduce your toolchain, I cannot avoid it. Regarding the build you sent me, the fixup for monitor_flash_len is present in the fixup table at the 11th entry at 00752fb8 and the fixup table is correctly accessible using _rel_dyn_start_ofs and _rel_dyn_end_ofs. That means your code should have done the fixup if the relocation loop was run correctly. Can you do a step-by-step run of the fixup loop under a debugger? > Regards, > > Alexander Amicalement, -- Albert. ^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support 2010-11-04 19:20 ` Albert ARIBAUD @ 2010-11-04 19:39 ` Alexander Holler 2010-11-04 22:06 ` Albert ARIBAUD 0 siblings, 1 reply; 16+ messages in thread From: Alexander Holler @ 2010-11-04 19:39 UTC (permalink / raw) To: u-boot Hello, Am 04.11.2010 20:20, schrieb Albert ARIBAUD: >> If I read that patch (66_*) correctly, it's the same as when using >> --warn-shared-textrel in LDFLAGS. > > All right. I don't like getting a warning like that, but as I cannot > reproduce your toolchain, I cannot avoid it. I think they enabbled this by default to do some kind of QA, because those textrels are forcing the dynamic linker to resolve some stuff which otherwise (without those textrels) isn't needed. And this results in longer load times. Sidenote: My toolchain is reproducable, but that means you have to compile a Gentoo system, because Gentoo is a source only distribution. So it isn't as comfortable as using binary distributions (here), but it has other advantages. > Regarding the build you sent me, the fixup for monitor_flash_len is > present in the fixup table at the 11th entry at 00752fb8 and the fixup > table is correctly accessible using _rel_dyn_start_ofs and > _rel_dyn_end_ofs. That means your code should have done the fixup if the > relocation loop was run correctly. > > Can you do a step-by-step run of the fixup loop under a debugger? Sorry, no. That thing has 2mm-header for the jtag and I don't have any prefabricated cable for that. Maybe someone else with binutils 2.20.1 could check your V3. I don't know if I will find the time test your v3 in the next days with some other hw where I can attach a jtag. Regards, Alexander ^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support 2010-11-04 19:39 ` Alexander Holler @ 2010-11-04 22:06 ` Albert ARIBAUD 0 siblings, 0 replies; 16+ messages in thread From: Albert ARIBAUD @ 2010-11-04 22:06 UTC (permalink / raw) To: u-boot Le 04/11/2010 20:39, Alexander Holler a ?crit : > Sidenote: My toolchain is reproducable, but that means you have to > compile a Gentoo system, because Gentoo is a source only distribution. > So it isn't as comfortable as using binary distributions (here), but it > has other advantages. It probably has advantages, but having to adopt and run a given distribution in order to get access to a given toolchain goes way beyond what I am willing to do. However, I think I have found the cause of the problem in my V3 build, at least on an openrd_base. V3 tried to overlay bss and rel.dyn so as to minimize the FLASH/NAND footprint as well as RAM footprint. However, overlaying was done by forcing .rel.dyn address to be equal to __bss_start and marking it OVERLAY, which made it disappear from the .bin file, thus causing relocation to fail. I reversed the definition and order by forcing bss to start at __rel_dyn_start, which worked but caused a linker warning that two sections started at the same VMA -- the linker apparently does not take into account that one of them, .bss, is NOLOAD. I changed NOLOAD into OVERLAY, and then all worked: initial mapping (in FLASH or in RAM when loaded from NAND) has text, data, rel.dyn and dynsym bytes but not bss, which is fine since no code running there should use it; final mapping (once relocated) has text, data and bss without rel.dyn and dynsym using up RAM. Tested on openrd_base, works. V4 of patch set coming in the next few minutes. > Regards, > > Alexander Amicalement, -- Albert. ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2010-11-04 22:06 UTC | newest] Thread overview: 16+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-11-03 18:24 [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support Albert Aribaud 2010-11-03 18:24 ` [U-Boot] [PATCH V3 2/3] tx25: " Albert Aribaud 2010-11-03 18:24 ` [U-Boot] [PATCH V3 3/3] tx25: increase u-boot NAND size to match current build sizes Albert Aribaud 2010-11-03 18:27 ` [U-Boot] [PATCH V3 1/3] arm926ejs: fix linker file for newer ld support Albert ARIBAUD 2010-11-04 10:26 ` Alexander Holler 2010-11-04 10:46 ` Alexander Holler 2010-11-04 12:40 ` Albert ARIBAUD 2010-11-04 12:47 ` Alexander Holler 2010-11-04 12:55 ` Albert ARIBAUD 2010-11-04 13:18 ` Alexander Holler 2010-11-04 16:56 ` Albert ARIBAUD 2010-11-04 18:37 ` Alexander Holler 2010-11-04 18:42 ` Alexander Holler 2010-11-04 19:20 ` Albert ARIBAUD 2010-11-04 19:39 ` Alexander Holler 2010-11-04 22:06 ` Albert ARIBAUD
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox