DragonFly commits List (threaded) for 2007-01
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/cpu/i386/include cpu.h src/sys/kern kern_intr.c lwkt_ipiq.c src/sys/platform/pc32/apic apic_vector.s apicvar.h src/sys/platform/pc32/i386 exception.s trap.c vm86.c vm86bios.s src/sys/platform/pc32/icu icu_vector.s ...
corecode 2007/01/22 11:37:05 PST
DragonFly src repository
Modified files:
sys/cpu/i386/include cpu.h
sys/kern kern_intr.c lwkt_ipiq.c
sys/platform/pc32/apic apic_vector.s apicvar.h
sys/platform/pc32/i386 exception.s trap.c vm86.c vm86bios.s
sys/platform/pc32/icu icu_vector.s
sys/platform/pc32/isa ipl.s
sys/platform/vkernel/i386 fork_tramp.s trap.c
sys/platform/vkernel/include md_var.h
sys/sys thread.h
Log:
Pass structs by reference if you expect the callee to modify them.
This fixes kernel boot with gcc41. The gpfault people were seeing comes from
vm86_bioscall() in init386(). The cause is that the assembler code passes the
struct vm86frame by value, i.e. simply creating it on the stack. This worked
up to gcc34, but gcc41 now optimizes stores to unused memory locations away,
whis is allowed per the standards. This led to an uninitialized stack frame
which in turn panicked the box.
Oooohh...-please-commit-by: dillon@
Revision Changes Path
1.23 +1 -1 src/sys/cpu/i386/include/cpu.h
1.46 +5 -5 src/sys/kern/kern_intr.c
1.21 +3 -3 src/sys/kern/lwkt_ipiq.c
1.36 +4 -2 src/sys/platform/pc32/apic/apic_vector.s
1.3 +1 -1 src/sys/platform/pc32/apic/apicvar.h
1.31 +13 -1 src/sys/platform/pc32/i386/exception.s
1.96 +69 -69 src/sys/platform/pc32/i386/trap.c
1.25 +11 -11 src/sys/platform/pc32/i386/vm86.c
1.14 +2 -0 src/sys/platform/pc32/i386/vm86bios.s
1.30 +2 -1 src/sys/platform/pc32/icu/icu_vector.s
1.28 +6 -1 src/sys/platform/pc32/isa/ipl.s
1.3 +8 -1 src/sys/platform/vkernel/i386/fork_tramp.s
1.14 +11 -11 src/sys/platform/vkernel/i386/trap.c
1.17 +1 -1 src/sys/platform/vkernel/include/md_var.h
1.87 +1 -1 src/sys/sys/thread.h
http://www.dragonflybsd.org/cvsweb/src/sys/cpu/i386/include/cpu.h.diff?r1=1.22&r2=1.23&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_intr.c.diff?r1=1.45&r2=1.46&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/lwkt_ipiq.c.diff?r1=1.20&r2=1.21&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/pc32/apic/apic_vector.s.diff?r1=1.35&r2=1.36&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/pc32/apic/apicvar.h.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/pc32/i386/exception.s.diff?r1=1.30&r2=1.31&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/pc32/i386/trap.c.diff?r1=1.95&r2=1.96&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/pc32/i386/vm86.c.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/pc32/i386/vm86bios.s.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/pc32/icu/icu_vector.s.diff?r1=1.29&r2=1.30&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/pc32/isa/ipl.s.diff?r1=1.27&r2=1.28&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/vkernel/i386/fork_tramp.s.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/vkernel/i386/trap.c.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/vkernel/include/md_var.h.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/thread.h.diff?r1=1.86&r2=1.87&f=u
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]