diff options
author | Dimitar Dimitrov <dimitar@dinux.eu> | 2024-05-21 18:05:54 +0300 |
---|---|---|
committer | Dimitar Dimitrov <dimitar@dinux.eu> | 2024-05-28 21:05:54 +0300 |
commit | a606ff9b090a88b19eaf95914618274041f164c4 (patch) | |
tree | e5e31e2040c96a4207a1c9e08482053daf0f68cb | |
parent | f95ecfc6e07f619aaa183716cc3749f32b678d6e (diff) | |
download | fsf-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.sh | 4 |
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 |