[binutils-gdb] ld: pru: Increase the default memory region sizes

Dimitar Dimitrov dimitar@sourceware.org
Tue May 28 18:07:28 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a606ff9b090a88b19eaf95914618274041f164c4

commit a606ff9b090a88b19eaf95914618274041f164c4
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Tue May 21 18:05:54 2024 +0300

    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>

Diff:
---
 ld/emulparams/pruelf.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ld/emulparams/pruelf.sh b/ld/emulparams/pruelf.sh
index 48e9a3a3bea..7ed5d33bcb6 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


More information about the Binutils-cvs mailing list