Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 256444

Summary: Illegal Instruction on make {oldconfig,menuconfig} with sys-kernel/gentoo-sources on Via C3 Samuel 2
Product: Gentoo Linux Reporter: R Bar-On <rb6>
Component: [OLD] Core systemAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Severity: major CC: jer
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Package list:
Runtime testing required: ---
Attachments: strace make oldconfig

Description R Bar-On 2009-01-26 19:46:08 UTC
With a Via C3 Samuel 2, executing make oldconfig or make menuconfig gives an illegal instruction error.  strace and emerge --info below.

Reproducible: Always

Steps to Reproduce:

strace make oldconfig attached

emerge --info:
Portage (default/linux/x86/2008.0/server, gcc-4.1.2, glibc-2.6.1-r0, 2.6.24-gentoo-r8 i686)
System uname: Linux-2.6.24-gentoo-r8-i686-VIA_Samuel_2-with-glibc2.0
Timestamp of tree: Sun, 25 Jan 2009 21:45:01 +0000
distcc 3.0 i486-pc-linux-gnu [enabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-lang/python:     2.5.2-r7
dev-util/ccache:     2.4-r7
sys-devel/autoconf:  2.63
sys-devel/automake:  1.4_p6, 1.6.3, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
CFLAGS="-march=i586 -m3dnow -O2 -pipe -fomit-frame-pointer"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=i586 -m3dnow -O2 -pipe -fomit-frame-pointer"
FEATURES="ccache distcc distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
USE="3dnow acl apache2 avahi bash-completion berkdb bzip2 cli cracklib crypt ctype dbus dri fortran gdbm gpm howl howl-compat iconv isdnlog ldap libwww mailwrapper midi mmx mudflap mysql ncurses nls nptl nptlonly openmp pam pcre perl php pppd python readline reflection session snmp spl ssl sysfs tcpd truetype unicode x86 xml xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev glint i810 intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo"
Comment 1 R Bar-On 2009-01-26 19:47:05 UTC
Created attachment 179802 [details]
strace make oldconfig
Comment 2 R Bar-On 2009-01-26 20:17:59 UTC
strace scripts/kconfig/conf arch/x86/Kconfig:

execve("scripts/kconfig/conf", ["scripts/kconfig/conf", "arch/x86/Kconfig"], [/* 31 vars */]) = 0
brk(0)                                  = 0x805a000
access("/etc/", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=22723, ...}) = 0
mmap2(NULL, 22723, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f94000
close(3)                                = 0
open("/lib/", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\v\1\0004\0\0\0p"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=307288, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f93000
mmap2(NULL, 312356, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f46000
mmap2(0xb7f89000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x42) = 0xb7f89000
mmap2(0xb7f92000, 1060, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f92000
close(3)                                = 0
open("/lib/", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@a\1\0004\0\0\0\24"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1200228, ...}) = 0
mmap2(NULL, 1205712, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e1f000
mmap2(0xb7f40000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x121) = 0xb7f40000
mmap2(0xb7f43000, 9680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f43000
close(3)                                = 0
open("/lib/", O_RDONLY)       = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\n\0\0004\0\0\0,"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=9612, ...}) = 0
mmap2(NULL, 12412, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e1b000
mmap2(0xb7e1d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7e1d000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e1a000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e1a6c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb7e1d000, 4096, PROT_READ)   = 0
mprotect(0xb7f40000, 8192, PROT_READ)   = 0
mprotect(0xb7f89000, 32768, PROT_READ)  = 0
mprotect(0x8057000, 4096, PROT_READ)    = 0
mprotect(0xb7fb4000, 4096, PROT_READ)   = 0
munmap(0xb7f94000, 22723)               = 0
brk(0)                                  = 0x805a000
brk(0x807b000)                          = 0x807b000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1520480, ...}) = 0
mmap2(NULL, 1520480, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7ca6000
close(3)                                = 0
open("arch/x86/Kconfig", O_RDONLY)      = 3
uname({sys="Linux", node="gentoo-server", ...}) = 0
--- SIGILL (Illegal instruction) @ 0 (0) ---
+++ killed by SIGILL +++
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2009-01-29 17:15:54 UTC
If this really is an i586 compatible chip, then your `uname -m' shouldn't be returning "i686" as the `emerge --info' suggests it does. You should be using a generic x86 CD and stage3 tarball instead of the i686 ones.
Comment 4 R Bar-On 2009-01-29 17:21:57 UTC
I thought this might be the case.  However, my CFLAGS and CHOST are not i686....

Can I solve this by rebuilding the toolchain (emerge -e system) followed by rebuilding the rest (emerge -e world), using the changing CHOST guide or do I really need a complete reinstall?
Comment 5 Jeroen Roovers (RETIRED) gentoo-dev 2009-01-29 20:00:10 UTC
(In reply to comment #4)
> I thought this might be the case.  However, my CFLAGS and CHOST are not
> i686....

Changing a few variables around doesn't magically make previously compiled code refrain from issuing incompatible instructions.

> Can I solve this by rebuilding the toolchain (emerge -e system) followed by
> rebuilding the rest (emerge -e world), using the changing CHOST guide or do I
> really need a complete reinstall?

You hadn't come that far to begin with, apparently, so starting over is the best way to go. Do mind that re-emerging the toolchain would probably cause the same kinds of issues you're seeing now.
Comment 6 R Bar-On 2009-01-29 21:31:16 UTC
Sorry to be a nuisance, but could you explain a little more please?  Surely rebuilding the toolchain with correct parameters, followed by a complete rebuild would effectively do the same as a fresh install?  If you don't mind, could you explain the differences?
Comment 7 Jeroen Roovers (RETIRED) gentoo-dev 2009-01-30 00:23:30 UTC
No, sorry. This is a bug tracker and not a support forum. And the changes you want to make will probably not work. Unpacking a proper stage3 would be best. If you really must go that experimental route, then try it on