Either cpp or the assembler is at fault in this problem. Using gcc on the following code causes the assembler to issue the error "too many positional arguments"
# Load immediate word, has to be done with 2 instructions .macro lwi reg,val lis \reg,[EMAIL PROTECTED] ori \reg,\reg,[EMAIL PROTECTED] .endm #define SOME_ADDR 0x80000000 #define SOME_OFFSET 0x0068 lwi r25,(SOME_ADDR+SOME_OFFSET) Using the gcc -E option reveals: lwi 25,(0x80000000 +0x0068) Hard coding the lwi statement as follows so that cpp does not touch it fixes the problem: lwi 25,(0x80000000+0x0068) This occured with binutils 2.15 and 2.16.1 -- Summary: Assembler error: too many positional arguments Product: binutils Version: 2.16 Status: NEW Severity: normal Priority: P2 Component: gas AssignedTo: unassigned at sources dot redhat dot com ReportedBy: earl dot olsen at dilithiumnetworks dot com CC: bug-binutils at gnu dot org GCC host triplet: i686-host_pc-linux-gnu GCC target triplet: powerpc-linux http://sources.redhat.com/bugzilla/show_bug.cgi?id=1070 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils