Skip to content

Commit 5d61bce

Browse files
committed
Use LLVM LDD with clang
1 parent ca3e655 commit 5d61bce

File tree

14 files changed

+21
-34
lines changed

14 files changed

+21
-34
lines changed

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ OBJS:= \
4242
./src/libwolfboot.o \
4343
./hal/hal.o
4444

45+
ifeq ($(USE_CLANG),1)
46+
OBJS+=./src/clang_sections.o
47+
endif
48+
4549
ifeq ($(WOLFCRYPT_TZ_PSA),1)
4650
OBJS+=./src/dice/dice.o
4751
endif

arch.mk

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1288,9 +1288,7 @@ ifeq ($(USE_CLANG),1)
12881288
CLANG_NEWLIB_INCLUDE?=$(abspath $(dir $(CLANG_LIBC_A))/../include)
12891289

12901290
CC=$(CLANG_DRIVER)
1291-
# Keep clang for compilation, but use the GNU linker driver so linker-script
1292-
# LMAs for RAM sections are preserved and objcopy does not emit sparse images.
1293-
LD=$(CLANG_GCC_NAME)
1291+
LD=$(CLANG_DRIVER) -fuse-ld=lld
12941292
AS=$(CLANG_DRIVER)
12951293
AR=$(CROSS_COMPILE)ar
12961294
OBJCOPY?=$(CROSS_COMPILE)objcopy
@@ -1300,7 +1298,7 @@ ifeq ($(USE_CLANG),1)
13001298
CFLAGS+=-DWOLFSSL_NO_ATOMIC -DWOLFSSL_NO_ATOMICS
13011299
CFLAGS+=-Wno-unknown-attributes -Wno-error=unknown-attributes
13021300
CFLAGS+=-fno-unwind-tables -fno-asynchronous-unwind-tables
1303-
LSCRIPT_FLAGS+=-T $(abspath $(WOLFBOOT_ROOT)/hal/clang-discard.ld)
1301+
LDFLAGS+=-nostdlib
13041302
endif
13051303

13061304
ifeq ($(USE_GCC),1)

hal/clang-discard.ld

Lines changed: 0 additions & 14 deletions
This file was deleted.

hal/lpc55s69.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ SECTIONS
3030
*(.ARM.exidx*)
3131
} > FLASH
3232

33-
.gnu.sgstubs :
33+
.gnu.sgstubs ORIGIN(FLASH_NSC) :
3434
{
3535
. += 0x400;
3636
. = ALIGN(4);

hal/mcxn.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ SECTIONS
3030
*(.ARM.exidx*)
3131
} > FLASH
3232

33-
.gnu.sgstubs :
33+
.gnu.sgstubs ORIGIN(FLASH_NSC) :
3434
{
3535
. += 0x400;
3636
. = ALIGN(4);

hal/mcxw.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ SECTIONS
3030
*(.ARM.exidx*)
3131
} > FLASH
3232

33-
.gnu.sgstubs :
33+
.gnu.sgstubs ORIGIN(FLASH_NSC) :
3434
{
3535
. += 0x400;
3636
. = ALIGN(4);

hal/nrf5340.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ SECTIONS
2929
*(.ARM.exidx*)
3030
} > FLASH
3131

32-
.gnu.sgstubs :
32+
.gnu.sgstubs ORIGIN(FLASH_NSC) :
3333
{
3434
. += 0x400;
3535
. = ALIGN(4);

hal/nrf54l.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ SECTIONS
2929
*(.ARM.exidx*)
3030
} > FLASH
3131

32-
.gnu.sgstubs :
32+
.gnu.sgstubs ORIGIN(FLASH_NSC) :
3333
{
3434
. += 0x400;
3535
. = ALIGN(4);

hal/rp2350.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ SECTIONS
102102
. = ALIGN(4);
103103
} > FLASH
104104

105-
.gnu.sgstubs :
105+
.gnu.sgstubs ORIGIN(FLASH_NSC) :
106106
{
107107
*(.gnu.sgstubs*) /* Secure Gateway stubs */
108108
. = ALIGN(4);

hal/stm32h5.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ SECTIONS
2525
*(.ARM.exidx*)
2626
} > FLASH
2727

28-
.gnu.sgstubs :
28+
.gnu.sgstubs ORIGIN(FLASH_NSC) :
2929
{
3030
. = ALIGN(32);
3131
*(.gnu.sgstubs*) /* Secure Gateway stubs */

0 commit comments

Comments
 (0)