syntacore/snippy

Looks like mabi option doesn't affect ABI of generated ELF

Opened this issue · 0 comments

Reproduce on 1.0

layout.yaml:

options:
  march: riscv64
  mabi: lp64d
  model-plugin: None
  seed: 0

sections:
  - name: text
    VMA: 0x1000
    LMA: 0x1000
    SIZE: 0x1000
    ACCESS: rx
  - name: data
    VMA: 0x2000
    LMA: 0x2000
    SIZE: 0x1000
    ACCESS: rw

histogram:
  - [ADD, 1]

Command:

llvm-snippy layout.yaml

wrapper.c:

void SnippyFunction();
int main() { SnippyFunction(); }

Compile wrapper and link with generated snippet:

riscv64-linux-gnu-gcc wrapper.c layout.yaml.elf

Output:

/usr/lib/gcc/riscv64-linux-gnu/13.2.0/../../../../riscv64-linux-gnu/bin/ld: layout.yaml.elf: can't link soft-float modules with double-float modules
/usr/lib/gcc/riscv64-linux-gnu/13.2.0/../../../../riscv64-linux-gnu/bin/ld: failed to merge target specific data of file layout.yaml.elf
/usr/lib/gcc/riscv64-linux-gnu/13.2.0/../../../../riscv64-linux-gnu/bin/ld: warning: a.out has a LOAD segment with RWX permissions
collect2: error: ld returned 1 exit status