math routine implementation with .s files
John Rose
john.r.rose at oracle.com
Tue Jun 5 05:36:08 UTC 2018
On Jun 4, 2018, at 4:19 PM, Lupusoru, Razvan A <razvan.a.lupusoru at intel.com> wrote:
>
> Interesting trick. One concern that I have is that the C preprocessor is not used for .s for every architecture. In Linux, assembler is typically a compiler flag and preprocessor also is run before assembling. But, for Windows, a separate assembler with incompatible preprocessor syntax exists. And the makefile changes to support running C preprocessor and also the assembler make it quite complicated (and I am already having a hard time enabling the Windows .s file build because of the incompatible assembler).
>
> Rahul is working on the renaming scheme right now but I am not sure combining them is productive due to difficulty in getting it right and potential bugs we may introduce, plus increased burden to filter out steps in future if any files need updating. Would you be okay if we just rename the files but leave them separated? Thanks!
Yuck. If windows tools are the problem (surprise) then I'd rather
take the hit only for that platform.
Linux uses "cc" to assemble, so the cpp is there already, while
Solaris may require the "-P" flag to "as" to opt into cpp.
I'd rather have fewer files and no windows support, at first,
than lots of files with windows support.
Here's an option: To unblock testing, put in the zillion files
(yuck) and file a bug to fix it later. But I do want it fixed,
now or later. Even on windows surely there is a fix, but
even if there isn't, we can rely on the unix platforms to
make stuff work right.
Suggestion: Write the many-to-one script in /bin/sh (a
scripting languages used in the hotspot build!) and
commit it to make/hotspot/lib/ or make/hotspot/scripts/.
Then it's relatively straightforward for maintainers to re-run
the script. (For bonus points, make the script go both
directions.)
— John
More information about the panama-dev
mailing list