[Bug 163710] setjump in userboot.so causes stack corruption

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Oct 22 13:15:18 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=163710

DontWorry <abhkamal0512 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |abhkamal0512 at gmail.com

--- Comment #16 from DontWorry <abhkamal0512 at gmail.com> ---
(In reply to peter from comment #7)
On Thu, Mar 15, 2012 at 2:40 PM, Russell Cattelan <cattelan at thebarn.com> wr=
ote:
> The following reply was made to PR amd64/163710; it has been noted by GNA=

TS.
[..]
> =A0Does the last patch seem acceptable?

>
> =A0Can we close this issue out?


Sadly not,

 +no-machine:
 + rm -f   ${.CURDIR}/../../ficl/machine

.. this is definitely bogus no matter what. This attempts to modify
the source tree which may be read only, and should never even have a
"machine->..." symlink in it to remove in the first place.

I see sys/boot/userboot/ficl/Makefile has commented out the code that
sets up the ./machine links in its ${.OBJDIR} and there's -I paths all
over the place so my guess is that it's picking up some of the i386
machine links rather than setting up its own.  You probably need to
look at the userboot/ficl/Makefile code and make sure its setting up
the correct links rather than accidently using one belonging to
something else.

Or your source tree is contaminated somehow with a machine-> link
somewhere that it isn't supposed to be.
--=20
Peter Wemm - peter at wemm.org; https://www.manganelo.link/; peter at yahoo-inc.com;
KI6FJV
"All of this is for nothing if we don't go to the stars" - JMS/B5
"If Java had true garbage collection, most programs would delete
themselves upon execution." -- Robert Sewell
---------------------------------------------------------------------------


Well let me explain this again.
If the build is done from scratch things work because
boot/userboot/ficl is built before boot/ficl.
If an incremental build is done (e.g. when doing devel on the userboot
lib) boot/userboot/ficl will end up picking up i386 header files due
to the symlink that was created by boot/ficl/Makefile

I'll will grant you this bug isn't hit by a normal full build due
to way the build it ordered.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-amd64 mailing list