Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add RVX bit in elf flag #47

Closed
wants to merge 1 commit into from
Closed

Conversation

kito-cheng
Copy link
Collaborator

No description provided.

Copy link
Contributor

@aswaterman aswaterman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does custom instructions matter, if they don't affect the ABI? What's the use case for this flag?

It seems inconsistent with how we handle floating-point and other standard extensions. There's no flag for M/A/F/D; the flags are just to indicate the different calling conventions.

@kito-cheng
Copy link
Collaborator Author

Yeah, standard extensions have no flags to indicate, that I think it's an issue too. For floating point, we have ABI to identify that, but for other other extension which don't effect ABI it seems a problem, user will got illegal instruction exception when execute if there is some extension not supported in target, I hope there is some way to check before execute, e.g. check that in dynamic linker or kernel when load elf?

Or maybe we could create section to record that? and check that during link time, given warning when linking different arch?

@aswaterman
Copy link
Contributor

I see. I think we need a separate section for ISA string (e.g. rv64imafdcxandes), because saying only "X" is not enough information. You need to know which X it is, or else you can't determine if an Xandes processor can run an Xsifive binary.

Similarly, if we eventually have objdump support for NSE, the separate section can tell it how to disassemble.

@kito-cheng
Copy link
Collaborator Author

kito-cheng commented Sep 28, 2017

Yes, we are now using the form like rv64imafdcxandes, you are right that not enough info for single elf flag bit.

So, I just go create section and write proof-of-concept on binutils, and then write detail into this spec.

@aswaterman
Copy link
Contributor

sgtm

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.

2 participants