This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 4253001656 sim/m64:Fix ld error with .rodata can not be used when 
making a PIE object.
4253001656 is described below

commit 4253001656c07da4372317680baa77d52b249cf1
Author: cuiziwei <[email protected]>
AuthorDate: Fri Jun 7 12:32:49 2024 +0800

    sim/m64:Fix ld error with .rodata can not be used when making a PIE object.
    
    /usr/bin/ld: nuttx.rel: relocation R_X86_64_32S against `.rodata' can not 
be used when making a PIE object; recompile with -fPIE
    /usr/bin/ld: failed to set dynamic section sizes: bad value
    
    Signed-off-by: cuiziwei <[email protected]>
---
 boards/sim/sim/sim/scripts/Make.defs | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/boards/sim/sim/sim/scripts/Make.defs 
b/boards/sim/sim/sim/scripts/Make.defs
index 729c957f15..399facc8df 100644
--- a/boards/sim/sim/sim/scripts/Make.defs
+++ b/boards/sim/sim/sim/scripts/Make.defs
@@ -313,4 +313,10 @@ ifeq ($(CONFIG_SIM_M32),y)
   LDMODULEFLAGS += -melf_i386
   SHMODULEFLAGS += -melf_i386
   LDELFFLAGS += -melf_i386
+else ifeq ($(CONFIG_HOST_MACOS),)
+  # To compile 64-bit Sim, adding no-pie is necessary to prevent linking errors
+  # but this may cause other issues on Ubuntu 20.
+  ARCHCFLAGS += -no-pie
+  ARCHPICFLAGS += -no-pie
+  LDFLAGS += -Wl,-no-pie
 endif

Reply via email to