[LLVMdev] [cfe-dev] freebsd-mips64 unhandled .cpsetup

Daniel Sanders
Fri, 06 Feb 2015 09:07:46 -0000

I've had a quick look and it seems the problem is that we're parsing the
last operand with parseIdentifier() which doesn't have any of the code to
handle relative symbols like '1b' or '1f'. I think we need to be
using parseExpression() like we do in parseJumpTarget() and parseImm().

Toma: Could you look into fixing this along with the other integrated assembler
issues you are working on?

> -----Original Message-----
> From: Dr D. Chisnall [mailto:dc552 at hermes.cam.ac.uk] On Behalf Of David
> Chisnall
> Sent: 05 February 2015 17:33
> To: LLVM Dev; Daniel Sanders; Sean Bruno
> Subject: Fwd: [cfe-dev] freebsd-mips64 unhandled .cpsetup
>
> Moving to llvmdev, as this is not a clang issue.
>
> David
>
> > Begin forwarded message:
> >
> > Date: 5 February 2015 17:00:34 GMT
> > From: Sean Bruno <sbruno at ignoranthack.me>
> > To: cfe-dev at cs.uiuc.edu
> > Subject: [cfe-dev] freebsd-mips64 unhandled .cpsetup
> > Reply-To: sbruno at freebsd.org
> >
> >
> > I'm taking a journey to try and get a clang/llvm build of
freebsd-mips64
> > completed by grabbing various patches and enhancements from around
> the
> > internet and get them into one central place for review by all
> > concerned.
> (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197259#c11)
> >
> > I've snagged some patches for MIPS from cheri-bsd and some from
> pending
> > MIPS reviews in phabricator but seem to be stuck on handling .cpsetup
> > when building gnu csu bits, specifically:
> >
> > End of search list.
> > <inline asm>:6:20: error: expected identifier
> >        .cpsetup $31, $2, 1b
> >                          ^
> > Assertion failed: (!Name.empty() && "Normal symbols
cannot be
> > unnamed!"), function GetOrCreateSymbol, file
> > /home/sbruno/bsd/clang360-
> import/lib/clang/libllvmmc/../../../contrib/llvm/lib/MC/MCContext.cpp,
> > line 101.
> >
> >
> > Obviously, this is handled by gcc "just fine" in our case,
but I'm more
> > interested in moving forward to clang.  :-)
> >
> > sean