New debugging APIs

I’m attempting to get my compiler to use the new APIs for source-level debugging via SetCurrentDebugLocation(). I’m getting a lot of “duplicate symbol” errors in my generated assembly code:

ReflectionTest.s:348: Error: symbol `.Lfunc_end6’ is already defined

ReflectionTest.s:372: Error: symbol `.Lfunc_end6’ is already defined

ReflectionTest.s:395: Error: symbol `.Lfunc_end6’ is already defined

ReflectionTest.s:421: Error: symbol `.Lfunc_end6’ is already defined

ReflectionTest.s:443: Error: symbol `.Lfunc_end6’ is already defined

ReflectionTest.s:458: Error: symbol `.Lfunc_end6’ is already defined

(and so on…)

This is with the head revision of LLVM as of last night.

Talin wrote:

I'm attempting to get my compiler to use the new APIs for source-level debugging via SetCurrentDebugLocation(). I'm getting a lot of "duplicate symbol" errors in my generated assembly code:

    ReflectionTest.s:348: Error: symbol `.Lfunc_end6' is already defined
    ReflectionTest.s:372: Error: symbol `.Lfunc_end6' is already defined
    ReflectionTest.s:395: Error: symbol `.Lfunc_end6' is already defined
    ReflectionTest.s:421: Error: symbol `.Lfunc_end6' is already defined
    ReflectionTest.s:443: Error: symbol `.Lfunc_end6' is already defined
    ReflectionTest.s:458: Error: symbol `.Lfunc_end6' is already defined
    (and so on...)

This is with the head revision of LLVM as of last night.

--
-- Talin

I'm also seeing a similar thing:

...
bzip2.s-xEulvQ:47715: Error: symbol `.Ldebug_frame_begin66' is already defined
bzip2.s-xEulvQ:47730: Error: symbol `.Ldebug_frame_end66' is already defined
bzip2.s-xEulvQ:47733: Error: symbol `.Ldebug_frame_begin66' is already defined
bzip2.s-xEulvQ:47754: Error: symbol `.Ldebug_frame_end66' is already defined

-Rich

Talin wrote:

I'm attempting to get my compiler to use the new APIs for source-level
debugging via SetCurrentDebugLocation(). I'm getting a lot of "duplicate
symbol" errors in my generated assembly code:

ReflectionTest.s:348: Error: symbol `.Lfunc_end6' is already defined
ReflectionTest.s:372: Error: symbol `.Lfunc_end6' is already defined
ReflectionTest.s:395: Error: symbol `.Lfunc_end6' is already defined
ReflectionTest.s:421: Error: symbol `.Lfunc_end6' is already defined
ReflectionTest.s:443: Error: symbol `.Lfunc_end6' is already defined
ReflectionTest.s:458: Error: symbol `.Lfunc_end6' is already defined
(and so on...)

This is with the head revision of LLVM as of last night.

Any additional information I can give to help solve this? Or is the new API simply not ready yet?

-- Talin

Talin wrote:

I'm attempting to get my compiler to use the new APIs for source-level
debugging via SetCurrentDebugLocation(). I'm getting a lot of "duplicate
symbol" errors in my generated assembly code:

ReflectionTest.s:348: Error: symbol `.Lfunc_end6' is already defined
ReflectionTest.s:372: Error: symbol `.Lfunc_end6' is already defined
ReflectionTest.s:395: Error: symbol `.Lfunc_end6' is already defined
ReflectionTest.s:421: Error: symbol `.Lfunc_end6' is already defined
ReflectionTest.s:443: Error: symbol `.Lfunc_end6' is already defined
ReflectionTest.s:458: Error: symbol `.Lfunc_end6' is already defined
(and so on...)

This is with the head revision of LLVM as of last night.

Any additional information I can give to help solve this?

Yes, please file bugzilla PR with a reproducible test case. Thanks!

Or is the new
API simply not ready yet?

It is, AFAIK.

Talin wrote:

I'm attempting to get my compiler to use the new APIs for source-level
debugging via SetCurrentDebugLocation(). I'm getting a lot of "duplicate
symbol" errors in my generated assembly code:

ReflectionTest.s:348: Error: symbol `.Lfunc_end6' is already defined
ReflectionTest.s:372: Error: symbol `.Lfunc_end6' is already defined
ReflectionTest.s:395: Error: symbol `.Lfunc_end6' is already defined
ReflectionTest.s:421: Error: symbol `.Lfunc_end6' is already defined
ReflectionTest.s:443: Error: symbol `.Lfunc_end6' is already defined
ReflectionTest.s:458: Error: symbol `.Lfunc_end6' is already defined
(and so on...)

This is with the head revision of LLVM as of last night.

Any additional information I can give to help solve this?

Yes, please file bugzilla PR with a reproducible test case. Thanks!

Here you can attach llvm bitcode file generated by your FE.