https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114671

            Bug ID: 114671
           Summary: [RISC-V] -fvar-tracking -gas-locview-support -ggdb
                    emits a non-constant .uleb128
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: patrick at rivosinc dot com
  Target Milestone: ---

Testcase:
int main() { int a = 0; }

Backtrace:
> /scratch/tc-testing/tc-apr-9/build-rv64gcv/bin/riscv64-unknown-linux-gnu-gcc 
> -fvar-tracking -gas-locview-support -ggdb red.c -o red.out
/scratch/tmp/ccEGxw5q.s: Assembler messages:
/scratch/tmp/ccEGxw5q.s:174: Error: .uleb128 only supports constant or subtract
expressions
/scratch/tmp/ccEGxw5q.s:175: Error: .uleb128 only supports constant or subtract
expressions

Godbolt: https://godbolt.org/z/Pao7459f3

I'm not sure if this is the intended behavior of these flags since
-gas-locview-support tells the compiler that gas has support for "view
assignment and reset assertion checking in .loc directives". AFAICT risc-v GAS
doesn't have support for this.

Reply via email to