All of lore.kernel.org
 help / color / mirror / Atom feed
From: Antoine Martin <antoine@nagafix.co.uk>
To: user-mode-linux-devel@lists.sourceforge.net
Subject: [uml-devel] 2.6.17-rc1 with hardened gcc
Date: Mon, 03 Apr 2006 21:43:57 +0100	[thread overview]
Message-ID: <1144097037.11178.24.camel@localhost> (raw)

[-- Attachment #1: Type: text/plain, Size: 4619 bytes --]

I thought I'd give it a try.
I guess that these aren't bugs (since switching to non-hardened gcc
fixes most problems) but maybe this is useful to someone?
Otherwise just ignore most issues in this email.
- the configs are available at http://uml.nagafix.co.uk/kernels
- GCC 3.4.5 hardened

First, the good old ASM errors are still here (IIRC there is no easy way
to solve this):
wget
ftp://ftp.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.17-rc1.tar.bz2
tar -jxf linux-2.6.17-rc1.tar.bz2
mv linux-2.6.17-rc1 linux-2.6.17-rc1-x86
cd linux-2.6.17-rc1-x86
cp ../linux-2.6.16.1-bb1-x86/.config ./
make ARCH=um SUBARCH=i386 oldconfig
make ARCH=um SUBARCH=i386
(...)
CC      arch/um/kernel/skas/clone.o
arch/um/kernel/skas/clone.c: In function `stub_clone_handler':
arch/um/include/sysdep/stub.h:45: error: can't find a register in class
`BREG' while reloading `asm'
arch/um/include/sysdep/stub.h:66: error: can't find a register in class
`BREG' while reloading `asm'
arch/um/include/sysdep/stub.h:55: error: can't find a register in class
`BREG' while reloading `asm'
arch/um/include/sysdep/stub.h:90: error: can't find a register in class
`BREG' while reloading `asm'
make[2]: *** [arch/um/kernel/skas/clone.o] Error 1
make[1]: *** [arch/um/kernel/skas] Error 2
make: *** [arch/um/kernel] Error 2


AMD64 works fully, but there are some warnings during the build:
  CC      arch/um/kernel/uaccess.o
In file included from include/asm/processor-generic.h:14,
                 from include/asm/processor.h:51,
                 from include/linux/prefetch.h:14,
                 from include/linux/list.h:7,
                 from include/linux/wait.h:23,
                 from include/asm/arch/semaphore.h:42,
                 from include/asm/semaphore.h:4,
                 from include/asm/ldt.h:11,
                 from arch/um/include/sysdep/tls.h:25,
                 from arch/um/include/os.h:16,
                 from arch/um/kernel/uaccess.c:12:
include/asm/ptrace.h:82: warning: static declaration of
'arch_switch_to_tt' follows non-static declaration
arch/um/include/kern_util.h:120: warning: previous declaration of
'arch_switch_to_tt' was here
include/asm/ptrace.h:87: warning: static declaration of
'arch_switch_to_skas' follows non-static declaration
arch/um/include/kern_util.h:122: warning: previous declaration of
'arch_switch_to_skas' was here
  CC      arch/um/kernel/um_arch.o
  CC      arch/um/kernel/umid.o
In file included from include/asm/processor-generic.h:14,
                 from include/asm/processor.h:51,
                 from include/linux/prefetch.h:14,
                 from include/linux/list.h:7,
                 from include/linux/wait.h:23,
                 from include/asm/arch/semaphore.h:42,
                 from include/asm/semaphore.h:4,
                 from include/asm/ldt.h:11,
                 from arch/um/include/sysdep/tls.h:25,
                 from arch/um/include/os.h:16,
                 from arch/um/kernel/umid.c:8:
include/asm/ptrace.h:82: warning: static declaration of
'arch_switch_to_tt' follows non-static declaration
arch/um/include/kern_util.h:120: warning: previous declaration of
'arch_switch_to_tt' was here
include/asm/ptrace.h:87: warning: static declaration of
'arch_switch_to_skas' follows non-static declaration
arch/um/include/kern_util.h:122: warning: previous declaration of
'arch_switch_to_skas' was here
  CC      arch/um/kernel/initrd.o
  CC      arch/um/kernel/skas/clone.o
  CC      arch/um/kernel/skas/exec_kern.o
  CC      arch/um/kernel/skas/mem.o
  CC      arch/um/kernel/skas/mmu.o
  CC      arch/um/kernel/skas/process_kern.o
arch/um/kernel/skas/process_kern.c:191:2: warning: #warning Need to look
up userspace_pid by cpu
arch/um/kernel/skas/process_kern.c:197:2: warning: #warning Need to look
up userspace_pid by cpu
arch/um/kernel/skas/process_kern.c:204:2: warning: #warning need to loop
over userspace_pids in kill_off_processes_skas
  CC      arch/um/kernel/skas/syscall.o
(...)
  CC      fs/select.o
fs/select.c: In function `core_sys_select':
fs/select.c:339: warning: assignment from incompatible pointer type
fs/select.c:376: warning: comparison of distinct pointer types lacks a
cast
  CC      fs/fifo.o


Something else I've noticed is that some kernels fail if TT is compiled
in, even though it boots into skas0 or skas3 mode. I guess this isn't
really that important since TT is going to go away.

Finally, congratulations! all the images I have built now work - even
fedora (4 and 5) and opensuse.

Antoine

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 191 bytes --]

             reply	other threads:[~2006-04-03 20:43 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-03 20:43 Antoine Martin [this message]
2006-04-04  0:42 ` [uml-devel] 2.6.17-rc1 with hardened gcc Blaisorblade

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1144097037.11178.24.camel@localhost \
    --to=antoine@nagafix.co.uk \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.