On 03/28/2018 09:12 PM, Michael Brown wrote: > On 28/03/18 20:10, Heinrich Schuchardt wrote: >>> There's no way that the code: >>> >>>> - ( ( path->Length[1] << 8 ) | path->Length[0] ) ); >>> >>> should ever be able to produce an unaligned access abort, since it just >>> dereferences individual bytes. What do you see if you disassemble the >>> object code? >> >> I put a DGBC before and after the access. And this is were the interrupt >> occurs. >> >> I do not know how to disassemble the object code. Which files do you >> need? > > You should be able to use: > > objdump -dS bin-arm32-efi/efi_utils.o > > Michael > >
00000000 <efi_devpath_end>: 0: 7803 ldrb r3, [r0, #0] <<< Reading on byte 2: 2b7f cmp r3, #127 ; 0x7f 4: d100 bne.n 8 <efi_devpath_end+0x8> 6: 4770 bx lr 8: 8843 ldrh r3, [r0, #2] <<< Reading two bytes infocenter.arm.com/help/topic/com.arm.doc.faqs/ka15414.html LDRH/STRH - address must be 2-byte aligned. a: 4418 add r0, r3 c: e7f8 b.n 0 <efi_devpath_end> Regards Heinrich _______________________________________________ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel