On Sat, Jul 7, 2018 at 12:25 AM, Andreas Schwab <sch...@linux-m68k.org> wrote:
> On Jul 05 2018, Jim Wilson <j...@sifive.com> wrote:
>
>> Tested with native riscv-linux bootstrap with Ada enabled.
>
> I'm getting a lot of errors from the assembler "non-constant .uleb128 is
> not supported" when trying to bootstrap the compiler with the
> cross-compiled ada compiler.

GCC configure assumes that if you have gas, then non-constant .uleb128
is OK.  However, because RISC-V deletes instructions at link time, we
cannot allow some forms of this construct.  If you have a working gas
available at gcc configure time, then it should do a gas run-time test
and discover that this gas feature does not work.  If you do not have
a working gas at gcc configure time, it will assume the feature is
available, try to use it, and then you get a build failure due to gas
errors.

The only time I've ever seen this error is if I try to use an
old-style combined-tree build approach, because in this case gcc
configures before gas is built.  If you build and install binutils,
and then build and install gcc, the build will work.  I haven't tried
to fix the old-style combined-tree approach, I didn't see an obvious
fix, and since I don't like to do builds this way anymore it wasn't
important enough to me to try to fix.

JIm

Reply via email to