Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Nov 2006 17:46:18 +0300
From:      Ruslan Ermilov <ru@freebsd.org>
To:        FreeBSD Tinderbox <tinderbox@freebsd.org>, arm@freebsd.org, current@freebsd.org
Subject:   Re: [head tinderbox] failure on arm/arm
Message-ID:  <20061112144618.GB49703@rambler-co.ru>
In-Reply-To: <20061112142710.GE91556@wombat.fafoe.narf.at>
References:  <20061112133929.9194773068@freebsd-current.sentex.ca> <20061112140010.GA47660@rambler-co.ru> <20061112142710.GE91556@wombat.fafoe.narf.at>

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

--IiVenqGWf+H9Y6IX
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Nov 12, 2006 at 03:27:10PM +0100, Stefan Farfeleder wrote:
> On Sun, Nov 12, 2006 at 05:00:10PM +0300, Ruslan Ermilov wrote:
> > On Sun, Nov 12, 2006 at 08:39:29AM -0500, FreeBSD Tinderbox wrote:
> > > >>> stage 4.2: building libraries
> > > [...]
> > > cc -O2 -pipe  -I/obj/arm/src/lib/libelf -I/src/lib/libelf -DLIBELF_TE=
ST_HOOKS=3D1 -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-p=
arameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -c /=
src/lib/libelf/elf_getident.c
> > > cc -O2 -pipe  -I/obj/arm/src/lib/libelf -I/src/lib/libelf -DLIBELF_TE=
ST_HOOKS=3D1 -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-p=
arameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -c /=
src/lib/libelf/elf_hash.c
> > > cc -O2 -pipe  -I/obj/arm/src/lib/libelf -I/src/lib/libelf -DLIBELF_TE=
ST_HOOKS=3D1 -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-p=
arameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -c /=
src/lib/libelf/elf_kind.c
> > > cc -O2 -pipe  -I/obj/arm/src/lib/libelf -I/src/lib/libelf -DLIBELF_TE=
ST_HOOKS=3D1 -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-p=
arameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -c /=
src/lib/libelf/elf_memory.c
> > > cc -O2 -pipe  -I/obj/arm/src/lib/libelf -I/src/lib/libelf -DLIBELF_TE=
ST_HOOKS=3D1 -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-p=
arameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -c /=
src/lib/libelf/elf_next.c
> > > cc -O2 -pipe  -I/obj/arm/src/lib/libelf -I/src/lib/libelf -DLIBELF_TE=
ST_HOOKS=3D1 -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-p=
arameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -c /=
src/lib/libelf/elf_rand.c
> > > /src/lib/libelf/elf_rand.c: In function `elf_rand':
> > > /src/lib/libelf/elf_rand.c:47: warning: cast increases required align=
ment of target type
> > > *** Error code 1
> > >=20
> > > Stop in /src/lib/libelf.
> > > *** Error code 1
> > >=20
> > This looks like a GCC bug to me.  The following code snippet,
> > when compiled on FreeBSD/arm, causes a -Wcast-align warning
> > which doesn't look right:
> >=20
> > %%%
> > $ cat a.c
> > struct foo {
> > 	char x;
> > };
> >=20
> > struct foo *
> > bubu(char *s)
> > {
> >=20
> > 	return (struct foo *)s;
> > }
> > $ cc -c -Wcast-align a.c
> > a.c: In function `bubu':
> > a.c:9: warning: cast increases required alignment of target type
> > %%%
> >=20
> > (None of other supported architecutes see the issue here.)
>=20
> What is sizeof(struct foo)?  If it's > 1 it makes sense.
>=20
Yes, it's four bytes on ARM.  But why?


Cheers,
--=20
Ruslan Ermilov
ru@FreeBSD.org
FreeBSD committer

--IiVenqGWf+H9Y6IX
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (FreeBSD)

iD8DBQFFVzO6qRfpzJluFF4RAnW8AJ9XPR3d5tGGAHEkD06xWD07Frw2rACghbIi
AssHx2oQOJQ9xso6+MNMaTA=
=l4T9
-----END PGP SIGNATURE-----

--IiVenqGWf+H9Y6IX--



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