-
Notifications
You must be signed in to change notification settings - Fork 7
[ARC] [libgloss] Introduce hostlink interface #14
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Header file are not ok, code style also. Please address my remarks and resubmit for a new round.
ddc224f
to
ff5a4a2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good job on this Vladimir! Please find my remarks/questions all over the files.
Last but not least, I assume you ran GCC's DejaGnu test with this, right? Could you provide a link to the results with hostlink and without this hostlink so we can know the regressions?
EDIT
Vladimir has sent the results and his analysis. For future reference, I partially add it here:
Known regressions:
- 2 more fails for binutils suite, this is ‘strip’ test. Metaware hostlink does not work with stripped binaries;
- Lots of fails for libstdc++ testsuite – there are also more PASSes, this is because many unsupported tests become supported with Metaware hostlink;
- 1 more fail for BE ARC newlib – this is because Metaware Extended IO for BE causes nsim to exit (there is code in nsim like if (ext_io hostlink and BE) then exit(FAIL);
- Lots of fails for gdb testsuite – GDB nsim configuration is Jenkins-local, so all tests were for Metaware hostlink ran with incorrect nsim configuration.
6ee8184
to
e4b3ed8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your rework. There are a few minor remarks that when are fixed, it should be good to go.
EDIT
If this library can be built separately, could you also mention in the documentation how to build it? Like:
cd libgloss/arc
configure blah
make blah blah
...
Also, once we're done with this work, we need to add corresponding "baseboard" support here: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/tree/arc-dev/dejagnu/baseboards so that we may integrate it easily into our verification flow. |
e4b3ed8
to
5081709
Compare
@claziss I ran
but I prefer to keep that comments. Please let me know if we need 0 errors from this script. @shahab-vahedi for now this code is used only as a part of newlib. We think that it can be used in some more places, but it will require some changes. |
Probably you can have them there for the time being. Once you go upstream, the maintainer will tell you if he likes it or not. |
@VVIsaev, @claziss, @shahab-vahedi is there anything that needs to be done here, or we may finally get this one merged and re-use it as a base of #13? |
There are still unresolved issues. |
I resolved remaining issues (about |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks ok. Please document the difference in pass/failed tests for baremetal-dejagnu, if they still exists, in a github issue.
There is a special interface built in ARC simulators (such as NSIM) called Metaware hostlink IO which can be used to implement system calls. This commit adds support for this interface to the ARC port of libgloss.
5081709
to
25743e3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a special interface built in ARC simulators
(such as NSIM) called Metaware hostlink IO which can be used
to implement system calls.
This commit adds support for this interface to the ARC port of libgloss.