[Bug 1607] __RTEMS_SIZEOF_VOID_P__ flawed design

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Fri Jul 16 17:27:35 UTC 2010


https://www.rtems.org/bugzilla/show_bug.cgi?id=1607

--- Comment #23 from Gedare <giddyup44 at yahoo.com> 2010-07-16 12:27:34 CDT ---
(In reply to comment #15)
> (In reply to comment #14)
> > Changing the ISR assembler code to inline assembly is not a mechanical task.
> Wrong. It is.
> 
I tried to do this in a rather straightforward way for the sparc64 target,
since I'm most familiar with it and the interrupt code is already separated.  
I did the conversion of assembly statements to inline assembly statements by
using a fairly simple find-replace that changes each line of assembly into a
double-quoted string argument to asm volatile().  I found it to be not-so
simple.  A few of the issues I've had:
  * Use of double-quotes in the assembly needs to be escaped or removed in the
inline assembly.
  * The macros defined by asm.h do not work properly, for example PUBLIC() and
SYM().
  * Assembly comments beginning with an ! do not compile properly and need to
either be rewritten or encapsulated in an asm volatile("") statement.
  * Need to avoid C-style comments and blank lines. Also, the resulting code is
substantially less readable.
  * Assembler errors are hard to fix, because they report on the assembly
generated by the compiler and so the line numbers do not correspond to inline
assembly line numbers.

In fact, I have a lot of assembler errors right now that I haven't resolved.
Mostly they are Illegal operands errors.

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the bugs mailing list