- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - HP-UX
- >
- Re: Why HP-UX must use its own linker for gcc?
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-20-2018 11:21 AM
10-20-2018 11:21 AM
Re: Why HP-UX must use its own linker for gcc?
gcc got misled by the unexpected content in the file and considered it an object file, so passed it to the linker; the linker in turn took it for an instrumented object file to be (re-)processed by the compiler backend - that is the case when it tried to load libucomp.so .
how did you locate the problem?
--
ranga
[i work for hpe]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-20-2018 07:49 PM - edited 10-20-2018 07:51 PM
10-20-2018 07:49 PM - edited 10-20-2018 07:51 PM
Solution> It seems that the original source filename (scsi_test.c) was wrong with some invisible characters.
Yes, that would confused the driver if it didn't end in ".c". cc(1)/c99(1) work the same way.
> I still do not understand why gcc would report such ld libu2comp.so error under this situation
Because ld(1) is broken and doesn't make sure it is an ELF file.
> the linker in turn took it for an instrumented object file to be (re-)processed by the compiler backend - that is the case when it tried to load libucomp.so .
Wasn't this fixed years ago?
> how did you locate the problem?
Well, the source file was listed on the verbose ld output. :-)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-20-2018 11:58 PM
10-20-2018 11:58 PM
Re: Why HP-UX must use its own linker for gcc?
@Dennis Handly wrote:> It seems that the original source filename (scsi_test.c) was wrong with some invisible characters.
Yes, that would confused the driver if it didn't end in ".c". cc(1)/c99(1) work the same way.
> I still do not understand why gcc would report such ld libu2comp.so error under this situation
Because ld(1) is broken and doesn't make sure it is an ELF file.
> the linker in turn took it for an instrumented object file to be (re-)processed by the compiler backend - that is the case when it tried to load libucomp.so .
Wasn't this fixed years ago?
At least now.
[ cathh02 tmp ] $ gcc -Wl,-V test.cx ld: 92453-07 linker ld HP Itanium(R) B.12.63 IPF/IPF ld: Mismatched ABI (not an ELF file) for test.cx Fatal error. collect2: error: ld returned 1 exit status
I got the same results with 12.58, couldn't find 12.61 though.
--
ranga
[i work for hpe]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-23-2018 07:46 AM
10-23-2018 07:46 AM
Re: Why HP-UX must use its own linker for gcc?
I noticed the following error message that returned via gcc -c :
gcc: scsi_test.c: linker input file unused because linking not done
Then the below related post at stackoverflow should implied what cause my problem might be due to!
https://stackoverflow.com/questions/10739072/gcclinker-input-file-unused-because-linking-not-done
But I still really cannot explain why the source file was listed on the verbose ld output.
By the way, it seems that the earlier version of binutils for HP-UX provided the GNU linker long ago!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-23-2018 09:12 AM
10-23-2018 09:12 AM
Re: Why HP-UX must use its own linker for gcc?
> But I still really cannot explain why the source file was listed on the verbose ld output.
Because it's not a source file because it doesn't end in ".c". You said there was junk on the end?
ll -b will show the unprintable chars.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-25-2018 07:50 AM
10-25-2018 07:50 AM
Re: Why HP-UX must use its own linker for gcc?
Now I wonder what the other error messages would be returned via ld with the same problematic source file if the system has installed with the shared library of libu2comp.so ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-25-2018 09:56 PM
10-25-2018 09:56 PM
Re: Why HP-UX must use its own linker for gcc?
@liuyl_it wrote:Now I wonder what the other error messages would be returned via ld with the same problematic source file if the system has installed with the shared library of libu2comp.so ?
As long as the file is properly named, any errors that can be detected with the installed compilter would be reported already.
If the file is not named correctly, error reports may not be reliable. So don't bother about the errors when the file is incorrectly named.
From the compiler manual page cc_bundled(1):
Other Suffixes All other arguments, such as those names ending with .o, .a, or .so are taken to be relocatable object files and are passed to ld (see ld(1)) to be included in the link operation.
The behaviour of the linker for unrecognized input formats seems to be undocumented.
--
ranga
[i work for hpe]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-29-2018 07:16 PM - edited 10-29-2018 07:26 PM
10-29-2018 07:16 PM - edited 10-29-2018 07:26 PM
Re: Why HP-UX must use its own linker for gcc?
These days I have searched the knowledges for the instrumented object/code/execution!
But I just only found few information about them including the following reference link:
So could you tell me the significance of the "instrumented object file" concept in my this issue?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-29-2018 07:38 PM
10-29-2018 07:38 PM
Re: Why HP-UX must use its own linker for gcc?
So could you tell me the significance of the "instrumented object file" concept in my this issue?
In your case there is no instrumented object file. Because of the bad filename, the compiler passed the source file to the linker. The linker mistakenly assumed it to be an instrumented object file. If your original problem goes away after renaming the source file, you don't have to bother about it any more.
--
ranga
[i work for hpe]
- « Previous
-
- 1
- 2
- Next »