-
Notifications
You must be signed in to change notification settings - Fork 5
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
RFE: port to Solaris #58
Comments
With commit ef69081 we have sufficient Solaris-11 support to compile and run at least the intrepid tests on x86-64. However, every single upc execution prints:
Any clue how I can fix that? |
Seems something is wrong with the program info section. Empty? Can you print the file headers and check what you have in upc_pgm_info(?) section. Might be some kind of misalignment of If you can debug it put a breakpoint at __upc_validate_pgm_info and follow the code. On 6/25/14 3:10 AM, Paul H. Hargrove wrote:
|
Looks like there are multiple upc_pgm_info sections, one with what I assume is the expected content and one with just the zero byte (from the upc-crt code?). They are NOT contiguous.
As for debugger, it seems that (as seen on the BSDs) clang is generating dwarf-4 by default. Passing -gdwarf-2 to the clang-upc command still gets dwarf errors from gdb ( |
This looks like a similar problem to one I encountered while debugging I'll see if I can patch llvm-upc on our machine. On 6/25/2014 12:13 PM, Paul H. Hargrove wrote:
|
BTW: note that since solaris is not using the gnu linker, my build disabled the linker script. Perhaps that is related to the multiple upc_pgm_info sections? I am not sure exactly how to do it, but I suspect there should be some way to configure clang to use the gnu toolchain (binutils) which is present on my Solaris system, but in /usr/gnu/bin. If anybody has an idea of how to force that at cmake/configure time I'd like to give it a try. |
Paul, can you try the following patch? This should create the same section under C and UPC.
|
Can you change the path? I think clang searches for the linker. There is also |-DCMAKE_LINKER option. But it might be related to the |
|
I am now trying the patch from 2 comments back and will report back soon. As for changing the path: |
Nenad, Your patch for section handling appears to have done the trick for my Solaris-11/x86-64 system. -Paul |
I see the patch was committed/pushed a I will see about a full harness run tonight. |
I didn't realize until just recently that on Solaris for x86-64 the default compiler output is 32-bit. So, I've been unknowingly testing 32-bit so far. The good news is that a full harness run produced no NEW failures other than Solaris linker issues which could occur with any compiler. I am waiting on a 64-bit build now. |
The 64-bit build has passed the Intrepid test suite "smoke test". |
Clang-upc with its smp runtime has now passed the full Berkeley test suite on Solaris-11/x86-64 hardware for both 32- and 64-bit ABIs. Other than the need to manually disable the linker script (or else the build fails), this port looks complete to me. Since the linker script disable is covered as issue #60, I am closing this issue. |
This issue pretty much just a place holder until I can get time to resume the work I've started (but already forgotten the details of).
The first stumbling block I hit was that the Solaris platform is not using a GNU toolchain.
So, at a minimum we need to disable the linker script on Solaris.
The clang infrastructure knows how to use the Solaris linker appears to work on it own (w/o upc). So, hopefully the work required will be relatively small.
I am only targeting x86-64 at the moment.
The text was updated successfully, but these errors were encountered: