Operating System - HP-UX
1832086 Members
3206 Online
110037 Solutions
New Discussion

Re: DLKM developmet question

 
Alex Shinkin
New Member

DLKM developmet question

Hi , All .

I am developing a DLKM for an Itanium box
running HP-UX 11.23.

If I login as root and build the module - I have a working binary that can be loaded/unloaded by kcmodule as expected.

But if I login as another user and build the module, I have a binary that could not be loaded by kcmodule, giving errors:

WARNING: MOD: mod_obj_relone: Overrun of module DLT or long branch stub table for module /stand/current/mod/mymodule.
NOTICE: MOD: mod_obj_load: Relocation in module /stand/current/mod/mymodule failed.

WARNING: mod_deletestr: could not find string in the dump string table

MOD: mod_load_helper: error loading mymodule



The object files (including modmeta) are binary equal for both builds.

But the results of modlink have 1 byte difference (well, if not look at timestamps).
Fixing the byte in "nonworking" binary gives us a "working" one.

So, quiestion - is there any enviroment dependency or whatever that makes modlink produce different binaries ?
How can I get the "correct" DLKM binary , not being logged in as root ?

Thanks for any suggestions.




2 REPLIES 2
Alex Shinkin
New Member

Re: DLKM developmet question

Wow, I have solved it .
looks like modlink uses current $PATH , executing ld and maybe some other executables... so the PATH was a bit incorrect in the user's account and another (probably older) versions of ld were in use.
Anyway, modlink could be more verbous ...


Alex Shinkin
New Member

Re: DLKM developmet question

maybe this will be interesting for anyone ...

To be more precise it was GNU nm 2.15 that causes building of unloadable module.

Using HP nm (nm HP Itanium(R) B.12.23 REL 040623) has solved the problem .