Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jun 2003 23:05:57 -0700
From:      Kris Kennaway <kris@obsecurity.org>
To:        Wiktor Niesiobedzki <w@evip.pl>
Cc:        Kris Kennaway <kris@obsecurity.org>
Subject:   Re: adsl/pppoe no longer connecting on 5.1
Message-ID:  <20030612060557.GA37441@rot13.obsecurity.org>
In-Reply-To: <20030612051812.GQ48387@mail.evip.pl>
References:  <200306112248.AA655556764@141.com> <20030612045022.GA36033@rot13.obsecurity.org> <20030612051812.GQ48387@mail.evip.pl>

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

--9jxsPFA5p3P2qPhR
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Jun 12, 2003 at 07:18:12AM +0200, Wiktor Niesiobedzki wrote:
> On Wed, Jun 11, 2003 at 09:50:22PM -0700, Kris Kennaway wrote:
> > On Wed, Jun 11, 2003 at 10:48:32PM -0600, Andrew Lankford wrote:
> > > >Can you try backing out bsd.sys.mk to r1.26 and rebuild your world a=
nd
> > > >kernel?  Later versions of this file are causing strange problems >w=
ith
> > > >package builds.
> > >=20
> > > I was a little lazy and just backed out bsd.sys.mk to 1.26 as you
> > > suggested, rebuilt /usr/lib/ , /usr/include/, and ppp.  My kernel is =
the
> > > same as last time.  As a result, ppp's now up and running again.
> >=20
> > Thanks, that's actually more useful because it isolates the problem.
> > It's probably something in ppp that is misbehaving with CSTD=3Dc99.
> >=20
> alloca(3) function is misbehaving in ppp (namely ether.c). Is this a comp=
iler
> bug?

It looks like gcc's inline alloca implementation allocates chunks in
larger chunks than the alloca.S implementation does.  This (untested)
patch should make the alloca.S behaviour match that of gcc.

Kris

Index: i386/gen/alloca.S
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /usr/home/ncvs/src/lib/libc/i386/gen/alloca.S,v
retrieving revision 1.10
diff -u -r1.10 alloca.S
--- i386/gen/alloca.S	23 Mar 2002 02:44:18 -0000	1.10
+++ i386/gen/alloca.S	12 Jun 2003 06:00:52 -0000
@@ -47,8 +47,8 @@
 	popl	%edx		/*  pop return addr */
 	popl	%eax		/*  pop amount to allocate */
 	movl	%esp,%ecx
-	addl	$3,%eax		/*  round up to next word */
-	andl	$0xfffffffc,%eax
+	addl	$15,%eax		/*  round up to next word */
+	andl	$0xfffffff0,%eax
 	subl	%eax,%esp
 	movl	%esp,%eax	/* base of newly allocated space */
 	pushl	8(%ecx)		/* copy possible saved registers */

--9jxsPFA5p3P2qPhR
Content-Type: application/pgp-signature
Content-Disposition: inline

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

iD8DBQE+6BhFWry0BWjoQKURAph9AKCRe+gSYCOmali/4L7rbLuTrr793gCgt+Yh
twkTb7t0cEj8+IxGNrMgPsM=
=KlR4
-----END PGP SIGNATURE-----

--9jxsPFA5p3P2qPhR--



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