Good evening,

cleanup and testing further with linux-2.4.37.11 kernel compilation:
include/asm-i386/spinlock.h includes include/asm-i386/rwlock.h

While parsing valid x86 inline asm with tcc (latest mob branch HEAD)
linux/include/asm/spinlock.h:197: error: bad expression syntax [%]


This change to kernel source merely circuumvents the compile-time parsing error:
 #define __build_write_lock_const(rw, helper) \
-       asm volatile(LOCK "subl $" RW_LOCK_BIAS_STR ",(%0)\n\t" \
+       asm volatile(LOCK "subl $" RW_LOCK_BIAS_STR ",%0\n\t" \

However, although this prevents the parsing error, the intermediate change to
kernel source applied probably causes incorrect run-time behaviour
(while testing SMP/IOAPIC that probably does rely upon locking and sporadically
 panics while booting with smp enabled, not sure yet.)

Help would be appreciated:
- if and how the inline assembly part could be re-written for tcc compatibility
  that retains correct behaviour of the code
- and/or a patch to tcc to process valid inline assembly without a parsing
  error thrown

Thanks.

-- 

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to