SIGBUS using DBUS library on ARM
frederic.dalleau at palmsource.com
Wed Nov 8 02:05:05 PST 2006
The problem doesn't appear with optimization disabled.
About arm, I just heard that a short must be accessed through a
2-aligned address, an int through a 4-aligned and so on. Individual
bytes can be accessed at any address.
In our case, we are reading a short on a 2-aligned address and this
should work. So I guess the optimiser tried to put an integer read in
I can post disassembled code if someone know how to read!
Thiago Macieira a écrit :
> Frédéric DALLEAU wrote:
>> #0 _dbus_marshal_write_basic (str=0x11090, insert_at=0, type=12,
>> value=0xbef33cfe, byte_order=108, pos_after=0xbef33cdc)
>> at dbus-marshal-basic.c:817
>> #1 0x4013d678 in _dbus_type_writer_write_basic_no_typecode (
>> writer=0x4013d678, type=0, value=0xbef33cfe)
>> at dbus-marshal-recursive.c:1586
>> #2 0x4013d760 in _dbus_type_writer_write_basic (writer=0xbef33ccc,
>> value=0xbef33cfe) at dbus-marshal-recursive.c:2291
>> #3 0x40141854 in dbus_message_iter_append_basic (iter=0xbef33cc4,
>> type=110, value=0xbef33cfe) at dbus-message.c:2134
>> #4 0x000085c8 in main (argc=69776, argv=0x0) at dbuscrash.c:9
> The value pointer is 0xbef33cfe, which is 2-aligned. Can you give us some
> pointers on how ARM processors must align their data?
> PS: make sure you compile dbus without optimisation.
> PPS: please keep the list in CC.
More information about the dbus