Bug 1706
Summary: | problem with SMP boot with 2.4.22 and acpi-20031203 | ||
---|---|---|---|
Product: | ACPI | Reporter: | Sergey Vlasov (vsu) |
Component: | Config-Processors | Assignee: | Luming Yu (luming.yu) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | acpi-bugzilla |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.4.22 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: |
dmesg from booting with 2.4.22 and acpi-20031203 (ACPI mode)
dmesg from booting wit 2.4.22 and acpi-20031203 (acpi=off) dmesg from booting with 2.4.22 and previous version of the ACPI patch a proposal patch |
Description
Sergey Vlasov
2003-12-19 08:07:56 UTC
Created attachment 1699 [details]
dmesg from booting with 2.4.22 and acpi-20031203 (ACPI mode)
Created attachment 1700 [details]
dmesg from booting wit 2.4.22 and acpi-20031203 (acpi=off)
Created attachment 1701 [details]
dmesg from booting with 2.4.22 and previous version of the ACPI patch
With the previous ACPI patch the problem does not happen
Created attachment 1814 [details]
a proposal patch
This problem seems to be introduced by GCC:
#cat foo.c
main()
{
int bit;
for (bit=28; bit < 34; bit++){
printf("%.4x \n", (1ul << bit)));
}
}
#gcc foo.c
#./a.out
10000000
20000000
40000000
80000000
0001 ( 1<< 34 , It's overflowed, but it should be 0 )
0002 ( 1<< 35 , It's overflowed, but it should be 0 )
# gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --host=i386-redhat-linux --with-system-zlib
--enable-__cxa_atexit
Thread model: posix
gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
sizeof(unsigned long) in the patch should probably be BITS_PER_LONG. The behavior of gcc-generated code is correct - according to the C standard, the result of a shift operation with an out-of-range number of bits is undefined. woops, this one got away... now fixed: http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/test/2.4.22/20040109024148-smpboot.patch Luming -- please mark this bug closed. thanks, -Len |