On 05/ 2/12 07:23 PM, Glenn Fowler wrote:
On Wed, 2 May 2012 18:25:25 +0100 Edwin Beasant wrote:
Hello there to all members!
        As you may or may not be aware, after the Oracle acquisition of Sun, 
many things changed, and I have ended up dealing extensively with ksh93 on 
Solaris 11.
This used to be part of the more internal OS/network consolidation of code, but 
recently i have moved it to the more third-party-friendly Userland code 
consolidation. This code consolidation does things a little bit differently to 
ON, with the result that it is much easier to work with and contribute to the 
open-source community:
        We have, over time, amassed a number of bug fixes for the 2011 release 
of ast-base, some of which have been addressed in the 2012 release of the 
ast-base package. I would like to be able to contribute any that you may 
consider useful for integration into the codebase, if that is at all possible.
all patches and bug fixes are welcome
especially the ones that have been redacted since the oracle transition

I'll send them in, with the bug description: I'll leave out the ones that have been fixed in the 2012 release?

        I would also like to ask if it would be possible to get  some pointers 
for porting the ast-base package more properly to compile in 64 bit mode under 
Solaris 11: Solaris 11 no longer boots a 32 bit kernel, and although it can 
easily run the 32-bit version, a matching 64 bit version would be more elegant 
and simpler to maintain long term - It would probably need a compiler wrapper 
similar to the sgi platform to correctly compile with the Studio compiler, and 
as a starter, I would love to know how I would set about integrating one to the 
INIT package and the appropriate probes?
have you tried to build it using a cc that defaults to 64 bit objects?
we try to coax the right thing out of cc without wrappers
if it didn't work where did it fall short?

I believe its a combination of things:
uname on solaris doesn't cleanly distinguish between 64 bit and 32 bit architectures:

x86:

ebeasant@dellboy:~$ uname -a
SunOS dellboy 5.11 11.1 i86pc i386 i86pc

-bash-4.1$ uname -a
SunOS grinah 5.11 11.1 sun4v sparc sun4v


Additionally, bitness has to be explicitly specified to the compiler with -32 or -64 as appropriate (default 32, yes, that probably needs fixing ;-)
if that doesn't work to your satisfaction a cc wrapper is probably the way to go

first make sure
        bin/package
lists an appropriate ast hosttype
probably something like
        sol11.i386-64
bin/package uses cc along with uname to determine the hosttype
(ast hosttypes do not get as detailed as say gcc host identifiers)
Thats where I think we get the issues (see above)...

x86:
# bin/package
sol11.i386

sparc:
# bin/package
sol11.sun4


So, I'm not entirely certain exactly how it can determine its 64-bit-ness, except by explicitly specifying it to bin/package as a HOSTTYPE?
then create a wrapper script
        src/cmd/INIT/cc.sol11.i386-64
use one of the other cc.* wrappers as a starting point
in general they use ancient sh constructs to avoid portability problems
I think the SGI wrapper is closest to what I really needed, but I was having trouble getting it triggered with an explicitly specified HOSTTYPE: I'll pull the latest source package and give it a whirl again?

        We're interested in supporting ksh93 (primarily) and the ast-base 
package in general, and indeed it is our default scripting shell under Solaris 
11 :-)
the more heavy users the better
thanks

Believe me, its getting serious punishment ;-)

Thanks for the swift replies,
Cheers,
Edwin

_______________________________________________
ast-developers mailing list
[email protected]
https://mailman.research.att.com/mailman/listinfo/ast-developers

Reply via email to