aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitar Dimitrov <dimitar@dinux.eu>2024-05-21 18:05:54 +0300
committerDimitar Dimitrov <dimitar@dinux.eu>2024-05-28 21:05:54 +0300
commita606ff9b090a88b19eaf95914618274041f164c4 (patch)
treee5e31e2040c96a4207a1c9e08482053daf0f68cb
parentf95ecfc6e07f619aaa183716cc3749f32b678d6e (diff)
downloadfsf-binutils-gdb-a606ff9b090a88b19eaf95914618274041f164c4.zip
fsf-binutils-gdb-a606ff9b090a88b19eaf95914618274041f164c4.tar.gz
fsf-binutils-gdb-a606ff9b090a88b19eaf95914618274041f164c4.tar.bz2
ld: pru: Increase the default memory region sizes
The default memory region sizes for PRU were set somewhat arbitrarily to the sizes of the most popular BeagleBone board with AM33x SoC. But the PRU toolchain documentation has always instructed to use SoC-specific spec files to override the defaults and set the correct memory sizes [1]. The small default memory sizes can cause IMEM memory region overflow even for simple printf("Hello world") programs, as usually done by Autotools checks. The stdio is simply too big to fit in 8K instruction memory. This can confuse the check and lead to wrong feature selection during configure [2]. Fix by bumping the default DMEM and IMEM memory sizes. There is no need to backport this patch. Issue was caught with a feature-rich newlib build used for daily CI. The release builds of the PRU toolchain use stripped newlib configuration, which does not overflow the IMEM region, even for 8K. [1] https://github.com/dinuxbg/gnuprumcu [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115158 Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
-rw-r--r--ld/emulparams/pruelf.sh4
1 files changed, 2 insertions, 2 deletions
diff --git a/ld/emulparams/pruelf.sh b/ld/emulparams/pruelf.sh
index 48e9a3a..7ed5d33 100644
--- a/ld/emulparams/pruelf.sh
+++ b/ld/emulparams/pruelf.sh
@@ -11,9 +11,9 @@ COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
EMBEDDED=yes
TEXT_ORIGIN=0x20000000
-TEXT_LENGTH=8K
+TEXT_LENGTH=256K
DATA_ORIGIN=0x0
-DATA_LENGTH=8K
+DATA_LENGTH=256K
ENTRY=_start
EXTRA_EM_FILE=pruelf