From: Frank M. <fr...@ma...> - 2006-10-09 21:06:52
|
Hi folks, I'm playing around with the following config: processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 5 model name : AMD Opteron(tm) Processor 246 stepping : 10 cpu MHz : 2009.294 cache size : 1024 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow bogomips : 4020.87 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp processor : 1 ...same as 0 above This Host runs Linux ur 2.6.17-gentoo-r7-skas3-v9-pre9-apsu-host #5 SMP Sat Oct 7 00:01:31 CEST 2006 x86_64 AMD Opteron(tm) Processor 246 GNU/Linux I've been playing around with various host and uml versions and patches attempting to run both a 64-bit and a 32-bit uml on that box. (I know IA32_EMULATION is not supported in UML, so instead of trying to run 32-bit apps inside a 64-bit UML, I'm now trying to run 32-bit apps inside a 32-bit UML on a 64-bit host.) I've tried various kernels and patchsets in X86_64 and apart from some small weirdness, they run quite well (even though I need noprocmm and skas3 won't engage..skas0 will) but once I go SUBARCH=i386, things stop working.. I've had the init "Usage" problem, but even when I worked around that, I end up with an UML booting up to a point and then going into an eternal loop: I've tried 2.6.18 with and without gentoo patchset, with and without 2.6.18-bb1 same for 2.6.17-r7 and r8 from Gentoo, and Usermode-sources from Gentoo.. I'v had various problems but never got a 32-bit system to run, and just about all 64-bit ones. I've just tried linux-2.6.16.24-uml-2.6.16-bb1, linux-2.6.16.24-uml-2.6.16-bs2 and the binary uml-release-2.6.16.9-bs2 from Blaisorblade. Have needed to add the register constants just above the last function in registers.c manually for the first 2. arch/um/os-Linux/sys-i386/registers.c: #ifndef JB_PC #define JB_PC 5 #define JB_SP 4 #define JB_BP 3 #endif arch/um/os-Linux/sys-x86_64/registers.c: #ifndef JB_PC #define JB_PC 7 #define JB_RSP 6 #define JB_RBP 1 #endif But when I start up the 32-bit version: all the same result (this one from uml-release-2.6.16.9-bs2) ur kernels # /vm_conf/ekur/run Checking that ptrace can change system call numbers...OK Checking syscall emulation patch for ptrace...missing Checking for tmpfs mount on /dev/shm...OK Checking PROT_EXEC mmap in /vm_mem/...OK Checking for the skas3 patch in the host: - /proc/mm...found - PTRACE_FAULTINFO...found - PTRACE_LDT...found UML running in SKAS3 mode Linux version 2.6.16.9-bs2 (paolo@zion) (gcc version 3.4.5 (Gentoo Hardened 3.4.5, ssp-3.4.5-1.0, pie-8.7.9)) #8 Mon Apr 24 17:48:59 CEST 2006 Built 1 zonelists Kernel command line: ubda=root ubdb=swap ubdc=var ubdd=usr ubde=opt ubdf=db ubdg=qmail ubdh=home ssl=pts con=pts con0=null,fd:1 eth0=daemon mem=500M root=98:0 PID hash table entries: 2048 (order: 11, 32768 bytes) Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) Memory: 500096k available Mount-cache hash table entries: 512 Checking for host processor cmov support...Yes Checking for host processor xmm support...No Checking that host ptys support output SIGIO...Yes Checking that host ptys support SIGIO on close...No, enabling workaround Checking for /dev/anon on the host...Not available (open failed with errno 2) Using 2.6 host AIO NET: Registered protocol family 16 Netdevice 0 : daemon backend (uml_switch version 3) - unix:/tmp/uml.ctl mconsole (version 2) initialized on /vm_conf/ekur/.uml/ekur/mconsole ubd: Synchronous mode Host TLS support detected Detected host type: x86_64 VFS: Disk quotas dquot_6.5.1 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) Initializing Cryptographic API io scheduler noop registered io scheduler anticipatory registered (default) io scheduler deadline registered io scheduler cfq registered loop: loaded (max 8 devices) NET: Registered protocol family 2 IP route cache hash table entries: 4096 (order: 2, 16384 bytes) TCP established hash table entries: 16384 (order: 4, 65536 bytes) TCP bind hash table entries: 16384 (order: 4, 65536 bytes) TCP: Hash tables configured (established 16384 bind 16384) TCP reno registered TCP bic registered NET: Registered protocol family 1 NET: Registered protocol family 17 Initialized stdio console driver Console initialized on /dev/tty0 Initializing software serial port version 1 ubda: unknown partition table ubdb: unknown partition table ubdc: unknown partition table ubdd: unknown partition table ubde: unknown partition table ubdf: unknown partition table ubdg: unknown partition table ubdh: unknown partition table ReiserFS: ubda: found reiserfs format "3.6" with standard journal ReiserFS: ubda: using ordered data mode ReiserFS: ubda: journal params: device ubda, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: ubda: checking transaction log (ubda) ReiserFS: ubda: Using r5 hash to sort names VFS: Mounted root (reiserfs filesystem) readonly. ... loop forever no more output ... I attached and strace -f -p to the parent uml process: Process 25157 attached - interrupt to quit --- SIGSTOP (Stopped (signal)) @ 0 (0) --- --- SIGSTOP (Stopped (signal)) @ 0 (0) --- ptrace(PTRACE_SETREGS, 25163, 0, 0x9061a18) = 0 ptrace(PTRACE_SETFPXREGS, 25163, 0, 0x9061ac8) = 0 ptrace(PTRACE_SYSCALL, 25163, 0, SIG_0) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- waitpid(25163, [{WIFSTOPPED(s) && WSTOPSIG(s) == SIGSEGV}], WSTOPPED) = 25163 ptrace(PTRACE_GETREGS, 25163, 0, 0x9061a18) = 0 ptrace(PTRACE_GETFPXREGS, 25163, 0, 0x9061ac8) = 0 ptrace(0x34 /* PTRACE_??? */, 25163, 0, 0x9061cc8) = 0 ptrace(PTRACE_SETREGS, 25163, 0, 0x9061a18) = 0 ptrace(PTRACE_SETFPXREGS, 25163, 0, 0x9061ac8) = 0 ptrace(PTRACE_SYSCALL, 25163, 0, SIG_0) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- waitpid(25163, [{WIFSTOPPED(s) && WSTOPSIG(s) == SIGSEGV}], WSTOPPED) = 25163 ptrace(PTRACE_GETREGS, 25163, 0, 0x9061a18) = 0 ptrace(PTRACE_GETFPXREGS, 25163, 0, 0x9061ac8) = 0 ptrace(0x34 /* PTRACE_??? */, 25163, 0, 0x9061cc8) = 0 ptrace(PTRACE_SETREGS, 25163, 0, 0x9061a18) = 0 ptrace(PTRACE_SETFPXREGS, 25163, 0, 0x9061ac8) = 0 ptrace(PTRACE_SYSCALL, 25163, 0, SIG_0) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- waitpid(25163, [{WIFSTOPPED(s) && WSTOPSIG(s) == SIGSEGV}], WSTOPPED) = 25163 ptrace(PTRACE_GETREGS, 25163, 0, 0x9061a18) = 0 ptrace(PTRACE_GETFPXREGS, 25163, 0, 0x9061ac8) = 0 ptrace(0x34 /* PTRACE_??? */, 25163, 0, 0x9061cc8) = 0 ptrace(PTRACE_SETREGS, 25163, 0, 0x9061a18) = 0 ptrace(PTRACE_SETFPXREGS, 25163, 0, 0x9061ac8) = 0 ptrace(PTRACE_SYSCALL, 25163, 0, SIG_0) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- waitpid(25163, [{WIFSTOPPED(s) && WSTOPSIG(s) == SIGSEGV}], WSTOPPED) = 25163 ptrace(PTRACE_GETREGS, 25163, 0, 0x9061a18) = 0 ptrace(PTRACE_GETFPXREGS, 25163, 0, 0x9061ac8) = 0 ptrace(0x34 /* PTRACE_??? */, 25163, 0, 0x9061cc8) = 0 ptrace(PTRACE_SETREGS, 25163, 0, 0x9061a18) = 0 ptrace(PTRACE_SETFPXREGS, 25163, 0, 0x9061ac8) = 0 ptrace(PTRACE_SYSCALL, 25163, 0, SIG_0) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- waitpid(25163, [{WIFSTOPPED(s) && WSTOPSIG(s) == SIGSEGV}], WSTOPPED) = 25163 ptrace(PTRACE_GETREGS, 25163, 0, 0x9061a18) = 0 ptrace(PTRACE_GETFPXREGS, 25163, 0, 0x9061ac8) = 0 ptrace(0x34 /* PTRACE_??? */, 25163, 0, 0x9061cc8) = 0 ptrace(PTRACE_SETREGS, 25163, 0, 0x9061a18) = 0 ptrace(PTRACE_SETFPXREGS, 25163, 0, 0x9061ac8) = 0 ptrace(PTRACE_SYSCALL, 25163, 0, SIG_0) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- ... and so on ad eternam .. The run script is: exec setuidgid vmekur env - USER=vmekur HOME=/vm_conf/ekur TMPDIR=/vm_mem /vm_base/kernels/linux32 ubda=root ubdb=swap ubdc=var ubdd=usr ubde=opt ubdf=db ubdg=qmail ubdh=home umid=ekur ssl=pts con=pts con0=null,fd:1 eth0=daemon mem=500M Now it strikes me as odd that this seems to be just the code from registers.c that I have needed to patch the #defines in.. But I did that before and it worked fine on x86_64.. Does any of you have any idea where to start with this? willing. Have strace, will gdb.. But please give me enough hints ; it's been a while and so far I've only debugged my own code. Certainly not kernels. Many many prethanks, Frank PS: The .config I used when compiling my own: # # Automatically generated make config: don't edit # Linux kernel version: 2.6.16.24 # Mon Oct 9 21:33:29 2006 # CONFIG_GENERIC_HARDIRQS=y CONFIG_UML=y CONFIG_MMU=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_IRQ_RELEASE_METHOD=y # # UML-specific options # # CONFIG_MODE_TT is not set # CONFIG_STATIC_LINK is not set CONFIG_MODE_SKAS=y # # Host processor type and features # # CONFIG_M386 is not set # CONFIG_M486 is not set # CONFIG_M586 is not set # CONFIG_M586TSC is not set # CONFIG_M586MMX is not set # CONFIG_M686 is not set # CONFIG_MPENTIUMII is not set # CONFIG_MPENTIUMIII is not set # CONFIG_MPENTIUMM is not set # CONFIG_MPENTIUM4 is not set # CONFIG_MK6 is not set # CONFIG_MK7 is not set CONFIG_MK8=y <-- won't compile with CONFIG_M386, tried with MK6 as well.. # CONFIG_MCRUSOE is not set # CONFIG_MEFFICEON is not set # CONFIG_MWINCHIPC6 is not set # CONFIG_MWINCHIP2 is not set # CONFIG_MWINCHIP3D is not set # CONFIG_MGEODEGX1 is not set # CONFIG_MGEODE_LX is not set # CONFIG_MCYRIXIII is not set # CONFIG_MVIAC3_2 is not set # CONFIG_X86_GENERIC is not set CONFIG_X86_CMPXCHG=y CONFIG_X86_XADD=y CONFIG_X86_L1_CACHE_SHIFT=6 CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INVLPG=y CONFIG_X86_BSWAP=y CONFIG_X86_POPAD_OK=y CONFIG_X86_CMPXCHG64=y CONFIG_X86_GOOD_APIC=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y CONFIG_X86_TSC=y CONFIG_UML_X86=y # CONFIG_64BIT is not set CONFIG_SEMAPHORE_SLEEPERS=y CONFIG_TOP_ADDR=0xc0000000 # CONFIG_3_LEVEL_PGTABLES is not set CONFIG_STUB_CODE=0xbfffe000 CONFIG_STUB_DATA=0xbffff000 CONFIG_STUB_START=0xbfffe000 CONFIG_ARCH_HAS_SC_SIGNALS=y CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA=y CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y # CONFIG_DISCONTIGMEM_MANUAL is not set # CONFIG_SPARSEMEM_MANUAL is not set CONFIG_FLATMEM=y CONFIG_FLAT_NODE_MEM_MAP=y # CONFIG_SPARSEMEM_STATIC is not set CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_LD_SCRIPT_DYN=y CONFIG_NET=y CONFIG_BINFMT_ELF=y CONFIG_BINFMT_MISC=y CONFIG_HOSTFS=y # CONFIG_HPPFS is not set CONFIG_MCONSOLE=y CONFIG_MCONSOLE_EXEC=y CONFIG_MAGIC_SYSRQ=y CONFIG_NEST_LEVEL=0 # CONFIG_HIGHMEM is not set CONFIG_KERNEL_STACK_ORDER=2 CONFIG_UML_REAL_TIME_CLOCK=y # # Code maturity level options # CONFIG_EXPERIMENTAL=y CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 # # General setup # CONFIG_LOCALVERSION="-guest32" CONFIG_LOCALVERSION_AUTO=y CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y CONFIG_BSD_PROCESS_ACCT=y # CONFIG_BSD_PROCESS_ACCT_V3 is not set CONFIG_SYSCTL=y # CONFIG_AUDIT is not set CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_INITRAMFS_SOURCE="" CONFIG_UID16=y CONFIG_CC_OPTIMIZE_FOR_SIZE=y # CONFIG_EMBEDDED is not set CONFIG_KALLSYMS=y CONFIG_KALLSYMS_EXTRA_PASS=y CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_EPOLL=y CONFIG_SHMEM=y CONFIG_CC_ALIGN_FUNCTIONS=0 CONFIG_CC_ALIGN_LABELS=0 CONFIG_CC_ALIGN_LOOPS=0 CONFIG_CC_ALIGN_JUMPS=0 CONFIG_SLAB=y # CONFIG_TINY_SHMEM is not set CONFIG_BASE_SMALL=0 # CONFIG_SLOB is not set # # Loadable module support # # CONFIG_MODULES is not set # # Block layer # # CONFIG_LBD is not set # # IO Schedulers # CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y CONFIG_DEFAULT_AS=y # CONFIG_DEFAULT_DEADLINE is not set # CONFIG_DEFAULT_CFQ is not set # CONFIG_DEFAULT_NOOP is not set CONFIG_DEFAULT_IOSCHED="anticipatory" # # Block devices # CONFIG_BLK_DEV_UBD=y CONFIG_BLK_DEV_UBD_SYNC=y CONFIG_BLK_DEV_COW_COMMON=y # CONFIG_MMAPPER is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_CRYPTOLOOP=y CONFIG_BLK_DEV_NBD=y CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=4096 # CONFIG_BLK_DEV_INITRD is not set # CONFIG_ATA_OVER_ETH is not set # # Character Devices # CONFIG_STDERR_CONSOLE=y CONFIG_STDIO_CONSOLE=y CONFIG_SSL=y CONFIG_NULL_CHAN=y CONFIG_PORT_CHAN=y CONFIG_PTY_CHAN=y CONFIG_TTY_CHAN=y # CONFIG_XTERM_CHAN is not set CONFIG_NOCONFIG_CHAN=y CONFIG_CON_ZERO_CHAN="fd:0,fd:1" CONFIG_CON_CHAN="pty" CONFIG_SSL_CHAN="pty" CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256 # CONFIG_WATCHDOG is not set # CONFIG_UML_SOUND is not set # CONFIG_SOUND is not set # CONFIG_HOSTAUDIO is not set CONFIG_UML_RANDOM=y # # Generic Driver Options # CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_FW_LOADER is not set # # Networking # # # Networking options # # CONFIG_NETDEBUG is not set CONFIG_PACKET=y CONFIG_PACKET_MMAP=y CONFIG_UNIX=y # CONFIG_NET_KEY is not set CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set CONFIG_IP_FIB_HASH=y # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE is not set # CONFIG_IP_MROUTE is not set # CONFIG_ARPD is not set # CONFIG_SYN_COOKIES is not set # CONFIG_INET_AH is not set # CONFIG_INET_ESP is not set # CONFIG_INET_IPCOMP is not set # CONFIG_INET_TUNNEL is not set CONFIG_INET_DIAG=y CONFIG_INET_TCP_DIAG=y # CONFIG_TCP_CONG_ADVANCED is not set CONFIG_TCP_CONG_BIC=y # CONFIG_IPV6 is not set # CONFIG_NETFILTER is not set # # DCCP Configuration (EXPERIMENTAL) # # CONFIG_IP_DCCP is not set # # SCTP Configuration (EXPERIMENTAL) # # CONFIG_IP_SCTP is not set # # TIPC Configuration (EXPERIMENTAL) # # CONFIG_TIPC is not set # CONFIG_ATM is not set # CONFIG_BRIDGE is not set # CONFIG_VLAN_8021Q is not set # CONFIG_DECNET is not set # CONFIG_LLC2 is not set # CONFIG_IPX is not set # CONFIG_ATALK is not set # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_NET_DIVERT is not set # CONFIG_ECONET is not set # CONFIG_WAN_ROUTER is not set # # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set # # Network testing # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set # CONFIG_IRDA is not set # CONFIG_BT is not set # CONFIG_IEEE80211 is not set # # UML Network Devices # CONFIG_UML_NET=y # CONFIG_UML_NET_ETHERTAP is not set CONFIG_UML_NET_TUNTAP=y # CONFIG_UML_NET_SLIP is not set CONFIG_UML_NET_DAEMON=y CONFIG_UML_NET_MCAST=y # CONFIG_UML_NET_PCAP is not set # CONFIG_UML_NET_SLIRP is not set # # Network device support # CONFIG_NETDEVICES=y # CONFIG_DUMMY is not set # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set CONFIG_TUN=y # # PHY device support # # # Wan interfaces # # CONFIG_WAN is not set CONFIG_PPP=y # CONFIG_PPP_MULTILINK is not set CONFIG_PPP_FILTER=y CONFIG_PPP_ASYNC=y CONFIG_PPP_SYNC_TTY=y CONFIG_PPP_DEFLATE=y CONFIG_PPP_BSDCOMP=y # CONFIG_PPP_MPPE is not set # CONFIG_PPPOE is not set # CONFIG_SLIP is not set # CONFIG_SHAPER is not set # CONFIG_NETCONSOLE is not set # CONFIG_NETPOLL is not set # CONFIG_NET_POLL_CONTROLLER is not set # # Connector - unified userspace <-> kernelspace linker # # CONFIG_CONNECTOR is not set # # File systems # # CONFIG_EXT2_FS is not set # CONFIG_EXT3_FS is not set CONFIG_REISERFS_FS=y # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_PROC_INFO=y CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_FS_POSIX_ACL=y CONFIG_REISERFS_FS_SECURITY=y # CONFIG_JFS_FS is not set CONFIG_FS_POSIX_ACL=y # CONFIG_XFS_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_MINIX_FS is not set # CONFIG_ROMFS_FS is not set CONFIG_INOTIFY=y # CONFIG_QUOTA is not set CONFIG_DNOTIFY=y # CONFIG_AUTOFS_FS is not set # CONFIG_AUTOFS4_FS is not set CONFIG_FUSE_FS=y # # CD-ROM/DVD Filesystems # CONFIG_ISO9660_FS=y CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_ZISOFS_FS=y # CONFIG_UDF_FS is not set # # DOS/FAT/NT Filesystems # # CONFIG_MSDOS_FS is not set # CONFIG_VFAT_FS is not set # CONFIG_NTFS_FS is not set # # Pseudo filesystems # CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y CONFIG_SYSFS=y CONFIG_TMPFS=y # CONFIG_HUGETLB_PAGE is not set CONFIG_RAMFS=y # CONFIG_RELAYFS_FS is not set # CONFIG_CONFIGFS_FS is not set # # Miscellaneous filesystems # # CONFIG_ADFS_FS is not set # CONFIG_AFFS_FS is not set # CONFIG_HFS_FS is not set # CONFIG_HFSPLUS_FS is not set # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set # CONFIG_CRAMFS is not set # CONFIG_VXFS_FS is not set # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set # # Network File Systems # # CONFIG_NFS_FS is not set # CONFIG_NFSD is not set # CONFIG_SMB_FS is not set # CONFIG_CIFS is not set # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set # CONFIG_9P_FS is not set # # Partition Types # # CONFIG_PARTITION_ADVANCED is not set CONFIG_MSDOS_PARTITION=y # # Native Language Support # CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" # CONFIG_NLS_CODEPAGE_437 is not set # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set # CONFIG_NLS_CODEPAGE_850 is not set # CONFIG_NLS_CODEPAGE_852 is not set # CONFIG_NLS_CODEPAGE_855 is not set # CONFIG_NLS_CODEPAGE_857 is not set # CONFIG_NLS_CODEPAGE_860 is not set # CONFIG_NLS_CODEPAGE_861 is not set # CONFIG_NLS_CODEPAGE_862 is not set # CONFIG_NLS_CODEPAGE_863 is not set # CONFIG_NLS_CODEPAGE_864 is not set # CONFIG_NLS_CODEPAGE_865 is not set # CONFIG_NLS_CODEPAGE_866 is not set # CONFIG_NLS_CODEPAGE_869 is not set # CONFIG_NLS_CODEPAGE_936 is not set # CONFIG_NLS_CODEPAGE_950 is not set # CONFIG_NLS_CODEPAGE_932 is not set # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_CODEPAGE_1250 is not set # CONFIG_NLS_CODEPAGE_1251 is not set # CONFIG_NLS_ASCII is not set # CONFIG_NLS_ISO8859_1 is not set # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_4 is not set # CONFIG_NLS_ISO8859_5 is not set # CONFIG_NLS_ISO8859_6 is not set # CONFIG_NLS_ISO8859_7 is not set # CONFIG_NLS_ISO8859_9 is not set # CONFIG_NLS_ISO8859_13 is not set # CONFIG_NLS_ISO8859_14 is not set # CONFIG_NLS_ISO8859_15 is not set # CONFIG_NLS_KOI8_R is not set # CONFIG_NLS_KOI8_U is not set # CONFIG_NLS_UTF8 is not set # # Security options # CONFIG_KEYS=y # CONFIG_KEYS_DEBUG_PROC_KEYS is not set # CONFIG_SECURITY is not set # # Cryptographic options # CONFIG_CRYPTO=y # CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_MD4 is not set CONFIG_CRYPTO_MD5=y # CONFIG_CRYPTO_SHA1 is not set CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y # CONFIG_CRYPTO_WP512 is not set # CONFIG_CRYPTO_TGR192 is not set CONFIG_CRYPTO_DES=y # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set # CONFIG_CRYPTO_SERPENT is not set CONFIG_CRYPTO_AES=y # CONFIG_CRYPTO_AES_586 is not set # CONFIG_CRYPTO_CAST5 is not set # CONFIG_CRYPTO_CAST6 is not set # CONFIG_CRYPTO_TEA is not set # CONFIG_CRYPTO_ARC4 is not set # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set # CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_TEST is not set # # Hardware crypto devices # # # Library routines # CONFIG_CRC_CCITT=y CONFIG_CRC16=y CONFIG_CRC32=y CONFIG_LIBCRC32C=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y # # Multi-device support (RAID and LVM) # # CONFIG_MD is not set # CONFIG_INPUT is not set # # Kernel hacking # # CONFIG_PRINTK_TIME is not set # CONFIG_DEBUG_KERNEL is not set CONFIG_LOG_BUF_SHIFT=14 |
From: Jeff D. <jd...@ad...> - 2006-10-10 04:09:24
|
On Mon, Oct 09, 2006 at 09:42:13PM +0159, Frank Marien wrote: > but once I go SUBARCH=i386, things stop working.. What does this mean? You built a 32-bit UML on a 64-bit host? If so, you need more than just SUBARCH=i386. That will pull in the i386 kernel headers and some other i386 stuff, but it won't tell gcc to make a 32-bit binary. For that, you need to specifically tell gcc to produce 32-bit code or use an i386 build environment. Dunno if this is causing the problem, but building a half-23-bit UML seems like asking for trouble. Jeff |
From: Antoine M. <an...@na...> - 2006-10-10 11:18:02
|
> From: Frank Marien <fr...@ma...> Same result here, which is a major PITA. I had been compiling using ARCH=i386 for a long time and did not have any problems for a long time. And compiling on x86 and copying over is not ideal (static linking, pcap, glibc and friends...) Antoine |
From: Blaisorblade <bla...@ya...> - 2006-10-14 00:52:33
|
On Tuesday 10 October 2006 06:08, Jeff Dike wrote: > On Mon, Oct 09, 2006 at 09:42:13PM +0159, Frank Marien wrote: > > but once I go SUBARCH=i386, things stop working.. > > What does this mean? You built a 32-bit UML on a 64-bit host? > > If so, you need more than just SUBARCH=i386. That will pull in the i386 > kernel headers and some other i386 stuff, but it won't tell gcc to make a > 32-bit binary. For that, you need to specifically tell gcc to produce > 32-bit code or use an i386 build environment. Sorry Jeff, here you are wrong (partly because it was me to fix that piece, and you never used it, as it seems). I made sure that SUBARCH=i386 does everything which is needed to build a working 32bit UML binary, and I rarely build UML otherwise - I've used it on Gentoo, Ubuntu 6.06 now and for a while on Suse 10.1 (if it was 10.1... - the newest one which was available this July). -- Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". Paolo Giarrusso, aka Blaisorblade http://www.user-mode-linux.org/~blaisorblade Chiacchiera con i tuoi amici in tempo reale! http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com |
From: Jeff D. <jd...@ad...> - 2006-10-16 14:54:03
|
On Sat, Oct 14, 2006 at 02:52:21AM +0200, Blaisorblade wrote: > Sorry Jeff, here you are wrong (partly because it was me to fix that piece, > and you never used it, as it seems). I made sure that SUBARCH=i386 does > everything which is needed to build a working 32bit UML binary, and I rarely > build UML otherwise - I've used it on Gentoo, Ubuntu 6.06 now and for a while > on Suse 10.1 (if it was 10.1... - the newest one which was available this > July). OK, I never noticed that - and I never tried a crossbuild (until recently, see below), as you guessed. Andrew recently complained about it not working, and I tried it, getting this very early in the build: In file included from /usr/include/features.h:352, from /usr/include/stdio.h:28, from /home/jdike/linux/2.6/linux-2.6.17/arch/um/sys-i386/user-offsets.c:1: /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory When I get compilation errors from inside gcc headers, I get the feeling that either I'm trying something that isn't supposed to work or something is very wrong with gcc. Any ideas? Jeff |
From: Blaisorblade <bla...@ya...> - 2006-10-17 23:49:57
|
On Monday 16 October 2006 16:52, Jeff Dike wrote: > On Sat, Oct 14, 2006 at 02:52:21AM +0200, Blaisorblade wrote: > > Sorry Jeff, here you are wrong (partly because it was me to fix that > > piece, and you never used it, as it seems). I made sure that SUBARCH=i386 > > does everything which is needed to build a working 32bit UML binary, and > > I rarely build UML otherwise - I've used it on Gentoo, Ubuntu 6.06 now > > and for a while on Suse 10.1 (if it was 10.1... - the newest one which > > was available this July). > > OK, I never noticed that - and I never tried a crossbuild (until > recently, see below), as you guessed. > > Andrew recently complained about it not working, and I tried it, > getting this very early in the build: > > In file included from /usr/include/features.h:352, > from /usr/include/stdio.h:28, > from > /home/jdike/linux/2.6/linux-2.6.17/arch/um/sys-i386/user-offsets.c:1: > /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or > directory > > When I get compilation errors from inside gcc headers, I get the > feeling that either I'm trying something that isn't supposed to work > or something is very wrong with gcc. > > Any ideas? stubs.h redirecting to stubs-32.h? I deduce that stubs.h, on your distro (Fedora/RH, right?) is (correctly) deciding to use the 32bit version of that header, and I can suppose it is maybe packaged elsewhere, or that it is located somewhere else (in this case we have screwed the search path somehow, even if I can't realize how). On my Ubuntu system, stubs.h has no such switch, while /usr/include/asm/* redirect to either asm-i386 or asm-x86_64 (I remember this also on Gentoo): /usr/include/asm/a.out.h /* All asm/ files are generated and point to the corresponding * file in asm-i386 or asm-x86_64. To regenerate, run "generate-asm" */ #ifndef __i386STUB__A_OUT_H__ #define __i386STUB__A_OUT_H__ #ifdef __x86_64__ #include <asm-x86_64/a.out.h> #else #include <asm-i386/a.out.h> #endif #endif /* !__i386STUB__A_OUT_H__ */ This is the reason for which I removed -U__i386__ and -U__x86_64__ from command line for userspace files. -- Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". Paolo Giarrusso, aka Blaisorblade http://www.user-mode-linux.org/~blaisorblade Chiacchiera con i tuoi amici in tempo reale! http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com |
From: Jeff D. <jd...@ad...> - 2006-10-18 19:03:52
|
On Wed, Oct 18, 2006 at 01:49:46AM +0200, Blaisorblade wrote: > stubs.h redirecting to stubs-32.h? I deduce that stubs.h, on your distro > (Fedora/RH, right?) is (correctly) deciding to use the 32bit version of that > header, and I can suppose it is maybe packaged elsewhere, or that it is > located somewhere else (in this case we have screwed the search path somehow, > even if I can't realize how). locate shows no stubs-32.h on the system. yum list "*32*" shows I have compat-gcc-32.x86_64 3.2.3-56.fc5 installed compat-gcc-32-c++.x86_64 3.2.3-56.fc5 installed compat-gcc-32-g77.x86_64 3.2.3-56.fc5 installed but no interesting-looking 32-bit stuff under available. Looking for *compat* also doesn't show anything interesting. It looks like FC5 is just broken here. Jeff |