Operating System - HP-UX
1834499 Members
2468 Online
110068 Solutions
New Discussion

Re: 11i kernel build problem with/without +ES1.Xindirect_calls on vPars

 
Stan Sieler
Respected Contributor

11i kernel build problem with/without +ES1.Xindirect_calls on vPars

Hi,

Environment: HP-UX 11i, 64-bit PA-RISC, HP C, various patches.

We're trying to get a kernel built (with our non-DLKM device driver) on an 11i system that's using vPars ... and failing.

When we compile our driver without specifying +ES1.Xindirect_calls, and try to build on a vPars HP-UX 11i 64-bit system, mk_kernel fails (in the ld step) with *NO* error message other than:

Loading the kernel...
*** Error exit code 5

(of course, we can't find any doc about an error 5 from ld :)

Note that the above (lacking +ES1.Xindirect_calls) works just fine on our non-vPars 64-bit PA-RISC 11i system, and has for a long time. (And the resulting kernel runs fine.)

If we compile *with* +ES1.Xindirect_calls, we can build a kernel on both vPars and non-Vpars systems, but neither resulting kernel can usefully call our device driver. Any process trying to open() our device file is aborted with "trashed stack". If we put a printf() into our device driver's open() routine, we get a panic. (The problem isn't the printf, since the same printf works fine on non-vPars / non-+ES1.Xindirect_calls systems.)

The goal is to build/run on a vPars system :)

In short:

vPars: without +ES1.Xindirect_calls we can't build;
with +ES1.Xindirect_calls we can build, but we don't run.

non-vPars: without +ES1.Xindirect_calls we build and run fine ;
with +ES1.Xindirect_calls we build, but fail to run.

Any suggestions would be appreciated!

BTW, the +ES1.Xindirect_calls does a lot more than simply change how "indirect" function calls work ... it causes a fair amount of change in the code, including extra stuff at procedure entry.

thanks,
Stan
sieler@allegro.com
2 REPLIES 2
Dave Olker
Neighborhood Moderator

Re: 11i kernel build problem with/without +ES1.Xindirect_calls on vPars

Hi Stan,

I checked both the HP Knowledge Base and the HP-UX internal problem database used by the development labs to track problems. Neither one came up with a hit for your problem.

My best advice would be to check all of the information at the Developers Solution Partner Portal site (assuming you haven't already): http://hp.com/dspp to see if any of the documentation there helps. I just searched the site for "ES1.Xindirect_calls" and got 7 hits. Again, don't know if you've checked those docs yet or not, but thought I'd throw that out in case you haven't.

My only other suggestion would be to open a support call with HP and let them know about the issue.

Regards,

Dave


P.S. I still remember taking the MPE-iX Dump Analysis class from you back in (geez, what was it...) 1989 - can that be right? Whenever it was, I remember sitting in the class room in Cupertino watching you write these immensely complex macros and ridiculously long command-lines and sitting back thinking "holy crap". :)

Glad to see you're still developing on HP systems.


I work at HPE
HPE Support Center offers support for your HPE services and products when and how you need it. Get started with HPE Support Center today.
[Any personal opinions expressed are mine, and not official statements on behalf of Hewlett Packard Enterprise]
Accept or Kudo
Stan Sieler
Respected Contributor

Re: 11i kernel build problem with/without +ES1.Xindirect_calls on vPars

Hi Dave,
thanks for the reply ... good to see a
former student still active at HP!

I had checked the DSPP portal (as well
as google.com, which is a good resource
even for HP development), but without
success.

Most pages about +ES1.Xindirect_calls
say a driver won't work at all on a 64-bit
system without that option ... and that's
simply untrue. Without the option, we
work successfully on various 64-bit
PA-RISC boxes at a number of sites :)
(all without vPars)

Still, as I mention, we're looking at the
option as a tool to solve our mk_kernel
problem on vPars.

Stan (also still developing on the 3000 :) Sieler.