openhwgroup / corev-binutils-gdb

GNU General Public License v2.0
9 stars 26 forks source link

Support Zc extension in corev-binutils-gdb #43

Closed pietraferreira closed 2 years ago

jeremybennett commented 2 years ago

@MikeOpenHWGroup and Duncan Bees. We are failing because one of the PLCT team, @yulong-plct doesn't have an Eclipse Committer Agreement in place. We'll reach out to him, but he might need assistance from you. Thanks.

linsinan1995 commented 2 years ago

Thanks a lot for your work on it.

I noticed that the table entry section is now in .rodata since f0c28cb819a032b518f9de678403ae9d5cfaffd7. However, both the table jump instruction (e.g. cm.jt 12) and the pointed table entry(e.g. 13th entry) require execution permission, and that's why they are put in .text section (there actually was a discussion about it in one zc* spec meeting).

some info: https://github.com/riscv/riscv-code-size-reduction/blob/main/Zc-specification/tablejump.adoc#table-jump-fault-handling

yulong18 commented 2 years ago

I'm so sorry for this. I had update my e-mail address, please check it.

jeremybennett commented 2 years ago

Thanks a lot for your work on it.

I noticed that the table entry section is now in .rodata since f0c28cb. However, both the table jump instruction (e.g. cm.jt 12) and the pointed table entry(e.g. 13th entry) require execution permission, and that's why they are put in .text section (there actually was a discussion about it in one zc* spec meeting).

some info: https://github.com/riscv/riscv-code-size-reduction/blob/main/Zc-specification/tablejump.adoc#table-jump-fault-handling

Thanks @linsinan1995 The branch has been updated, so the table now goes into .text. See commit a52982c

jeremybennett commented 2 years ago

I'm so sorry for this. I had update my e-mail address, please check it. Thanks @yulong-plct That fixed the problem.

jeremybennett commented 2 years ago

All regression tests of Zc* now pass. This branch is good to merge.