Subject: Re: libpam build problems
To: Emmanuel Dreyfus <manu@netbsd.org>
From: Christos Zoulas <christos@zoulas.com>
List: tech-toolchain
Date: 02/19/2005 12:15:59
On Feb 19, 3:35pm, manu@netbsd.org (Emmanuel Dreyfus) wrote:
-- Subject: libpam build problems
| Hi
|
| In order to cross-compile libpam from amd64 to macppc, I had to apply the
| attached patches to the source. Does that need to be committed and propagated to
| OpenPAM, or is there a lint flag that needs to get rid of in our build system?
|
| There are two distincts problems: sizeof's result is not of type size_t, and
| lint will complain about that when sizeof is used as an argument for a function
| that wants size_t (e.g.: calloc and friends). Lint shuts up if I add a (size_t)
| cast.
|
| Second problem: *data = (void *)(intptr_t)dp->data; bugs because converting a
| pointer to int may loose bits. Indeed, but where is the conversion? Removing the
| (intptr_t) cast cause lint to shut up.
The cross-compiler binaries are broken. sizeof returns size_t and
intptr_t is guaranteed not to lose conversion bits. There is no
point in adding those patches.
christos