Message ID | 20240807000652.1417776-20-debug@rivosinc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | riscv support for control flow integrity extensions | expand |
On 8/7/24 10:06, Deepak Gupta wrote: > RISC-V CFI use new processor-specific dynamic entry in ELF. Permit it in > VDSO post-processing script. > > Signed-off-by: Jim Shu <jim.shu@sifive.com> > Signed-off-by: Deepak Gupta <debug@rivosinc.com> > --- > linux-user/gen-vdso-elfn.c.inc | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/linux-user/gen-vdso-elfn.c.inc b/linux-user/gen-vdso-elfn.c.inc > index 95856eb839..59c818eb11 100644 > --- a/linux-user/gen-vdso-elfn.c.inc > +++ b/linux-user/gen-vdso-elfn.c.inc > @@ -273,6 +273,13 @@ static void elfN(process)(FILE *outf, void *buf, bool need_bswap) > errors++; > break; > > + case PT_LOPROC + 2: > + /* RISCV_ZICFILP_PLT: for RISC-V zicfilp extension */ > + if (ehdr->e_machine == EM_RISCV) { > + break; > + } > + goto do_default; Documentation? This symbol does not appear in either llvm or binutils sources. I presume this is on a development branch somewhere. The comment is poor. Notice: > case PT_LOPROC + 3: > if (ehdr->e_machine == EM_PPC64) { > break; /* DT_PPC64_OPT: integer bitmask */ the ppc64 comment describes the data payload. As do the other comments beforehand. r~
On Wed, Aug 07, 2024 at 01:36:34PM +1000, Richard Henderson wrote: >On 8/7/24 10:06, Deepak Gupta wrote: >>RISC-V CFI use new processor-specific dynamic entry in ELF. Permit it in >>VDSO post-processing script. >> >>Signed-off-by: Jim Shu <jim.shu@sifive.com> >>Signed-off-by: Deepak Gupta <debug@rivosinc.com> >>--- >> linux-user/gen-vdso-elfn.c.inc | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >>diff --git a/linux-user/gen-vdso-elfn.c.inc b/linux-user/gen-vdso-elfn.c.inc >>index 95856eb839..59c818eb11 100644 >>--- a/linux-user/gen-vdso-elfn.c.inc >>+++ b/linux-user/gen-vdso-elfn.c.inc >>@@ -273,6 +273,13 @@ static void elfN(process)(FILE *outf, void *buf, bool need_bswap) >> errors++; >> break; >>+ case PT_LOPROC + 2: >>+ /* RISCV_ZICFILP_PLT: for RISC-V zicfilp extension */ >>+ if (ehdr->e_machine == EM_RISCV) { >>+ break; >>+ } >>+ goto do_default; > >Documentation? This symbol does not appear in either llvm or binutils >sources. I presume this is on a development branch somewhere. > >The comment is poor. Notice: Noted. will do better. > >> case PT_LOPROC + 3: >> if (ehdr->e_machine == EM_PPC64) { >> break; /* DT_PPC64_OPT: integer bitmask */ > >the ppc64 comment describes the data payload. >As do the other comments beforehand. > > >r~
diff --git a/linux-user/gen-vdso-elfn.c.inc b/linux-user/gen-vdso-elfn.c.inc index 95856eb839..59c818eb11 100644 --- a/linux-user/gen-vdso-elfn.c.inc +++ b/linux-user/gen-vdso-elfn.c.inc @@ -273,6 +273,13 @@ static void elfN(process)(FILE *outf, void *buf, bool need_bswap) errors++; break; + case PT_LOPROC + 2: + /* RISCV_ZICFILP_PLT: for RISC-V zicfilp extension */ + if (ehdr->e_machine == EM_RISCV) { + break; + } + goto do_default; + case PT_LOPROC + 3: if (ehdr->e_machine == EM_PPC64) { break; /* DT_PPC64_OPT: integer bitmask */