https://sourceware.org/bugzilla/show_bug.cgi?id=29004
Bug ID: 29004 Summary: various bugs in RISCV version Product: binutils Version: 2.38 Status: UNCONFIRMED Severity: normal Priority: P2 Component: gas Assignee: unassigned at sourceware dot org Reporter: mark4th at gmail dot com Target Milestone: --- The following macro has worked perfectly for decades with numerous versions of the GNU assembler for countless processors but fails with riscv. .macro _header_ name, cfa .section .data // assemble into head space .quad _thread .set _thread, . 8: // address to link next word header against hstring "\name" .set lex, 0 .quad \cfa // point header at new words cfa .previous // assemble into list space .endm the .set _thread . is where it fails. This was originally a highly critical bug for me as not having this macro in a working state killed my project but I found a workaround ... .set _thread, 9f 9: ... Second problem, the RISCV version of the GNU assembler does not allow me to alias register names so now i have to remember that x29 is my floating point stack pointer, x28 is my return stack pointer, x27 is my parameter stack pointer, x26 is my interpretive pointer and x25 and x24 are my w1 and w2 working registers respectively. Last bug, for some reason I cannot do .ascii "abcd;efgh" because the semicolon throws things off... i cant even explain the error here it literally makes no sense based on the text of the source... compile.s:207: Error: junk at end of line, first unrecognized character is `:' where line 207 is... .colon "(;)", p_semi and this is the macros it invokes which works flawlessly if there is no ; in the word name.... .macro .colon name, cfa .header "\name", \cfa \cfa: jal x25, nest .endm -- You are receiving this mail because: You are on the CC list for the bug.