]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
PPC/GAS: Correct a signed vs unsigned comparison error with GCC 4.1
authorMaciej W. Rozycki <macro@linux-mips.org>
Thu, 20 Sep 2018 14:49:01 +0000 (15:49 +0100)
committerMaciej W. Rozycki <macro@linux-mips.org>
Thu, 20 Sep 2018 14:49:01 +0000 (15:49 +0100)
commit16de26a611b78bd353af5b86ce67ace81ec1bfec
tree433aa85c947ad17ae71f85f55f265836daea9633
parent53b6d6f5b2d8681cc4a061e05fe28ef896900908
PPC/GAS: Correct a signed vs unsigned comparison error with GCC 4.1

Fix a build error:

cc1: warnings being treated as errors
.../gas/config/tc-ppc.c: In function 'ppc_dwsect':
.../gas/config/tc-ppc.c:4091: warning: comparison between signed and unsigned
make[4]: *** [config/tc-ppc.o] Error 1

observed with GCC 4.1.2 with the `powerpc-beos' target.

Here `flag' identifies the type of a DWARF section, as used with the the
first operand to the `.dwsect' pseudo-op, and has no notion of a sign,
or for that matter being arithmetic in the first place[1].  We already
handle this correctly with the `flag' member of the `xcoff_dwsect_name'
structure, however not in the local variable used in GAS to hold the
parsed value of said `.dwsect' pseudo-op's operand.

Use an unsigned data type in GAS then too, observing that both `offsetT'
and `valueT' have the same width, as they correspond to `bfd_signed_vma'
and `bfd_vma' respectively.

References:

[1] "AIX Version 7.2: Assembler Language Reference", IBM Corporation
    2015, 2018, Section ".dwsect pseudo-op", pp. 531-532

gas/
* config/tc-ppc.c (ppc_dwsect): Use `valueT' rather than
`offsetT' as the type of `flag'.
gas/ChangeLog
gas/config/tc-ppc.c