Hello All, a mixed source / assembly listing requested by "-Wa,-a" gets out of sync as soon as I have asm statements in the C code (example below) Questions: Can I avoid/circumvent this effect? If not: Is this a known bug (I was not able to find it in the bug database but I might have used the wrong search terms)? If not: Should I provide more / other information than in this posting when submitting it? TIA, Oliver Example: int foo(int bar) { bar /= 3; asm("tpf"); asm("tpf"); bar *= 5; return bar + 1; } compiled with "m68k-elf-gcc.exe test.c -g -mcpu=52259 -Wa,-a" using gcc 4.4.1 (Windows) from CodeSourcery yields: 1 #NO_APP 2 .file "test.c" 3 .section .debug_abbrev,"",@progbits 4 .Ldebug_abbrev0: 5 .section .debug_info,"",@progbits 6 .Ldebug_info0: 7 .section .debug_line,"",@progbits 8 .Ldebug_line0: 9 0000 0000 0036 .text 9 0002 0000 9 001D 0201 9 FB0E 0D00 9 0101 0101 10 .Ltext0: 11 .align 2 12 .globl foo 13 .type foo, @function 14 foo: 15 .LFB0: 16 .file 1 "test.c" 1:test.c **** int foo(int bar) 2:test.c **** { 17 .loc 1 2 0 18 .cfi_startproc 19 0000 4E56 0000 link.w %fp,#0 20 .LCFI0: 21 .cfi_def_cfa 14, 8 22 .cfi_offset 14, -8 23 0004 2F02 move.l %d2,-(%sp) 3:test.c **** bar /= 3; 24 .loc 1 3 0 25 0006 202E 0008 move.l 8(%fp),%d0 26 000a 7403 moveq #3,%d2 27 .cfi_offset 2, -12 28 000c 4C42 0801 rems.l %d2,%d1:%d0 29 0010 4C42 0800 divs.l %d2,%d0 30 0014 2D40 0008 move.l %d0,8(%fp) 4:test.c **** asm("tpf"); 31 .loc 1 4 0 32 #APP 5:test.c **** asm("tpf"); 6:test.c **** bar *= 5; 33 0018 51FC 51FC | 4 "test.c" 1 34 001c 202E 0008 tpf 35 0020 2200 | 0 "" 2 36 0022 E589 .loc 1 5 0 37 0024 2041 | 5 "test.c" 1 38 0026 D1C0 tpf 39 0028 2D48 0008 | 0 "" 2 7:test.c **** return bar + 1; 40 .loc 1 6 0 41 002c 202E 0008 #NO_APP 42 0030 5280 move.l 8(%fp),%d0 8:test.c **** } 43 move.l %d0,%d1 44 0032 241F lsl.l #2,%d1 45 0034 4E5E move.l %d1,%a0 46 0036 4E75 add.l %d0,%a0 47 move.l %a0,8(%fp) 48 .loc 1 7 0 49 move.l 8(%fp),%d0 50 addq.l #1,%d0 51 .loc 1 8 0 52 move.l (%sp)+,%d2 53 unlk %fp 54 0000 0000 0000 rts