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

arcv: Remove mtune=arc-v-rmx-100-series from t-arcv config list #139

Open
wants to merge 1 commit into
base: arc-2025.06
Choose a base branch
from

Conversation

kolerov
Copy link
Contributor

@kolerov kolerov commented Feb 10, 2025

If GCC is built with --with-mtune=arc-v-rmx-100-series and mtune=arc-v-rmx-100-series is mentioned in MULTILIB_OPTIONS list of multilib options, then GCC cannot link an application properly in these cases:

  1. When GCC is used without any multilib options with default options only.
  2. When a multilib configuration does not involve mtune, e.g. march=rv64imafdc/mabi=lp64d/mcmodel=medany.

In both cases -mtune=arc-v-rmx-100-series is passed explicitly, but the corresponding configuration cannot be chosen since mtune=arc-v-rmx-100-series is not mentioned in t-arcv for them.

Since arc-v-rmx-100-series is a default -mtune value for ARC-V, then mtune=arc-v-rmx-100-series maybe omitted in t-arc and assumed to be a default -mtune value for all configurations without mtune=... field.

Thanks for taking the time to contribute to GCC! Please be advised that if you are
viewing this on github.com, that the mirror there is unofficial and unmonitored.
The GCC community does not use github.com for their contributions. Instead, we use
a mailing list ([email protected]) for code submissions, code reviews, and
bug reports. Please send patches there instead.

This PR fixes foss-for-synopsys-dwc-arc-processors/toolchain#656.

@kolerov kolerov self-assigned this Feb 10, 2025
If GCC is built with --with-mtune=arc-v-rmx-100-series and
mtune=arc-v-rmx-100-series is mentioned in MULTILIB_OPTIONS list
of multilib options, then GCC cannot link an application
properly in these cases:

1. When GCC is used without any multilib options with default
   options only.
2. When a multilib configuration does not involve mtune, e.g.
   march=rv64imafdc/mabi=lp64d/mcmodel=medany.

In both cases -mtune=arc-v-rmx-100-series is passed explicitly,
but the corresponding configuration cannot be chosen since
mtune=arc-v-rmx-100-series is not mentioned in t-arcv for them.

Since arc-v-rmx-100-series is a default -mtune value for ARC-V,
then mtune=arc-v-rmx-100-series maybe omitted in t-arc and
assumed to be a default -mtune value for all configurations
without mtune=... field.

Signed-off-by: Yuriy Kolerov <[email protected]>
Copy link
Collaborator

@artemiy-volkov artemiy-volkov left a comment

Choose a reason for hiding this comment

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

I don't like this since we are now dependent on the user configuring with --with-tune=rmx100. I don't think rmx100 should get any special treatment here, this is an extremely fragile approach

@kolerov
Copy link
Contributor Author

kolerov commented Feb 17, 2025

An alternative is to use rocket as the default mtune value. But in this case --mtune=arc-v-*-series must be always passed explicitly to GCC to link with ARC-V specific configurations (with mtune value in t-arcv).

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