Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Dec 2008 12:17:43 +0100
From:      =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no>
To:        Warner Losh <imp@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r185925 - in head/contrib/binutils: bfd gas/config ld/emulparams
Message-ID:  <86oczjklk8.fsf@ds4.des.no>
In-Reply-To: <200812110822.mBB8MKLd059320@svn.freebsd.org> (Warner Losh's message of "Thu, 11 Dec 2008 08:22:20 %2B0000 (UTC)")
References:  <200812110822.mBB8MKLd059320@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

Warner Losh <imp@FreeBSD.org> writes:
> Author: imp
> Date: Thu Dec 11 08:22:20 2008
> New Revision: 185925
> URL: http://svn.freebsd.org/changeset/base/185925
>
> Log:
>   Push mips support into the tree.

Just to pick a random mips commit -

There is something wrong with the mips toolchain.  The build breaks in
libpam, while building the static version, which includes all modules:

../modules/pam_deny/libpam_deny.a(pam_deny.o)(.text+0x3c): In function `pam_sm_open_session':
/src/lib/libpam/modules/pam_deny/pam_deny.c:80: multiple definition of `pam_sm_open_session'
../modules/pam_chroot/libpam_chroot.a(pam_chroot.o)(.text+0x14):/src/lib/libpam/modules/pam_chroot/pam_chroot.c:54: first defined here
[lather, rinse, repeat for every service function in every module]

The service functions should be static.  The logic PAM uses to determine
whether it is building static or shared modules is as follows:

#if defined(__GNUC__) && !defined(__PIC__) && !defined(NO_STATIC_MODULES)

The command line used to compile the pam_deny.o that goes into libpam_deny.a:

cc -O2 -pipe -EL -msoft-float -G0 -mno-dsp -mabicalls  -I/src/lib/libpam/modules/pam_deny/../../../../contrib/openpam/include -I/src/lib/libpam/modules/pam_deny/../../libpam -g -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wno-uninitialized -Wno-pointer-sign -c /src/lib/libpam/modules/pam_deny/pam_deny.c

The corresponding command line for amd64:

cc -O2 -pipe -march=nocona -I/src/lib/libpam/modules/pam_deny/../../../../contrib/openpam/include -I/src/lib/libpam/modules/pam_deny/../../libpam -g -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wno-uninitialized -Wno-pointer-sign -c /src/lib/libpam/modules/pam_deny/pam_deny.c

DES
-- 
Dag-Erling Smørgrav - des@des.no



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86oczjklk8.fsf>