Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable newlib retargetable locking configuration #166

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions configs/arc.config
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NEWLIB_LITE_EXIT=y
# CT_LIBC_NEWLIB_MULTITHREAD is not set
CT_LIBC_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NEWLIB_WIDE_ORIENT is not set
# CT_LIBC_NEWLIB_NANO_MALLOC is not set
# CT_LIBC_NEWLIB_NANO_FORMATTED_IO is not set
Expand All @@ -29,6 +30,7 @@ CT_LIBC_NANO_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NANO_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NANO_NEWLIB_LITE_EXIT=y
# CT_LIBC_NANO_NEWLIB_MULTITHREAD is not set
CT_LIBC_NANO_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NANO_NEWLIB_WIDE_ORIENT is not set
CT_LIBC_NANO_NEWLIB_NANO_MALLOC=y
CT_LIBC_NANO_NEWLIB_NANO_FORMATTED_IO=y
Expand Down
2 changes: 2 additions & 0 deletions configs/arm.config
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NEWLIB_LITE_EXIT=y
# CT_LIBC_NEWLIB_MULTITHREAD is not set
CT_LIBC_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NEWLIB_WIDE_ORIENT is not set
# CT_LIBC_NEWLIB_NANO_MALLOC is not set
# CT_LIBC_NEWLIB_NANO_FORMATTED_IO is not set
Expand All @@ -29,6 +30,7 @@ CT_LIBC_NANO_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NANO_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NANO_NEWLIB_LITE_EXIT=y
# CT_LIBC_NANO_NEWLIB_MULTITHREAD is not set
CT_LIBC_NANO_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NANO_NEWLIB_WIDE_ORIENT is not set
CT_LIBC_NANO_NEWLIB_NANO_MALLOC=y
CT_LIBC_NANO_NEWLIB_NANO_FORMATTED_IO=y
Expand Down
2 changes: 2 additions & 0 deletions configs/arm64.config
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NEWLIB_LITE_EXIT=y
# CT_LIBC_NEWLIB_MULTITHREAD is not set
CT_LIBC_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NEWLIB_WIDE_ORIENT is not set
# CT_LIBC_NEWLIB_NANO_MALLOC is not set
# CT_LIBC_NEWLIB_NANO_FORMATTED_IO is not set
Expand All @@ -29,6 +30,7 @@ CT_LIBC_NANO_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NANO_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NANO_NEWLIB_LITE_EXIT=y
# CT_LIBC_NANO_NEWLIB_MULTITHREAD is not set
CT_LIBC_NANO_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NANO_NEWLIB_WIDE_ORIENT is not set
CT_LIBC_NANO_NEWLIB_NANO_MALLOC=y
CT_LIBC_NANO_NEWLIB_NANO_FORMATTED_IO=y
Expand Down
2 changes: 2 additions & 0 deletions configs/i586.config
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NEWLIB_LITE_EXIT=y
# CT_LIBC_NEWLIB_MULTITHREAD is not set
CT_LIBC_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NEWLIB_WIDE_ORIENT is not set
# CT_LIBC_NEWLIB_NANO_MALLOC is not set
# CT_LIBC_NEWLIB_NANO_FORMATTED_IO is not set
Expand All @@ -30,6 +31,7 @@ CT_LIBC_NANO_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NANO_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NANO_NEWLIB_LITE_EXIT=y
# CT_LIBC_NANO_NEWLIB_MULTITHREAD is not set
CT_LIBC_NANO_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NANO_NEWLIB_WIDE_ORIENT is not set
CT_LIBC_NANO_NEWLIB_NANO_MALLOC=y
CT_LIBC_NANO_NEWLIB_NANO_FORMATTED_IO=y
Expand Down
2 changes: 2 additions & 0 deletions configs/iamcu.config
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NEWLIB_LITE_EXIT=y
# CT_LIBC_NEWLIB_MULTITHREAD is not set
CT_LIBC_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NEWLIB_WIDE_ORIENT is not set
# CT_LIBC_NEWLIB_NANO_MALLOC is not set
# CT_LIBC_NEWLIB_NANO_FORMATTED_IO is not set
Expand All @@ -30,6 +31,7 @@ CT_LIBC_NANO_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NANO_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NANO_NEWLIB_LITE_EXIT=y
# CT_LIBC_NANO_NEWLIB_MULTITHREAD is not set
CT_LIBC_NANO_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NANO_NEWLIB_WIDE_ORIENT is not set
CT_LIBC_NANO_NEWLIB_NANO_MALLOC=y
CT_LIBC_NANO_NEWLIB_NANO_FORMATTED_IO=y
Expand Down
2 changes: 2 additions & 0 deletions configs/mips.config
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NEWLIB_LITE_EXIT=y
# CT_LIBC_NEWLIB_MULTITHREAD is not set
CT_LIBC_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NEWLIB_WIDE_ORIENT is not set
# CT_LIBC_NEWLIB_NANO_MALLOC is not set
# CT_LIBC_NEWLIB_NANO_FORMATTED_IO is not set
Expand All @@ -28,6 +29,7 @@ CT_LIBC_NANO_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NANO_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NANO_NEWLIB_LITE_EXIT=y
# CT_LIBC_NANO_NEWLIB_MULTITHREAD is not set
CT_LIBC_NANO_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NANO_NEWLIB_WIDE_ORIENT is not set
CT_LIBC_NANO_NEWLIB_NANO_MALLOC=y
CT_LIBC_NANO_NEWLIB_NANO_FORMATTED_IO=y
Expand Down
2 changes: 2 additions & 0 deletions configs/nios2.config
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NEWLIB_LITE_EXIT=y
# CT_LIBC_NEWLIB_MULTITHREAD is not set
CT_LIBC_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NEWLIB_WIDE_ORIENT is not set
# CT_LIBC_NEWLIB_NANO_MALLOC is not set
# CT_LIBC_NEWLIB_NANO_FORMATTED_IO is not set
Expand All @@ -29,6 +30,7 @@ CT_LIBC_NANO_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NANO_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NANO_NEWLIB_LITE_EXIT=y
# CT_LIBC_NANO_NEWLIB_MULTITHREAD is not set
CT_LIBC_NANO_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NANO_NEWLIB_WIDE_ORIENT is not set
CT_LIBC_NANO_NEWLIB_NANO_MALLOC=y
CT_LIBC_NANO_NEWLIB_NANO_FORMATTED_IO=y
Expand Down
2 changes: 2 additions & 0 deletions configs/riscv64.config
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NEWLIB_LITE_EXIT=y
# CT_LIBC_NEWLIB_MULTITHREAD is not set
CT_LIBC_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NEWLIB_WIDE_ORIENT is not set
# CT_LIBC_NEWLIB_NANO_MALLOC is not set
# CT_LIBC_NEWLIB_NANO_FORMATTED_IO is not set
Expand All @@ -32,6 +33,7 @@ CT_LIBC_NANO_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NANO_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NANO_NEWLIB_LITE_EXIT=y
# CT_LIBC_NANO_NEWLIB_MULTITHREAD is not set
CT_LIBC_NANO_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NANO_NEWLIB_WIDE_ORIENT is not set
CT_LIBC_NANO_NEWLIB_NANO_MALLOC=y
CT_LIBC_NANO_NEWLIB_NANO_FORMATTED_IO=y
Expand Down
2 changes: 2 additions & 0 deletions configs/sparc.config
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NEWLIB_LITE_EXIT=y
# CT_LIBC_NEWLIB_MULTITHREAD is not set
CT_LIBC_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NEWLIB_WIDE_ORIENT is not set
# CT_LIBC_NEWLIB_NANO_MALLOC is not set
# CT_LIBC_NEWLIB_NANO_FORMATTED_IO is not set
Expand All @@ -28,6 +29,7 @@ CT_LIBC_NANO_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NANO_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NANO_NEWLIB_LITE_EXIT=y
# CT_LIBC_NANO_NEWLIB_MULTITHREAD is not set
CT_LIBC_NANO_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NANO_NEWLIB_WIDE_ORIENT is not set
CT_LIBC_NANO_NEWLIB_NANO_MALLOC=y
CT_LIBC_NANO_NEWLIB_NANO_FORMATTED_IO=y
Expand Down
2 changes: 2 additions & 0 deletions configs/x86_64-zephyr-elf.config
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NEWLIB_LITE_EXIT=y
# CT_LIBC_NEWLIB_MULTITHREAD is not set
CT_LIBC_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NEWLIB_WIDE_ORIENT is not set
# CT_LIBC_NEWLIB_NANO_MALLOC is not set
# CT_LIBC_NEWLIB_NANO_FORMATTED_IO is not set
Expand All @@ -28,6 +29,7 @@ CT_LIBC_NANO_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NANO_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NANO_NEWLIB_LITE_EXIT=y
# CT_LIBC_NANO_NEWLIB_MULTITHREAD is not set
CT_LIBC_NANO_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NANO_NEWLIB_WIDE_ORIENT is not set
CT_LIBC_NANO_NEWLIB_NANO_MALLOC=y
CT_LIBC_NANO_NEWLIB_NANO_FORMATTED_IO=y
Expand Down
2 changes: 2 additions & 0 deletions configs/xtensa_intel_apl_adsp.config
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NEWLIB_LITE_EXIT=y
# CT_LIBC_NEWLIB_MULTITHREAD is not set
CT_LIBC_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NEWLIB_WIDE_ORIENT is not set
# CT_LIBC_NEWLIB_NANO_MALLOC is not set
# CT_LIBC_NEWLIB_NANO_FORMATTED_IO is not set
Expand All @@ -35,6 +36,7 @@ CT_LIBC_NANO_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NANO_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NANO_NEWLIB_LITE_EXIT=y
# CT_LIBC_NANO_NEWLIB_MULTITHREAD is not set
CT_LIBC_NANO_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NANO_NEWLIB_WIDE_ORIENT is not set
CT_LIBC_NANO_NEWLIB_NANO_MALLOC=y
CT_LIBC_NANO_NEWLIB_NANO_FORMATTED_IO=y
Expand Down
2 changes: 2 additions & 0 deletions configs/xtensa_intel_s1000.config
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NEWLIB_LITE_EXIT=y
# CT_LIBC_NEWLIB_MULTITHREAD is not set
CT_LIBC_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NEWLIB_WIDE_ORIENT is not set
# CT_LIBC_NEWLIB_NANO_MALLOC is not set
# CT_LIBC_NEWLIB_NANO_FORMATTED_IO is not set
Expand All @@ -34,6 +35,7 @@ CT_LIBC_NANO_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NANO_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NANO_NEWLIB_LITE_EXIT=y
# CT_LIBC_NANO_NEWLIB_MULTITHREAD is not set
CT_LIBC_NANO_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NANO_NEWLIB_WIDE_ORIENT is not set
CT_LIBC_NANO_NEWLIB_NANO_MALLOC=y
CT_LIBC_NANO_NEWLIB_NANO_FORMATTED_IO=y
Expand Down
2 changes: 2 additions & 0 deletions configs/xtensa_sample_controller.config
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NEWLIB_LITE_EXIT=y
# CT_LIBC_NEWLIB_MULTITHREAD is not set
CT_LIBC_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NEWLIB_WIDE_ORIENT is not set
# CT_LIBC_NEWLIB_NANO_MALLOC is not set
# CT_LIBC_NEWLIB_NANO_FORMATTED_IO is not set
Expand All @@ -34,6 +35,7 @@ CT_LIBC_NANO_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NANO_NEWLIB_GLOBAL_ATEXIT=y
CT_LIBC_NANO_NEWLIB_LITE_EXIT=y
# CT_LIBC_NANO_NEWLIB_MULTITHREAD is not set
CT_LIBC_NANO_NEWLIB_RETARGETABLE_LOCKING=y
# CT_LIBC_NANO_NEWLIB_WIDE_ORIENT is not set
CT_LIBC_NANO_NEWLIB_NANO_MALLOC=y
CT_LIBC_NANO_NEWLIB_NANO_FORMATTED_IO=y
Expand Down
2 changes: 1 addition & 1 deletion patches/0001-Add-newlib-nano-variant-configurations.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 62f28beb597e8299a79add217281143fc6cb5ac2 Mon Sep 17 00:00:00 2001
From: Stephanos Ioannidis <[email protected]>
Date: Thu, 28 Nov 2019 23:32:10 +0900
Subject: [PATCH 1/5] Add newlib nano variant configurations
Subject: [PATCH 1/6] Add newlib nano variant configurations

