Boost logo

Boost-Build :

Subject: Re: [Boost-build] acc and address-model
From: Jim Gallagher (jim_at_[hidden])
Date: 2009-03-31 15:26:29


>
>Hi Jim,
>
>it's not very surprising -- I don't think any Boost.Build developer
>uses acc daily, or even have access to it, so the only fixes that get
>added are those where a user told what to do.
>

Volodya,

I guess I was surprised because HP touts that they test aCC by building
boost, and contribute back as appropriate. Either they are not testing 64
bit builds, or they are not contributing back to boost-build as they should
:-)

>
>While I was adding this I've noticed commented-out line to add -Z option
>when building shared libraries. Do you happen to know if that option
>is needed or desirable?
>
>- Volodya
>

I think the option is really +Z. This is required when compiling code for
shared libraries on PA-RISC. I believe I was the one asking about this last
year. PA-RISC is dying; HP no longer sells PA-RISC Unix boxes, only Itanium.
Recent PA-RISC boxes leave HP's normal support window in 2013.

Here is the excerpt from 'man aCC' on a PA-RISC box regarding +Z:
      +z,+Z Cause the compiler to generate position independent
                     code (PIC) for use in building shared libraries. The
                     option -G is ignored if used when generating PIC.
                     Normally, +z should be used to generate PIC; however,
                     when certain limits are exceeded, +Z is required to
                     generate PIC. The linker ld(1) issues the error
                     indicating when +Z is required. The default is +Z when
                     +DA2.0W is specified. If both +z and +Z are specified,
                     only the last one encountered applies. For a more
                     complete discussion regarding PIC and these options,
                     see HP-UX Linker and Libraries Online User's Guide and
                     the manual Programming on HP-UX.

I've never hit a snag using +Z instead of +z.

The -Z option allows dereferencing of null pointers.

aCC on Itanium does not support +Z. All objects appear to be PIC.

One other thing that was a problem on PA-RISC with respect to boost-build is
that shared libraries have a .sl extension, as opposed to .so. If I remember
correctly, I hacked in support for the .sl extension, but we never exercised
it.

We have since moved to Itanium servers, so the +Z and .sl issues are
probably moot.

Thanks,
Jim



Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk