[OpenAFS-devel] Re: [RFC] splitting out CRULE_TARGET from libafs/Makefile.common

Russ Allbery rra@stanford.edu
Mon, 27 Jun 2011 11:08:33 -0700


Derrick Brashear <shadow@gmail.com> writes:
>> Russ Allbery <rra@stanford.edu> wrote:

>>>> That would be new. =C2=A0Maybe someone tightened up the build system s=
ince
>>>> the last time I looked. =C2=A0Previously, we just dumped -fPIC into the
>>>> generic compiler flags on those platforms in src/cf/osconf.m4 because
>>>> figuring out how to build the libraries separately was too hard.

> i don't remember that. was it debian-only? the solution we had should
> have involved a second build pass involving CCOBJ override.

No, it's not Debian-specific.  Take a look at src/cf/osconf.m4 for alpha,
arm, amd64, and s390x Linux and see how it sets CCOBJ.

Debian never messed with the PIC flag.  We used to have a hack to build
some of the libraries separately for PAM, but that hack is now directly in
the build system.

>> I don't see it on amd64 buildbots on all invocations:

>> gcc =C2=A0 -O =C2=A0 -I/home/buildbot/slave1/rhel6-x86_64-builder/build/=
src/config
>> -I/home/buildbot/slave1/rhel6-x86_64-builder/build/include -I. -I.
>> -DRXDEBUG -DFSSYNC_BUILD_SERVER -DSALVSYNC_BUILD_CLIENT
>> -DAFS_DEMAND_ATTACH_FS -pthread -D_REENTRANT -DAFS_PTHREAD_ENV =C2=A0-o
>> afsfileprocs.o -c ./../viced/afsfileprocs.c

> yeah, this fits what i remember.

What Andrew is looking at only happens for binaries built pthreaded.  Take
a look at the regular command-line programs like fs.  If I'm reading the
logic correctly, they're going to be built -fPIC on those architectures
right now.

--=20
Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>