public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.5.21: fixdep starts spitting out 'unaligned traps'
@ 2002-06-10  7:23 Jurriaan on Alpha
  2002-06-10 14:25 ` Kai Germaschewski
  0 siblings, 1 reply; 3+ messages in thread
From: Jurriaan on Alpha @ 2002-06-10  7:23 UTC (permalink / raw)
  To: linux-kernel; +Cc: kai.germaschewski

alpha:/usr/src/linux-2.5.21# make boot
make[1]: Entering directory `/usr/src/linux-2.5.21/scripts'
  gcc -Wp,-MD,.fixdep.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer  -o fixdep fixdep.c
fixdep(12602): unaligned trap at 00000001200018d8: 0000000120001b6a 28 2
  gcc -Wp,-MD,.split-include.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer  -o split-include split-include.c
fixdep(12612): unaligned trap at 00000001200018d8: 0000000120001b6a 28 2
make[1]: Leaving directory `/usr/src/linux-2.5.21/scripts'
Splitting include/linux/autoconf.h -> include/config
make[1]: Entering directory `/usr/src/linux-2.5.21/init'
  gcc -Wp,-MD,.main.o.d -D__KERNEL__ -I/usr/src/linux-2.5.21/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointe
r -fno-strict-aliasing -fno-common -pipe -mno-fp-regs -ffixed-8 -mcpu=ev56 -Wa,-mev6 -nostdinc -iwithprefix include    -DKBUILD_BASEN
AME=main   -c -o main.o main.c
fixdep(12630): unaligned trap at 00000001200018d8: 0000000120001b6a 28 2
Generating ../include/linux/compile.h (updated)
  gcc -Wp,-MD,.version.o.d -D__KERNEL__ -I/usr/src/linux-2.5.21/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-poi
nter -fno-strict-aliasing -fno-common -pipe -mno-fp-regs -ffixed-8 -mcpu=ev56 -Wa,-mev6 -nostdinc -iwithprefix include    -DKBUILD_BA
SENAME=version   -c -o version.o version.c
fixdep(12661): unaligned trap at 00000001200018d8: 0000000120001b6a 28 2
  gcc -Wp,-MD,.do_mounts.o.d -D__KERNEL__ -I/usr/src/linux-2.5.21/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-p
ointer -fno-strict-aliasing -fno-common -pipe -mno-fp-regs -ffixed-8 -mcpu=ev56 -Wa,-mev6 -nostdinc -iwithprefix include    -DKBUILD_
BASENAME=do_mounts   -c -o do_mounts.o do_mounts.c

and so on - fixdep has changed, and on my alpha, it now has 'unaligned
traps'.

Of course, 2.5.21 won't compile at all, but still, this is a regression.

This seems to be caused by line 364 of fixdep.c:

alpha:/usr/src/linux-2.5.21# /home/jurriaan/unalign scripts/fixdep scripts/lxdialog/checklist.o /usr/src/linux-2.5.21 gcc -Wp,-MD,scr
ipts/lsdialog/.checklist.o.d -g -c -o scripts/lxdialog/checklist.o scripts/lxdialog/checklist.c
Extra arguments passed to gdb in file /tmp/file4Hb5gq.
Be sure to delete it when you're done.

GNU gdb 2002-04-01-cvs
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "alpha-linux".
fixdep(15767): unaligned trap at 0000000120001d48: 000000012000210a 28 3

Program received signal SIGBUS, Bus error.
0x120001d48 in traps () at scripts/fixdep.c:364
364             if (*(int *)test != INT_CONF) {
(gdb) bt
#0  0x120001d48 in traps () at scripts/fixdep.c:364
#1  0x120001de8 in main (argc=10, argv=0x11ffffc58) at scripts/fixdep.c:375
(gdb)

I'm not expert enough in C to suggest a solution for this, but I'm
willing to test.

Good luck,
Jurriaan
-- 
Everybody need to deviate from the norm
   Rush - Vital Signs
Debian GNU/Linux 2.4.19p8 on Alpha 990 bogomips 5 users load:0.04 0.06 0.07

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: 2.5.21: fixdep starts spitting out 'unaligned traps'
  2002-06-10  7:23 2.5.21: fixdep starts spitting out 'unaligned traps' Jurriaan on Alpha
@ 2002-06-10 14:25 ` Kai Germaschewski
  2002-06-10 19:40   ` Albert D. Cahalan
  0 siblings, 1 reply; 3+ messages in thread
From: Kai Germaschewski @ 2002-06-10 14:25 UTC (permalink / raw)
  To: Jurriaan on Alpha; +Cc: linux-kernel

On Mon, 10 Jun 2002, Jurriaan on Alpha wrote:

> Program received signal SIGBUS, Bus error.
> 0x120001d48 in traps () at scripts/fixdep.c:364
> 364             if (*(int *)test != INT_CONF) {
> (gdb) bt
> #0  0x120001d48 in traps () at scripts/fixdep.c:364
> #1  0x120001de8 in main (argc=10, argv=0x11ffffc58) at scripts/fixdep.c:375
> (gdb)

Yeah, makes sense, that's a bug trap to test if we guessed endianness 
right. Could you try to just comment out the call to traps() in main()?

The rest of the code should be safe. If commenting out fixes the problem, 
could you try to replace

-	char *test = "CONF";
+	static char __attribute__((aligned(8))) test[] = "CONF";

Thanks,

--Kai


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: 2.5.21: fixdep starts spitting out 'unaligned traps'
  2002-06-10 14:25 ` Kai Germaschewski
@ 2002-06-10 19:40   ` Albert D. Cahalan
  0 siblings, 0 replies; 3+ messages in thread
From: Albert D. Cahalan @ 2002-06-10 19:40 UTC (permalink / raw)
  To: Kai Germaschewski; +Cc: Jurriaan on Alpha, linux-kernel

> Yeah, makes sense, that's a bug trap to test if we guessed endianness 
> right. Could you try to just comment out the call to traps() in main()?
> 
> The rest of the code should be safe. If commenting out fixes the problem, 
> could you try to replace
> 
> -	char *test = "CONF";
> +	static char __attribute__((aligned(8))) test[] = "CONF";

This works:

#include <netinet/in.h>

if(htonl(999UL)==999UL){
  // brain-dead byte order
}else{
  // correct byte order
}


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-06-10 19:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-06-10  7:23 2.5.21: fixdep starts spitting out 'unaligned traps' Jurriaan on Alpha
2002-06-10 14:25 ` Kai Germaschewski
2002-06-10 19:40   ` Albert D. Cahalan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox