Re: Latest CVS: disklabel broken?

From: Jeremy Chadwick <freebsd_at_jdc.parodius.com>
Date: Thu, 29 Jul 2004 21:01:35 -0700
Alexander (and Scott too),

Adding -fno-unit-at-a-time to CFLAGS for boot2's Makefile looks to
have fixed the problem.  Verified via the following method (just to
be sure), right after updating to the latest CVS and applying Alexander's
patch:

# rm -fr /usr/obj/*
# cd /usr/src/sys/boot
# make clean
# make
# make install
# disklabel -B ad0s1

After this, the machine with a broken bootstrap came up without a hitch;
no panic.

One thing to investigate, however: kan_at_ committed a change to
src/sys/boot/i386/boot2/boot2.c a few hours ago.  Can we confirm that
-fno-unit-at-a-time is the correct fix for this, and not what was
committed?

Is there any other regions of present -CURRENT since the gcc 3.4 merge
that might be suffering from a similar phenomenon?

-- 
| Jeremy Chadwick                                 jdc at parodius.com |
| Parodius Networking                        http://www.parodius.com/ |
| UNIX Systems Administrator                   Mountain View, CA, USA |
| Making life hard for others since 1977.                             |

On Fri, Jul 30, 2004 at 12:39:49AM +0000, Alexander Kabaev wrote:
> On Thu, Jul 29, 2004 at 05:14:44PM -0700, Jeremy Chadwick wrote:
> > Minor typo/clarification: the transition problem lies between boot1
> > and boot2, it seems.
> > 
> > On one of the machines (which uses boot1 across serial console),
> > the system reports "Invalid partition" when trying to boot from --
> > and yes, this is not a typo -- 0:ad(0,`).  Manually typing in the
> > correct device (which is 0:ad(0,a)) causes the machine to spit out
> > an exception error and reboot automatically.
> > 
> > Just wanted to clarify on that point.
> > 
> 
> GCC 3.4 seems to be very likely cause of this problem. I guess your only
> option is to get boot2 file from a system which predates GCC 3.4 and 
> install in on broken boxes.
> 
> I am trying to find the likely cause of this failure. The very first
> idea I managed to think of is that your problem is yet another fallout
> from new GCC unit-at-a-time optimisation mode. Could you please test
> an attached patch and report results here?
> 
> 
> Index: Makefile
> ===================================================================
> RCS file: /home/ncvs/src/sys/boot/i386/boot2/Makefile,v
> retrieving revision 1.55
> diff -u -r1.55 Makefile
> --- Makefile	17 Feb 2004 07:13:03 -0000	1.55
> +++ Makefile	30 Jul 2004 00:31:37 -0000
> _at__at_ -22,6 +22,7 _at__at_
>  
>  CFLAGS=	-Os \
>  	-fno-guess-branch-probability -fomit-frame-pointer\
> +	-fno-unit-at-a-time \
>  	-mno-align-long-strings \
>  	-mrtd \
>  	-D${BOOT2_UFS} \
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
Received on Fri Jul 30 2004 - 02:01:41 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:03 UTC