This commit adds the new configuration option 'LIBC_NANO_NEWLIB' for
specifying the additional 'nano' variant of newlib to be built.
Expand Down
2 changes: 1 addition & 1 deletion patches/0002-Support-building-newlib-nano-variant.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From c7e4eafab9bd940058ce38ca0484dd897c6202c1 Mon Sep 17 00:00:00 2001
From: Stephanos Ioannidis <[email protected]>
Date: Fri, 29 Nov 2019 01:35:57 +0900
Subject: [PATCH 2/5] Support building newlib nano variant
Subject: [PATCH 2/6] Support building newlib nano variant

This commit updates the newlib build script to build the additional
newlib nano variant using the nano variant-specific build options.
Expand Down
2 changes: 1 addition & 1 deletion patches/0003-Support-building-libstdc-nano-variant.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 3fe25cedd9b6db08dcf1d990784dc3ab89c10e86 Mon Sep 17 00:00:00 2001
From: Stephanos Ioannidis <[email protected]>
Date: Fri, 29 Nov 2019 20:44:21 +0900
Subject: [PATCH 3/5] Support building libstdc++ nano variant
Subject: [PATCH 3/6] Support building libstdc++ nano variant

This commit adds the new configuration option 'CC_GCC_LIBSTDCXX_NANO'
for specifying the additional 'nano' variant of libstdc++ to be built
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 6a20aad951cd79b4141842f261b68614b10088d1 Mon Sep 17 00:00:00 2001
From: Stephanos Ioannidis <[email protected]>
Date: Sat, 30 Nov 2019 01:42:18 +0900
Subject: [PATCH 4/5] Assume '-O2' by default for building gcc target libraries
Subject: [PATCH 4/6] Assume '-O2' by default for building gcc target libraries

The gcc target libraries (e.g. libstdc++) are currently built without
any optimisation flag when 'CT_CC_GCC_ENABLE_TARGET_OPTSPACE' is not
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 6fca4742a80e26ae00c1ca947e93ed20f8845714 Mon Sep 17 00:00:00 2001
From: Stephanos Ioannidis <[email protected]>
Date: Fri, 29 Nov 2019 22:25:17 +0900
Subject: [PATCH 5/5] Allow stripping target toolchain libraries
Subject: [PATCH 5/6] Allow stripping target toolchain libraries

This commit adds an option to strip the target toolchain libraries
(e.g. libc, libstdc++) of any unneeded or debugging information.
Expand Down
61 changes: 61 additions & 0 deletions patches/0006-Add-newlib-retargetable-locking-configuration.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
From 968bf7d65812bba490c4222b3d05fa94cf856472 Mon Sep 17 00:00:00 2001
From: Stephanos Ioannidis <[email protected]>
Date: Fri, 20 Dec 2019 11:18:46 +0900
Subject: [PATCH 6/6] Add newlib retargetable locking configuration

This commit adds support for the newlib configuration option
'--enable-newlib-retargetable-locking'.

Signed-off-by: Stephanos Ioannidis <[email protected]>
---
config/libc/newlib.in | 14 ++++++++++++++
scripts/build/libc/newlib.sh | 1 +
2 files changed, 15 insertions(+)

