From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1bwZoB-000356-8T for mharc-grub-devel@gnu.org; Tue, 18 Oct 2016 15:12:19 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39250) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bwZo5-000326-NJ for grub-devel@gnu.org; Tue, 18 Oct 2016 15:12:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bwZo2-0007KY-I7 for grub-devel@gnu.org; Tue, 18 Oct 2016 15:12:13 -0400 Received: from caffeine.csclub.uwaterloo.ca ([129.97.134.17]:55806) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1bwZo2-0007J9-Dr for grub-devel@gnu.org; Tue, 18 Oct 2016 15:12:10 -0400 Received: by caffeine.csclub.uwaterloo.ca (Postfix, from userid 20367) id 2D9FFC0203; Tue, 18 Oct 2016 15:12:09 -0400 (EDT) Date: Tue, 18 Oct 2016 15:12:09 -0400 To: The development of GNU GRUB Cc: Matthew Whitehead Subject: Re: "Illegal Instruction" error in grub_script_comments Message-ID: <20161018191208.GF20428@csclub.uwaterloo.ca> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) From: lsorense@csclub.uwaterloo.ca (Lennart Sorensen) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 129.97.134.17 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Oct 2016 19:12:17 -0000 On Mon, Oct 17, 2016 at 02:34:16PM -0400, tedheadster wrote: > I am building the older grub2-1.98+20100804 under the similarly old Debian > 'squeeze' distribution. However, I bet the error persists with newer > version. This is because I am building it on a true Intel 80486 and I don't > thing the compiler is building for the correct architecture. Here is the > output: > > ./config.status --file=-:tests/grub_script_dollar.in | sed -e > 's,@pkglib_DATA@,efiemu32.o efiemu64.o moddep.lst command.lst fs.lst > partmap.lst parttool.lst handler.lst vi\ > deo.lst crypto.lst terminal.lst,g' > grub_script_dollar > chmod +x grub_script_dollar > > ./config.status --file=-:tests/grub_script_comments.in | sed -e > 's,@pkglib_DATA@,efiemu32.o efiemu64.o moddep.lst command.lst fs.lst > partmap.lst parttool.lst handler.lst \ > video.lst crypto.lst terminal.lst,g' > grub_script_comments > chmod +x grub_script_comments > > Illegal instruction > > ./grub_script_echo1: GRUB and BASH outputs did not match (see diff -u > /tmp/tmp.tP7l8uR3SD /tmp/tmp.wYCFOK2zor) > make[2]: *** [check] Error 1 > make[2]: Leaving directory `/root/grub2-1.98+20100804/build/grub-pc' > dh_auto_test: make -j1 check returned exit code 2 > make[1]: *** [build/stamps/build-grub-pc] Error 29 > make[1]: Leaving directory `/root/grub2-1.98+20100804' > make: *** [build] Error 2 > > Is there a file I can modify to pass in -march=i486 or something similar? Well I tried installing squeeze in a qemu VM emulating a 486. It worked fine there. But qemu is emulating a 486DX4, which supports CPUID. If your 486 is older if probably does not have the CPUID instruction. The place grub is blowing up appears to be the test suite which uses qemu-system-i386. So my suspicion is that it is actually qemu crashing, not grub, and that your best bet would be to just not run the test suite. The compile almost certainly worked fine. Simply uninstalling qemu whould make it not try to run the test based on the debian/rules file, although debian/control considers qemu a built dependancy. So you probably have to use -d with dpkg-builcpackage to make it ignore the missing dependancy. Or edit debian/rules and simply set the with_check variable to no. I can't find anything that says if qemu should run on an older 486, probably since those usually didn't have enough memory to make that worth the bother and they are too slow. Maybe no one had ever tried it before. -- Len Sorensen