bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/29004] New: various bugs in RISCV version


From: mark4th at gmail dot com
Subject: [Bug gas/29004] New: various bugs in RISCV version
Date: Mon, 28 Mar 2022 02:09:38 +0000

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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]