From ff763b4b71a801146715386b8412a70b9c2332da Mon Sep 17 00:00:00 2001 From: Bunnaroath Sou Date: Thu, 7 May 2020 13:41:44 -0700 Subject: [PATCH 1/3] Bump overlay, lds and csr modules --- scripts/devicetree-overlay-generator | 2 +- scripts/ldscript-generator | 2 +- software/csr | 2 +- wit-manifest.json | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/devicetree-overlay-generator b/scripts/devicetree-overlay-generator index da15fdd5a..af03f434e 160000 --- a/scripts/devicetree-overlay-generator +++ b/scripts/devicetree-overlay-generator @@ -1 +1 @@ -Subproject commit da15fdd5a3db78dc4298d1c343c18c8868cbd140 +Subproject commit af03f434ee865209e5e1ce76a1f3283c377dae8c diff --git a/scripts/ldscript-generator b/scripts/ldscript-generator index fbb56a8cc..3a1d07eca 160000 --- a/scripts/ldscript-generator +++ b/scripts/ldscript-generator @@ -1 +1 @@ -Subproject commit fbb56a8cc29eb5e4f31a8169069ae2ab8002a011 +Subproject commit 3a1d07ecaa90471a798e2b2003d7b33038d6c7ae diff --git a/software/csr b/software/csr index bb2e9c95c..e6869562b 160000 --- a/software/csr +++ b/software/csr @@ -1 +1 @@ -Subproject commit bb2e9c95c4bbfd38d68b97ad614389fb5dd27e77 +Subproject commit e6869562bcc7fb0210aeaa721cf2ee2c988e12d9 diff --git a/wit-manifest.json b/wit-manifest.json index 0b1d13d9e..f8ade6a7f 100644 --- a/wit-manifest.json +++ b/wit-manifest.json @@ -15,12 +15,12 @@ "source": "git@github.com:sifive/elf2hex.git" }, { - "commit": "da15fdd5a3db78dc4298d1c343c18c8868cbd140", + "commit": "af03f434ee865209e5e1ce76a1f3283c377dae8c", "name": "devicetree-overlay-generator", "source": "git@github.com:sifive/devicetree-overlay-generator.git" }, { - "commit": "fbb56a8cc29eb5e4f31a8169069ae2ab8002a011", + "commit": "3a1d07ecaa90471a798e2b2003d7b33038d6c7ae", "name": "ldscript-generator", "source": "git@github.com:sifive/ldscript-generator.git" }, @@ -170,7 +170,7 @@ "source": "git@github.com:sifive/example-local-vector-interrupts.git" }, { - "commit": "bb2e9c95c4bbfd38d68b97ad614389fb5dd27e77", + "commit": "e6869562bcc7fb0210aeaa721cf2ee2c988e12d9", "name": "example-csr-access", "source": "git@github.com:sifive/example-csr-access.git" }, From 5b545e9dfee328cd29166fe9d13f5c3b0dba64ab Mon Sep 17 00:00:00 2001 From: Bunnaroath Sou Date: Thu, 7 May 2020 13:42:52 -0700 Subject: [PATCH 2/3] Add a script to create branches --- scripts/create-release-branches.sh | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 scripts/create-release-branches.sh diff --git a/scripts/create-release-branches.sh b/scripts/create-release-branches.sh new file mode 100755 index 000000000..ab06a18ee --- /dev/null +++ b/scripts/create-release-branches.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +set -euo pipefail +if [ "$#" -lt 2 ] ; then + >&2 echo "Please provide a tag and branch" + exit 1 +fi +tag=$1; shift 1; +branch=$1; shift 1; +echo "Creating release branch ${branch} based on tag ${tag}" +submodules=(\ + freedom-metal \ + freedom-devicetree-tools \ + FreeRTOS-metal \ + Segger_SystemView-metal \ + scl-metal \ + scripts/cmsis-svd-generator \ + scripts/devicetree-overlay-generator \ + scripts/elf2hex \ + scripts/esdk-settings-generator \ + scripts/ldscript-generator \ + scripts/openocdcfg-generator \ +) +set -x +for submodule in ${submodules[@]} ; do + git -C ${submodule} checkout ${tag} + git -C ${submodule} checkout -b ${branch} + git -C ${submodule} push -u origin ${branch} +done From 163c287407eb45b2cde530513cc794acecbaaae2 Mon Sep 17 00:00:00 2001 From: Bunnaroath Sou Date: Thu, 7 May 2020 14:03:38 -0700 Subject: [PATCH 3/3] Update BSP files --- bsp/freedom-e310-arty/metal.default.lds | 9 +++++++++ bsp/freedom-e310-arty/metal.freertos.lds | 9 +++++++++ bsp/freedom-e310-arty/metal.ramrodata.lds | 9 +++++++++ bsp/freedom-e310-arty/metal.scratchpad.lds | 9 +++++++++ bsp/qemu-sifive-e31/metal.default.lds | 9 +++++++++ bsp/qemu-sifive-e31/metal.freertos.lds | 9 +++++++++ bsp/qemu-sifive-e31/metal.ramrodata.lds | 9 +++++++++ bsp/qemu-sifive-e31/metal.scratchpad.lds | 9 +++++++++ bsp/qemu-sifive-s51/metal.default.lds | 9 +++++++++ bsp/qemu-sifive-s51/metal.freertos.lds | 9 +++++++++ bsp/qemu-sifive-s51/metal.ramrodata.lds | 9 +++++++++ bsp/qemu-sifive-s51/metal.scratchpad.lds | 9 +++++++++ bsp/qemu-sifive-u54/metal.default.lds | 9 +++++++++ bsp/qemu-sifive-u54/metal.freertos.lds | 9 +++++++++ bsp/qemu-sifive-u54/metal.ramrodata.lds | 9 +++++++++ bsp/qemu-sifive-u54/metal.scratchpad.lds | 9 +++++++++ bsp/qemu-sifive-u54mc/metal.default.lds | 9 +++++++++ bsp/qemu-sifive-u54mc/metal.freertos.lds | 9 +++++++++ bsp/qemu-sifive-u54mc/metal.ramrodata.lds | 9 +++++++++ bsp/qemu-sifive-u54mc/metal.scratchpad.lds | 9 +++++++++ bsp/sifive-hifive-unleashed/metal.default.lds | 9 +++++++++ bsp/sifive-hifive-unleashed/metal.freertos.lds | 9 +++++++++ bsp/sifive-hifive-unleashed/metal.ramrodata.lds | 9 +++++++++ bsp/sifive-hifive-unleashed/metal.scratchpad.lds | 9 +++++++++ bsp/sifive-hifive1-revb/metal.default.lds | 9 +++++++++ bsp/sifive-hifive1-revb/metal.freertos.lds | 9 +++++++++ bsp/sifive-hifive1-revb/metal.ramrodata.lds | 9 +++++++++ bsp/sifive-hifive1-revb/metal.scratchpad.lds | 9 +++++++++ bsp/sifive-hifive1/metal.default.lds | 9 +++++++++ bsp/sifive-hifive1/metal.freertos.lds | 9 +++++++++ bsp/sifive-hifive1/metal.ramrodata.lds | 9 +++++++++ bsp/sifive-hifive1/metal.scratchpad.lds | 9 +++++++++ bsp/spike/metal.default.lds | 9 +++++++++ bsp/spike/metal.freertos.lds | 9 +++++++++ bsp/spike/metal.ramrodata.lds | 9 +++++++++ bsp/spike/metal.scratchpad.lds | 9 +++++++++ 36 files changed, 324 insertions(+) diff --git a/bsp/freedom-e310-arty/metal.default.lds b/bsp/freedom-e310-arty/metal.default.lds index a4996526f..b29955b15 100644 --- a/bsp/freedom-e310-arty/metal.default.lds +++ b/bsp/freedom-e310-arty/metal.default.lds @@ -271,4 +271,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/freedom-e310-arty/metal.freertos.lds b/bsp/freedom-e310-arty/metal.freertos.lds index 609fc2677..eb8ad6b9f 100644 --- a/bsp/freedom-e310-arty/metal.freertos.lds +++ b/bsp/freedom-e310-arty/metal.freertos.lds @@ -292,4 +292,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/freedom-e310-arty/metal.ramrodata.lds b/bsp/freedom-e310-arty/metal.ramrodata.lds index 1c7d2eb2b..0b4db2167 100644 --- a/bsp/freedom-e310-arty/metal.ramrodata.lds +++ b/bsp/freedom-e310-arty/metal.ramrodata.lds @@ -275,4 +275,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/freedom-e310-arty/metal.scratchpad.lds b/bsp/freedom-e310-arty/metal.scratchpad.lds index 10d39084c..aed01551b 100644 --- a/bsp/freedom-e310-arty/metal.scratchpad.lds +++ b/bsp/freedom-e310-arty/metal.scratchpad.lds @@ -272,4 +272,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-e31/metal.default.lds b/bsp/qemu-sifive-e31/metal.default.lds index bc74471dd..d550a4ac0 100644 --- a/bsp/qemu-sifive-e31/metal.default.lds +++ b/bsp/qemu-sifive-e31/metal.default.lds @@ -268,4 +268,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-e31/metal.freertos.lds b/bsp/qemu-sifive-e31/metal.freertos.lds index 7108b1d16..9b70daa68 100644 --- a/bsp/qemu-sifive-e31/metal.freertos.lds +++ b/bsp/qemu-sifive-e31/metal.freertos.lds @@ -289,4 +289,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-e31/metal.ramrodata.lds b/bsp/qemu-sifive-e31/metal.ramrodata.lds index 6442a3843..bc228a21f 100644 --- a/bsp/qemu-sifive-e31/metal.ramrodata.lds +++ b/bsp/qemu-sifive-e31/metal.ramrodata.lds @@ -272,4 +272,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-e31/metal.scratchpad.lds b/bsp/qemu-sifive-e31/metal.scratchpad.lds index 01dcb8563..c55ae5af9 100644 --- a/bsp/qemu-sifive-e31/metal.scratchpad.lds +++ b/bsp/qemu-sifive-e31/metal.scratchpad.lds @@ -269,4 +269,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-s51/metal.default.lds b/bsp/qemu-sifive-s51/metal.default.lds index bc74471dd..d550a4ac0 100644 --- a/bsp/qemu-sifive-s51/metal.default.lds +++ b/bsp/qemu-sifive-s51/metal.default.lds @@ -268,4 +268,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-s51/metal.freertos.lds b/bsp/qemu-sifive-s51/metal.freertos.lds index 7108b1d16..9b70daa68 100644 --- a/bsp/qemu-sifive-s51/metal.freertos.lds +++ b/bsp/qemu-sifive-s51/metal.freertos.lds @@ -289,4 +289,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-s51/metal.ramrodata.lds b/bsp/qemu-sifive-s51/metal.ramrodata.lds index 6442a3843..bc228a21f 100644 --- a/bsp/qemu-sifive-s51/metal.ramrodata.lds +++ b/bsp/qemu-sifive-s51/metal.ramrodata.lds @@ -272,4 +272,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-s51/metal.scratchpad.lds b/bsp/qemu-sifive-s51/metal.scratchpad.lds index 01dcb8563..c55ae5af9 100644 --- a/bsp/qemu-sifive-s51/metal.scratchpad.lds +++ b/bsp/qemu-sifive-s51/metal.scratchpad.lds @@ -269,4 +269,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-u54/metal.default.lds b/bsp/qemu-sifive-u54/metal.default.lds index 1f760b2b4..027f0d731 100644 --- a/bsp/qemu-sifive-u54/metal.default.lds +++ b/bsp/qemu-sifive-u54/metal.default.lds @@ -269,4 +269,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >testram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-u54/metal.freertos.lds b/bsp/qemu-sifive-u54/metal.freertos.lds index e4db87285..201c9756e 100644 --- a/bsp/qemu-sifive-u54/metal.freertos.lds +++ b/bsp/qemu-sifive-u54/metal.freertos.lds @@ -290,4 +290,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >testram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-u54/metal.ramrodata.lds b/bsp/qemu-sifive-u54/metal.ramrodata.lds index 1eb1b1e26..f4677cb0d 100644 --- a/bsp/qemu-sifive-u54/metal.ramrodata.lds +++ b/bsp/qemu-sifive-u54/metal.ramrodata.lds @@ -273,4 +273,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >testram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-u54/metal.scratchpad.lds b/bsp/qemu-sifive-u54/metal.scratchpad.lds index 6f3f7be63..030e42b01 100644 --- a/bsp/qemu-sifive-u54/metal.scratchpad.lds +++ b/bsp/qemu-sifive-u54/metal.scratchpad.lds @@ -270,4 +270,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >testram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-u54mc/metal.default.lds b/bsp/qemu-sifive-u54mc/metal.default.lds index 3697b798f..2c52566ff 100644 --- a/bsp/qemu-sifive-u54mc/metal.default.lds +++ b/bsp/qemu-sifive-u54mc/metal.default.lds @@ -272,4 +272,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >testram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-u54mc/metal.freertos.lds b/bsp/qemu-sifive-u54mc/metal.freertos.lds index 682b0ce44..2a6e15345 100644 --- a/bsp/qemu-sifive-u54mc/metal.freertos.lds +++ b/bsp/qemu-sifive-u54mc/metal.freertos.lds @@ -293,4 +293,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >testram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-u54mc/metal.ramrodata.lds b/bsp/qemu-sifive-u54mc/metal.ramrodata.lds index 3f31927fa..1ecc9f417 100644 --- a/bsp/qemu-sifive-u54mc/metal.ramrodata.lds +++ b/bsp/qemu-sifive-u54mc/metal.ramrodata.lds @@ -276,4 +276,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >testram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/qemu-sifive-u54mc/metal.scratchpad.lds b/bsp/qemu-sifive-u54mc/metal.scratchpad.lds index 50d0fc09b..9779d960d 100644 --- a/bsp/qemu-sifive-u54mc/metal.scratchpad.lds +++ b/bsp/qemu-sifive-u54mc/metal.scratchpad.lds @@ -273,4 +273,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >testram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/sifive-hifive-unleashed/metal.default.lds b/bsp/sifive-hifive-unleashed/metal.default.lds index 12f2e27a8..4ed71b1e8 100644 --- a/bsp/sifive-hifive-unleashed/metal.default.lds +++ b/bsp/sifive-hifive-unleashed/metal.default.lds @@ -281,4 +281,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/sifive-hifive-unleashed/metal.freertos.lds b/bsp/sifive-hifive-unleashed/metal.freertos.lds index f984c78ef..9f37ace1a 100644 --- a/bsp/sifive-hifive-unleashed/metal.freertos.lds +++ b/bsp/sifive-hifive-unleashed/metal.freertos.lds @@ -302,4 +302,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/sifive-hifive-unleashed/metal.ramrodata.lds b/bsp/sifive-hifive-unleashed/metal.ramrodata.lds index c1fbbd9f8..0597a813a 100644 --- a/bsp/sifive-hifive-unleashed/metal.ramrodata.lds +++ b/bsp/sifive-hifive-unleashed/metal.ramrodata.lds @@ -356,4 +356,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/sifive-hifive-unleashed/metal.scratchpad.lds b/bsp/sifive-hifive-unleashed/metal.scratchpad.lds index 9728ac70c..8db14f043 100644 --- a/bsp/sifive-hifive-unleashed/metal.scratchpad.lds +++ b/bsp/sifive-hifive-unleashed/metal.scratchpad.lds @@ -282,4 +282,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/sifive-hifive1-revb/metal.default.lds b/bsp/sifive-hifive1-revb/metal.default.lds index 893f7a001..37261aadc 100644 --- a/bsp/sifive-hifive1-revb/metal.default.lds +++ b/bsp/sifive-hifive1-revb/metal.default.lds @@ -271,4 +271,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/sifive-hifive1-revb/metal.freertos.lds b/bsp/sifive-hifive1-revb/metal.freertos.lds index 977f20c24..581bdaf06 100644 --- a/bsp/sifive-hifive1-revb/metal.freertos.lds +++ b/bsp/sifive-hifive1-revb/metal.freertos.lds @@ -292,4 +292,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/sifive-hifive1-revb/metal.ramrodata.lds b/bsp/sifive-hifive1-revb/metal.ramrodata.lds index b10926de0..de816fa10 100644 --- a/bsp/sifive-hifive1-revb/metal.ramrodata.lds +++ b/bsp/sifive-hifive1-revb/metal.ramrodata.lds @@ -275,4 +275,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/sifive-hifive1-revb/metal.scratchpad.lds b/bsp/sifive-hifive1-revb/metal.scratchpad.lds index 42ba0d5b5..80c581e33 100644 --- a/bsp/sifive-hifive1-revb/metal.scratchpad.lds +++ b/bsp/sifive-hifive1-revb/metal.scratchpad.lds @@ -272,4 +272,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/sifive-hifive1/metal.default.lds b/bsp/sifive-hifive1/metal.default.lds index d0397abf5..b8ce9b4d6 100644 --- a/bsp/sifive-hifive1/metal.default.lds +++ b/bsp/sifive-hifive1/metal.default.lds @@ -268,4 +268,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/sifive-hifive1/metal.freertos.lds b/bsp/sifive-hifive1/metal.freertos.lds index cd98c58e3..e52a891f7 100644 --- a/bsp/sifive-hifive1/metal.freertos.lds +++ b/bsp/sifive-hifive1/metal.freertos.lds @@ -289,4 +289,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/sifive-hifive1/metal.ramrodata.lds b/bsp/sifive-hifive1/metal.ramrodata.lds index 088a8e7a5..6114d2846 100644 --- a/bsp/sifive-hifive1/metal.ramrodata.lds +++ b/bsp/sifive-hifive1/metal.ramrodata.lds @@ -272,4 +272,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/sifive-hifive1/metal.scratchpad.lds b/bsp/sifive-hifive1/metal.scratchpad.lds index 4cc81d734..ac9521f8c 100644 --- a/bsp/sifive-hifive1/metal.scratchpad.lds +++ b/bsp/sifive-hifive1/metal.scratchpad.lds @@ -269,4 +269,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >ram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/spike/metal.default.lds b/bsp/spike/metal.default.lds index 1f760b2b4..027f0d731 100644 --- a/bsp/spike/metal.default.lds +++ b/bsp/spike/metal.default.lds @@ -269,4 +269,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >testram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/spike/metal.freertos.lds b/bsp/spike/metal.freertos.lds index e4db87285..201c9756e 100644 --- a/bsp/spike/metal.freertos.lds +++ b/bsp/spike/metal.freertos.lds @@ -290,4 +290,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >testram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/spike/metal.ramrodata.lds b/bsp/spike/metal.ramrodata.lds index 1eb1b1e26..f4677cb0d 100644 --- a/bsp/spike/metal.ramrodata.lds +++ b/bsp/spike/metal.ramrodata.lds @@ -273,4 +273,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >testram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file diff --git a/bsp/spike/metal.scratchpad.lds b/bsp/spike/metal.scratchpad.lds index 6f3f7be63..030e42b01 100644 --- a/bsp/spike/metal.scratchpad.lds +++ b/bsp/spike/metal.scratchpad.lds @@ -270,4 +270,13 @@ SECTIONS PROVIDE( _heap_end = . ); PROVIDE( __heap_end = . ); } >testram :ram + + /* C++ exception handling information is + * not useful with our current runtime environment, + * and it consumes flash space. Discard it until + * we have something that can use it + */ + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + } } \ No newline at end of file