On Jul 18, 2011, at 8:19 AM, Attilio Rao wrote:
> Author: attilio
> Date: Mon Jul 18 15:19:40 2011
> New Revision: 224187
> URL: http://svn.freebsd.org/changeset/base/224187
>
> Log:
> - Remove the eintrcnt/eintrnames usage and introduce the concept of
> sintrcnt/sintrnames which are symbols containing the size of the 2
> tables.
> - For amd64/i386 remove the storage of intr* stuff from assembly files.
> This area can be widely improved by applying the same to other
> architectures and likely finding an unified approach among them and
> move the whole code to be MI. More work in this area is expected to
> happen fairly soon.
>
> No MFC is previewed for this patch.
You just broke ia64 and possibly other 64-bit architectures:
".word" declares a 16-bit integral on ia64 and the size symbols
are of type size_t (=64 bit). We'll be having misaligned loads
(= kernel panics) and/or reading garbage...
Use "data8" on ia64, as per the assembly language reference.
eris% cat x.s
.data
foo:
.word 0x11223344
foo1:
.byte 0x99
eris% as x.s -o x.o
x.s: Assembler messages:
x.s:3: Warning: value 0x11223344 truncated to 0x3344
eris% nm x.o
0000000000000000 d foo
0000000000000002 d foo1
FYI,
--
Marcel Moolenaar
[email protected]
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"