diff mbox series

[2/2] optee-os-tadevkit: fix binutils segment has RXW permissions

Message ID 20221017102508.1999292-2-jose.quaresma@foundries.io
State Rejected
Delegated to: Ryan Eatmon
Headers show
Series [1/2] trusted-firmware-a: fix binutils segment has RXW permissions | expand

Commit Message

Jose Quaresma Oct. 17, 2022, 10:25 a.m. UTC
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
---
 ...w-warns-when-a-segment-has-RXW-permi.patch | 104 ++++++++++++++++++
 .../optee/optee-os-tadevkit_%.bbappend        |   2 +
 2 files changed, 106 insertions(+)
 create mode 100644 meta-ti-bsp/recipes-security/optee/optee-os-tadevkit/0001-Binutils-2.39-now-warns-when-a-segment-has-RXW-permi.patch

Comments

Jose Quaresma Oct. 26, 2022, 7:28 a.m. UTC | #1
Ping

A segunda, 17/10/2022, 11:25, Jose Quaresma <quaresma.jose@gmail.com>
escreveu:

> Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
> ---
>  ...w-warns-when-a-segment-has-RXW-permi.patch | 104 ++++++++++++++++++
>  .../optee/optee-os-tadevkit_%.bbappend        |   2 +
>  2 files changed, 106 insertions(+)
>  create mode 100644
> meta-ti-bsp/recipes-security/optee/optee-os-tadevkit/0001-Binutils-2.39-now-warns-when-a-segment-has-RXW-permi.patch
>
> diff --git
> a/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit/0001-Binutils-2.39-now-warns-when-a-segment-has-RXW-permi.patch
> b/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit/0001-Binutils-2.39-now-warns-when-a-segment-has-RXW-permi.patch
> new file mode 100644
> index 00000000..ed3d1973
> --- /dev/null
> +++
> b/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit/0001-Binutils-2.39-now-warns-when-a-segment-has-RXW-permi.patch
> @@ -0,0 +1,104 @@
> +From 8efd62bd8aec2a45ae0e3505d2bb1d3b05d1be50 Mon Sep 17 00:00:00 2001
> +From: Jose Quaresma <jose.quaresma@foundries.io>
> +Date: Mon, 17 Oct 2022 08:56:59 +0000
> +Subject: [PATCH] Binutils 2.39 now warns when a segment has RXW
> + permissions[1].
> +
> +As we use the --fatal-warnings the build is falling:
> +
> +| aarch64-lmp-linux-ld.bfd: warning:
> /oe/build/tmp-lmp/work/am62xx_evm-lmp-linux/optee-os-tadevkit/3.17.0+gitAUTOINC+15a746d28d-r0/build/core/all_objs.o
> has a LOAD segment with RWX permissions
> +| aarch64-lmp-linux-ld.bfd: warning:
> /oe/build/tmp-lmp/work/am62xx_evm-lmp-linux/optee-os-tadevkit/3.17.0+gitAUTOINC+15a746d28d-r0/build/core/unpaged.o
> has a LOAD segment with RWX permissions
> +| aarch64-lmp-linux-ld.bfd: warning:
> /oe/build/tmp-lmp/work/am62xx_evm-lmp-linux/optee-os-tadevkit/3.17.0+gitAUTOINC+15a746d28d-r0/build/core/init.o
> has a LOAD segment with RWX permissions
> +| aarch64-lmp-linux-ld.bfd: warning:
> /oe/build/tmp-lmp/work/am62xx_evm-lmp-linux/optee-os-tadevkit/3.17.0+gitAUTOINC+15a746d28d-r0/build/core/tee.elf
> has a LOAD segment with RWX permissions
> +
> +So as temporary solution, remove --fatal-warnings from the source code:
> +
> +| sed -e "s:--fatal-warnings::g" -i core/arch/arm/kernel/link.mk mk/
> lib.mk ldelf/link.mk ta/arch/arm/link.mk ta/arch/arm/link_shlib.mk
> +
> +[1]
> https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
> +
> +Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
> +---
> + core/arch/arm/kernel/link.mk | 6 +++---
> + ldelf/link.mk                | 2 +-
> + mk/lib.mk                    | 2 +-
> + ta/arch/arm/link.mk          | 2 +-
> + ta/arch/arm/link_shlib.mk    | 2 +-
> + 5 files changed, 7 insertions(+), 7 deletions(-)
> +
> +diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
> +index 610b22cc7..1cad09f3e 100644
> +--- a/core/arch/arm/kernel/link.mk
> ++++ b/core/arch/arm/kernel/link.mk
> +@@ -23,13 +23,13 @@ ifeq ($(CFG_CORE_BTI),y)
> + # force-bti tells the linker to warn if some object files lack the
> .note.gnu.property
> + # section with the BTI flag, and to turn on the BTI flag in the output
> anyway. The
> + # resulting executable would likely fail at runtime so we use this flag
> along
> +-# with the --fatal-warnings below to check and prevent this situation
> (with useful
> ++# with the  below to check and prevent this situation (with useful
> + # diagnostics).
> +-link-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
> ++link-ldflags += $(call ld-option,-z force-bti)
> + endif
> + link-ldflags += -T $(link-script-pp) -Map=$(link-out-dir)/tee.map
> + link-ldflags += --sort-section=alignment
> +-link-ldflags += --fatal-warnings
> ++link-ldflags +=
> + link-ldflags += --gc-sections
> +
> + link-ldadd  = $(LDADD)
> +diff --git a/ldelf/link.mk b/ldelf/link.mk
> +index 64c8212a0..dee806428 100644
> +--- a/ldelf/link.mk
> ++++ b/ldelf/link.mk
> +@@ -18,7 +18,7 @@ link-ldflags += -Map=$(link-out-dir$(sm))/ldelf.map
> + link-ldflags += --sort-section=alignment
> + link-ldflags += -z max-page-size=4096 # OP-TEE always uses 4K alignment
> + ifeq ($(CFG_CORE_BTI),y)
> +-link-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
> ++link-ldflags += $(call ld-option,-z force-bti)
> + endif
> + link-ldflags += $(link-ldflags$(sm))
> +
> +diff --git a/mk/lib.mk b/mk/lib.mk
> +index 30f2040a3..82ede2954 100644
> +--- a/mk/lib.mk
> ++++ b/mk/lib.mk
> +@@ -60,7 +60,7 @@ $(lib-libfile): $(objs)
> + endif
> + ifeq ($(CFG_ULIBS_SHARED),y)
> + ifeq ($(sm)-$(CFG_TA_BTI),ta_arm64-y)
> +-lib-ldflags$(libuuid) += $$(call ld-option,-z force-bti) --fatal-warnings
> ++lib-ldflags$(libuuid) += $$(call ld-option,-z force-bti)
> + endif
> + $(lib-shlibfile): $(objs) $(lib-needed-so-files)
> +       @$(cmd-echo-silent) '  LD      $$@'
> +diff --git a/ta/arch/arm/link.mk b/ta/arch/arm/link.mk
> +index ec5c8db67..f02f7ad5b 100644
> +--- a/ta/arch/arm/link.mk
> ++++ b/ta/arch/arm/link.mk
> +@@ -32,7 +32,7 @@ link-ldflags +=
> -Map=$(link-out-dir$(sm))/$(user-ta-uuid).map
> + link-ldflags += --sort-section=alignment
> + link-ldflags += -z max-page-size=4096 # OP-TEE always uses 4K alignment
> + ifeq ($(sm)-$(CFG_TA_BTI),ta_arm64-y)
> +-link-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
> ++link-ldflags += $(call ld-option,-z force-bti)
> + endif
> + link-ldflags += --as-needed # Do not add dependency on unused shlib
> + link-ldflags += $(link-ldflags$(sm))
> +diff --git a/ta/arch/arm/link_shlib.mk b/ta/arch/arm/link_shlib.mk
> +index 0cdf3bfa6..3b696b6a9 100644
> +--- a/ta/arch/arm/link_shlib.mk
> ++++ b/ta/arch/arm/link_shlib.mk
> +@@ -21,7 +21,7 @@ shlink-ldflags  = $(LDFLAGS)
> + shlink-ldflags += -shared -z max-page-size=4096
> + shlink-ldflags += $(call ld-option,-z separate-loadable-segments)
> + ifeq ($(sm)-$(CFG_TA_BTI),ta_arm64-y)
> +-shlink-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
> ++shlink-ldflags += $(call ld-option,-z force-bti)
> + endif
> + shlink-ldflags += --as-needed # Do not add dependency on unused shlib
> +
> +--
> +2.34.1
> +
> diff --git
> a/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit_%.bbappend
> b/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit_%.bbappend
> index 4300c1a9..30ba6d35 100644
> --- a/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit_%.bbappend
> +++ b/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit_%.bbappend
> @@ -1,2 +1,4 @@
> +FILESEXTRAPATHS:prepend:ti-soc := "${THISDIR}/${PN}:"
>  PV:ti-soc = "3.17.0+git${SRCPV}"
>  SRCREV:ti-soc = "15a746d28d10df3d79d72bc9fe4a5a654b88bcca"
> +SRC_URI:append:ti-soc = "
> file://0001-Binutils-2.39-now-warns-when-a-segment-has-RXW-permi.patch"
> --
> 2.34.1
>
>
Jose Quaresma Oct. 31, 2022, 7:25 p.m. UTC | #2
Hi meta-ti maintainer,

Is there any issue with this patch that I need to address?
It was sent a few days ago and there is no feedback.

Best regards,
Jose

Jose Quaresma via lists.yoctoproject.org <quaresma.jose=
gmail.com@lists.yoctoproject.org> escreveu no dia quarta, 26/10/2022 à(s)
08:29:

> Ping
>
> A segunda, 17/10/2022, 11:25, Jose Quaresma <quaresma.jose@gmail.com>
> escreveu:
>
>> Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
>> ---
>>  ...w-warns-when-a-segment-has-RXW-permi.patch | 104 ++++++++++++++++++
>>  .../optee/optee-os-tadevkit_%.bbappend        |   2 +
>>  2 files changed, 106 insertions(+)
>>  create mode 100644
>> meta-ti-bsp/recipes-security/optee/optee-os-tadevkit/0001-Binutils-2.39-now-warns-when-a-segment-has-RXW-permi.patch
>>
>> diff --git
>> a/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit/0001-Binutils-2.39-now-warns-when-a-segment-has-RXW-permi.patch
>> b/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit/0001-Binutils-2.39-now-warns-when-a-segment-has-RXW-permi.patch
>> new file mode 100644
>> index 00000000..ed3d1973
>> --- /dev/null
>> +++
>> b/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit/0001-Binutils-2.39-now-warns-when-a-segment-has-RXW-permi.patch
>> @@ -0,0 +1,104 @@
>> +From 8efd62bd8aec2a45ae0e3505d2bb1d3b05d1be50 Mon Sep 17 00:00:00 2001
>> +From: Jose Quaresma <jose.quaresma@foundries.io>
>> +Date: Mon, 17 Oct 2022 08:56:59 +0000
>> +Subject: [PATCH] Binutils 2.39 now warns when a segment has RXW
>> + permissions[1].
>> +
>> +As we use the --fatal-warnings the build is falling:
>> +
>> +| aarch64-lmp-linux-ld.bfd: warning:
>> /oe/build/tmp-lmp/work/am62xx_evm-lmp-linux/optee-os-tadevkit/3.17.0+gitAUTOINC+15a746d28d-r0/build/core/all_objs.o
>> has a LOAD segment with RWX permissions
>> +| aarch64-lmp-linux-ld.bfd: warning:
>> /oe/build/tmp-lmp/work/am62xx_evm-lmp-linux/optee-os-tadevkit/3.17.0+gitAUTOINC+15a746d28d-r0/build/core/unpaged.o
>> has a LOAD segment with RWX permissions
>> +| aarch64-lmp-linux-ld.bfd: warning:
>> /oe/build/tmp-lmp/work/am62xx_evm-lmp-linux/optee-os-tadevkit/3.17.0+gitAUTOINC+15a746d28d-r0/build/core/init.o
>> has a LOAD segment with RWX permissions
>> +| aarch64-lmp-linux-ld.bfd: warning:
>> /oe/build/tmp-lmp/work/am62xx_evm-lmp-linux/optee-os-tadevkit/3.17.0+gitAUTOINC+15a746d28d-r0/build/core/tee.elf
>> has a LOAD segment with RWX permissions
>> +
>> +So as temporary solution, remove --fatal-warnings from the source code:
>> +
>> +| sed -e "s:--fatal-warnings::g" -i core/arch/arm/kernel/link.mk mk/
>> lib.mk ldelf/link.mk ta/arch/arm/link.mk ta/arch/arm/link_shlib.mk
>> +
>> +[1]
>> https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
>> +
>> +Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
>> +---
>> + core/arch/arm/kernel/link.mk | 6 +++---
>> + ldelf/link.mk                | 2 +-
>> + mk/lib.mk                    | 2 +-
>> + ta/arch/arm/link.mk          | 2 +-
>> + ta/arch/arm/link_shlib.mk    | 2 +-
>> + 5 files changed, 7 insertions(+), 7 deletions(-)
>> +
>> +diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
>> +index 610b22cc7..1cad09f3e 100644
>> +--- a/core/arch/arm/kernel/link.mk
>> ++++ b/core/arch/arm/kernel/link.mk
>> +@@ -23,13 +23,13 @@ ifeq ($(CFG_CORE_BTI),y)
>> + # force-bti tells the linker to warn if some object files lack the
>> .note.gnu.property
>> + # section with the BTI flag, and to turn on the BTI flag in the output
>> anyway. The
>> + # resulting executable would likely fail at runtime so we use this flag
>> along
>> +-# with the --fatal-warnings below to check and prevent this situation
>> (with useful
>> ++# with the  below to check and prevent this situation (with useful
>> + # diagnostics).
>> +-link-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
>> ++link-ldflags += $(call ld-option,-z force-bti)
>> + endif
>> + link-ldflags += -T $(link-script-pp) -Map=$(link-out-dir)/tee.map
>> + link-ldflags += --sort-section=alignment
>> +-link-ldflags += --fatal-warnings
>> ++link-ldflags +=
>> + link-ldflags += --gc-sections
>> +
>> + link-ldadd  = $(LDADD)
>> +diff --git a/ldelf/link.mk b/ldelf/link.mk
>> +index 64c8212a0..dee806428 100644
>> +--- a/ldelf/link.mk
>> ++++ b/ldelf/link.mk
>> +@@ -18,7 +18,7 @@ link-ldflags += -Map=$(link-out-dir$(sm))/ldelf.map
>> + link-ldflags += --sort-section=alignment
>> + link-ldflags += -z max-page-size=4096 # OP-TEE always uses 4K alignment
>> + ifeq ($(CFG_CORE_BTI),y)
>> +-link-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
>> ++link-ldflags += $(call ld-option,-z force-bti)
>> + endif
>> + link-ldflags += $(link-ldflags$(sm))
>> +
>> +diff --git a/mk/lib.mk b/mk/lib.mk
>> +index 30f2040a3..82ede2954 100644
>> +--- a/mk/lib.mk
>> ++++ b/mk/lib.mk
>> +@@ -60,7 +60,7 @@ $(lib-libfile): $(objs)
>> + endif
>> + ifeq ($(CFG_ULIBS_SHARED),y)
>> + ifeq ($(sm)-$(CFG_TA_BTI),ta_arm64-y)
>> +-lib-ldflags$(libuuid) += $$(call ld-option,-z force-bti)
>> --fatal-warnings
>> ++lib-ldflags$(libuuid) += $$(call ld-option,-z force-bti)
>> + endif
>> + $(lib-shlibfile): $(objs) $(lib-needed-so-files)
>> +       @$(cmd-echo-silent) '  LD      $$@'
>> +diff --git a/ta/arch/arm/link.mk b/ta/arch/arm/link.mk
>> +index ec5c8db67..f02f7ad5b 100644
>> +--- a/ta/arch/arm/link.mk
>> ++++ b/ta/arch/arm/link.mk
>> +@@ -32,7 +32,7 @@ link-ldflags +=
>> -Map=$(link-out-dir$(sm))/$(user-ta-uuid).map
>> + link-ldflags += --sort-section=alignment
>> + link-ldflags += -z max-page-size=4096 # OP-TEE always uses 4K alignment
>> + ifeq ($(sm)-$(CFG_TA_BTI),ta_arm64-y)
>> +-link-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
>> ++link-ldflags += $(call ld-option,-z force-bti)
>> + endif
>> + link-ldflags += --as-needed # Do not add dependency on unused shlib
>> + link-ldflags += $(link-ldflags$(sm))
>> +diff --git a/ta/arch/arm/link_shlib.mk b/ta/arch/arm/link_shlib.mk
>> +index 0cdf3bfa6..3b696b6a9 100644
>> +--- a/ta/arch/arm/link_shlib.mk
>> ++++ b/ta/arch/arm/link_shlib.mk
>> +@@ -21,7 +21,7 @@ shlink-ldflags  = $(LDFLAGS)
>> + shlink-ldflags += -shared -z max-page-size=4096
>> + shlink-ldflags += $(call ld-option,-z separate-loadable-segments)
>> + ifeq ($(sm)-$(CFG_TA_BTI),ta_arm64-y)
>> +-shlink-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
>> ++shlink-ldflags += $(call ld-option,-z force-bti)
>> + endif
>> + shlink-ldflags += --as-needed # Do not add dependency on unused shlib
>> +
>> +--
>> +2.34.1
>> +
>> diff --git
>> a/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit_%.bbappend
>> b/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit_%.bbappend
>> index 4300c1a9..30ba6d35 100644
>> --- a/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit_%.bbappend
>> +++ b/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit_%.bbappend
>> @@ -1,2 +1,4 @@
>> +FILESEXTRAPATHS:prepend:ti-soc := "${THISDIR}/${PN}:"
>>  PV:ti-soc = "3.17.0+git${SRCPV}"
>>  SRCREV:ti-soc = "15a746d28d10df3d79d72bc9fe4a5a654b88bcca"
>> +SRC_URI:append:ti-soc = "
>> file://0001-Binutils-2.39-now-warns-when-a-segment-has-RXW-permi.patch"
>> --
>> 2.34.1
>>
>>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#15203):
> https://lists.yoctoproject.org/g/meta-ti/message/15203
> Mute This Topic: https://lists.yoctoproject.org/mt/94381078/5052612
> Group Owner: meta-ti+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/unsub [
> quaresma.jose@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
diff mbox series

Patch

diff --git a/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit/0001-Binutils-2.39-now-warns-when-a-segment-has-RXW-permi.patch b/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit/0001-Binutils-2.39-now-warns-when-a-segment-has-RXW-permi.patch
new file mode 100644
index 00000000..ed3d1973
--- /dev/null
+++ b/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit/0001-Binutils-2.39-now-warns-when-a-segment-has-RXW-permi.patch
@@ -0,0 +1,104 @@ 
+From 8efd62bd8aec2a45ae0e3505d2bb1d3b05d1be50 Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <jose.quaresma@foundries.io>
+Date: Mon, 17 Oct 2022 08:56:59 +0000
+Subject: [PATCH] Binutils 2.39 now warns when a segment has RXW
+ permissions[1].
+
+As we use the --fatal-warnings the build is falling:
+
+| aarch64-lmp-linux-ld.bfd: warning: /oe/build/tmp-lmp/work/am62xx_evm-lmp-linux/optee-os-tadevkit/3.17.0+gitAUTOINC+15a746d28d-r0/build/core/all_objs.o has a LOAD segment with RWX permissions
+| aarch64-lmp-linux-ld.bfd: warning: /oe/build/tmp-lmp/work/am62xx_evm-lmp-linux/optee-os-tadevkit/3.17.0+gitAUTOINC+15a746d28d-r0/build/core/unpaged.o has a LOAD segment with RWX permissions
+| aarch64-lmp-linux-ld.bfd: warning: /oe/build/tmp-lmp/work/am62xx_evm-lmp-linux/optee-os-tadevkit/3.17.0+gitAUTOINC+15a746d28d-r0/build/core/init.o has a LOAD segment with RWX permissions
+| aarch64-lmp-linux-ld.bfd: warning: /oe/build/tmp-lmp/work/am62xx_evm-lmp-linux/optee-os-tadevkit/3.17.0+gitAUTOINC+15a746d28d-r0/build/core/tee.elf has a LOAD segment with RWX permissions
+
+So as temporary solution, remove --fatal-warnings from the source code:
+
+| sed -e "s:--fatal-warnings::g" -i core/arch/arm/kernel/link.mk mk/lib.mk ldelf/link.mk ta/arch/arm/link.mk ta/arch/arm/link_shlib.mk
+
+[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
+
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+---
+ core/arch/arm/kernel/link.mk | 6 +++---
+ ldelf/link.mk                | 2 +-
+ mk/lib.mk                    | 2 +-
+ ta/arch/arm/link.mk          | 2 +-
+ ta/arch/arm/link_shlib.mk    | 2 +-
+ 5 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
+index 610b22cc7..1cad09f3e 100644
+--- a/core/arch/arm/kernel/link.mk
++++ b/core/arch/arm/kernel/link.mk
+@@ -23,13 +23,13 @@ ifeq ($(CFG_CORE_BTI),y)
+ # force-bti tells the linker to warn if some object files lack the .note.gnu.property
+ # section with the BTI flag, and to turn on the BTI flag in the output anyway. The
+ # resulting executable would likely fail at runtime so we use this flag along
+-# with the --fatal-warnings below to check and prevent this situation (with useful
++# with the  below to check and prevent this situation (with useful
+ # diagnostics).
+-link-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
++link-ldflags += $(call ld-option,-z force-bti) 
+ endif
+ link-ldflags += -T $(link-script-pp) -Map=$(link-out-dir)/tee.map
+ link-ldflags += --sort-section=alignment
+-link-ldflags += --fatal-warnings
++link-ldflags += 
+ link-ldflags += --gc-sections
+ 
+ link-ldadd  = $(LDADD)
+diff --git a/ldelf/link.mk b/ldelf/link.mk
+index 64c8212a0..dee806428 100644
+--- a/ldelf/link.mk
++++ b/ldelf/link.mk
+@@ -18,7 +18,7 @@ link-ldflags += -Map=$(link-out-dir$(sm))/ldelf.map
+ link-ldflags += --sort-section=alignment
+ link-ldflags += -z max-page-size=4096 # OP-TEE always uses 4K alignment
+ ifeq ($(CFG_CORE_BTI),y)
+-link-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
++link-ldflags += $(call ld-option,-z force-bti) 
+ endif
+ link-ldflags += $(link-ldflags$(sm))
+ 
+diff --git a/mk/lib.mk b/mk/lib.mk
+index 30f2040a3..82ede2954 100644
+--- a/mk/lib.mk
++++ b/mk/lib.mk
+@@ -60,7 +60,7 @@ $(lib-libfile): $(objs)
+ endif
+ ifeq ($(CFG_ULIBS_SHARED),y)
+ ifeq ($(sm)-$(CFG_TA_BTI),ta_arm64-y)
+-lib-ldflags$(libuuid) += $$(call ld-option,-z force-bti) --fatal-warnings
++lib-ldflags$(libuuid) += $$(call ld-option,-z force-bti) 
+ endif
+ $(lib-shlibfile): $(objs) $(lib-needed-so-files)
+ 	@$(cmd-echo-silent) '  LD      $$@'
+diff --git a/ta/arch/arm/link.mk b/ta/arch/arm/link.mk
+index ec5c8db67..f02f7ad5b 100644
+--- a/ta/arch/arm/link.mk
++++ b/ta/arch/arm/link.mk
+@@ -32,7 +32,7 @@ link-ldflags += -Map=$(link-out-dir$(sm))/$(user-ta-uuid).map
+ link-ldflags += --sort-section=alignment
+ link-ldflags += -z max-page-size=4096 # OP-TEE always uses 4K alignment
+ ifeq ($(sm)-$(CFG_TA_BTI),ta_arm64-y)
+-link-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
++link-ldflags += $(call ld-option,-z force-bti) 
+ endif
+ link-ldflags += --as-needed # Do not add dependency on unused shlib
+ link-ldflags += $(link-ldflags$(sm))
+diff --git a/ta/arch/arm/link_shlib.mk b/ta/arch/arm/link_shlib.mk
+index 0cdf3bfa6..3b696b6a9 100644
+--- a/ta/arch/arm/link_shlib.mk
++++ b/ta/arch/arm/link_shlib.mk
+@@ -21,7 +21,7 @@ shlink-ldflags  = $(LDFLAGS)
+ shlink-ldflags += -shared -z max-page-size=4096
+ shlink-ldflags += $(call ld-option,-z separate-loadable-segments)
+ ifeq ($(sm)-$(CFG_TA_BTI),ta_arm64-y)
+-shlink-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
++shlink-ldflags += $(call ld-option,-z force-bti) 
+ endif
+ shlink-ldflags += --as-needed # Do not add dependency on unused shlib
+ 
+-- 
+2.34.1
+
diff --git a/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit_%.bbappend b/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit_%.bbappend
index 4300c1a9..30ba6d35 100644
--- a/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit_%.bbappend
+++ b/meta-ti-bsp/recipes-security/optee/optee-os-tadevkit_%.bbappend
@@ -1,2 +1,4 @@ 
+FILESEXTRAPATHS:prepend:ti-soc := "${THISDIR}/${PN}:"
 PV:ti-soc = "3.17.0+git${SRCPV}"
 SRCREV:ti-soc = "15a746d28d10df3d79d72bc9fe4a5a654b88bcca"
+SRC_URI:append:ti-soc = " file://0001-Binutils-2.39-now-warns-when-a-segment-has-RXW-permi.patch"