Skip to content

Conversation

@ziyao233
Copy link

@ziyao233 ziyao233 commented Feb 9, 2024

Adds support for RISC-V 64 architecture and documented this. Also adds tests for functions with float/double arguments. This has been tested on Debian sid riscv64.

Commit "Implement gnu_hash symbol lookup" (93b10bf in the upstream) is necessary to make Mimick function properly on RISC-V 64, so is cherry-picked.

Close #30

peadar and others added 3 commits February 10, 2024 04:06
Use gnu_hash in preference to the standard hash table, as it's more
efficient, and fall back to the tranditional table if we can't find it.

This should fix problems on systems that do not provide the traditional
ELF hash table for symbols.
@ziyao233 ziyao233 requested a review from mjeronimo as a code owner February 9, 2024 20:20
@ros-discourse
Copy link

This pull request has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/installing-ros2-humble-on-risc-v-ubuntu/35988/4

@romancardenas
Copy link

I successfully built ROS 2 for RISC-V 64 with this PR. You can reproduce it following this post: https://discourse.ros.org/t/installing-ros2-humble-on-risc-v-ubuntu/35988

@ziyao233
Copy link
Author

I successfully built ROS 2 for RISC-V 64 with this PR. You can reproduce it following this post

I am not familiar with ROS2, much thanks for your work to verify this PR works!

@audrow audrow assigned audrow and mjcarroll and unassigned audrow Feb 22, 2024
mjcarroll added a commit to ros2/mimick_vendor that referenced this pull request Feb 26, 2024
Signed-off-by: Michael Carroll <[email protected]>
@mjcarroll
Copy link
Member

Testing via ros2/mimick_vendor#36

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Windows Build Status

@LucienMorey
Copy link

Is there a way forward to getting this merged? Can I lend a hand in testing or getting it over the line? I have been targeting these fixes for the last 5 months or so in my ros2 source build on riscv64 and haven't seen any hiccups, but I haven't gone looking to test for them explicitly.

@romancardenas
Copy link

Yep, this PR would enable building ROS2 for RISC-V, which is quite desirable, IMO

@mjcarroll
Copy link
Member

Yes, this fell out of the top of my review queue. I think the best thing here is to resolve the conflicts, then I can bump the SHA in the vendor package and run it through CI again.

@LucienMorey
Copy link

I went ahead and rebased this work and pushed it to https://github.com/LucienMorey/Mimick/tree/ros2-fixed. That first commit can be dropped now that you guys have the hashing stuff handled internally in a way you're happy with (#36). I have run a source build no worries for riscv. I am into running the CI to prove that we are not breaking anything unintentionally, but it won't prove that the intended feature is functional because riscv is not one of the tested platforms.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support for RISC-V 64

7 participants