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

Fixes in FVP invocation #62

Open
wants to merge 3 commits into
base: arm-software
Choose a base branch
from

Conversation

vhscampos
Copy link
Contributor

@vhscampos vhscampos commented Jan 29, 2025

This patches fixes two bugs:

  • Properly propagate FVP's return code to the caller.
  • Prepend INST= to the --application argument value. This is required when the application's path contains equal signs (=). This sign is interpreted as a special case inside FVP: its presence in the path leads to ambiguity. One way to work around this is to do the prepend. After that, any = sign that comes up in the path is treated as part of the path.

This is the help message from Corstone's --application:

-a, --application FILE application to load, format: -a [INST=]FILE (use -a INST=FILE for a specific instance, use -a INST*=FILE to match multiple instances using wildcards e.g. for SMP cores)

This patches fixes two bugs:
 - Properly propagate FVP's return code to the caller.
 - Prepend '*=' to the --application argument value. This is required
   when the application's path contains equal signs ('='). This sign is
   interpreted as a special case inside FVP: its presence in the path
   leads to ambiguity. One way to work around this is to do the prepend.
   After that, any '=' sign that comes up in the path is treated as part
   of the path.
@dcandler
Copy link
Contributor

The first change is a straightforward fix and looks fine, but I might be missing something for the second: the argument to --application is the path to the image, so why would a path contain an equal sign?

@vhscampos
Copy link
Contributor Author

vhscampos commented Jan 30, 2025

There are a few examples under the libcxx tests. For instance, all tests under the directory named
libcxx/test/std/strings/basic.string/string.nonmembers/string_op!=, or libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.+=/

@dcandler
Copy link
Contributor

Ah okay, it's coming from libcxx.

From that Corstone help message, the *= operator is intended for matching multiple instances with a wildcard. If we have a specific image that we want to run, should we instead prepend INST=? Including the keyword might also make it easier to understand the context of the argument.

@vhscampos
Copy link
Contributor Author

Done that. Thanks.

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