diff --git a/config/libc/newlib.in b/config/libc/newlib.in
index bd193cd8..d84db70b 100644
--- a/config/libc/newlib.in
+++ b/config/libc/newlib.in
@@ -152,6 +152,13 @@ config LIBC_NEWLIB_MULTITHREAD
help
Enable support for multiple threads.

+config LIBC_NEWLIB_RETARGETABLE_LOCKING
+ bool
+ prompt "Enable retargetable locking"
+ help
+ Enable retargetable locking to allow the operating system to override
+ the dummy lock functions defined within the newlib.
+
config LIBC_NEWLIB_EXTRA_SECTIONS
bool
prompt "Place each function & data element in their own section"
@@ -355,6 +362,13 @@ config LIBC_NANO_NEWLIB_MULTITHREAD
help
Enable support for multiple threads.

+config LIBC_NANO_NEWLIB_RETARGETABLE_LOCKING
+ bool
+ prompt "Enable retargetable locking"
+ help
+ Enable retargetable locking to allow the operating system to override
+ the dummy lock functions defined within the newlib.
+
config LIBC_NANO_NEWLIB_EXTRA_SECTIONS
bool
prompt "Place each function & data element in their own section"
diff --git a/scripts/build/libc/newlib.sh b/scripts/build/libc/newlib.sh
index ca53c7f8..299698ac 100644
--- a/scripts/build/libc/newlib.sh
+++ b/scripts/build/libc/newlib.sh
@@ -220,6 +220,7 @@ GLOBAL_ATEXIT:newlib-global-atexit
LITE_EXIT:lite-exit
REENT_SMALL:newlib-reent-small
MULTITHREAD:newlib-multithread
+RETARGETABLE_LOCKING:newlib-retargetable-locking
WIDE_ORIENT:newlib-wide-orient
UNBUF_STREAM_OPT:newlib-unbuf-stream-opt
ENABLE_TARGET_OPTSPACE:target-optspace
--
2.17.1