On 11/25/20 2:49 AM, Iain Sandoe wrote:
> Hi,
>
> I’ve had this patch in my Darwin trees for (literally) years, it is
> relevant to
> the GCC ports that use a non-binutils assembler.
>
> At present, even if such an assembler supports LEB128, the GCC config
> is setting HAVE_LEB128 = 0.
>
> The ports I know of that can benefit from a change here are:
>
> AIX (unaffected by this change, since the assembler [at least on
> gcc119] does
> not support leb128 directives)
>
> Darwin (checked the various different assemblers)
>
> GCN (I can’t test this, so Andrew, please could you say if the change
> is OK for that)
>
> Solaris (bootstrapped and tests running on GCC211, but maybe Rainer would
> want wider checks).
>
> I guess we could exclude specific ports that don’t want to use leb128
> with
> a target elif in the configuration.
>
> OK for master?
>
> thanks
> Iain
>
> ===== commit message
>
> Some assemblers that either do not respond to --version, or are non-GNU,
> do support leb128 directives. The current configuration test omits these
> cases and only supports GNU assemblers with a version > 2.11.
>
> The patch extends the asm test to cover one failure case present in
> assemblers based off an older version of GAS (where a 64 bit value with
> the MSB set presented to a .uleb128 directive causes a fail).
>
> This change then assumes that a non-GNU assembler that passes the asm
> test
> correctly supports the directives.
>
> gcc/ChangeLog:
>
> * configure.ac (check leb128 support): Support non-GNU assemblers
> that pass the leb128 confgure test. Add a test for uleb128 with
> the MSB set for a 64 bit value.
> * configure: Regenerated.
OK. Obviously if Rainer's tests show adjustment is necessary we'll have
to take care of that.
Jeff