gas: fix building tc-bpf.c on s390x
authorIlya Leoshkevich <iii@linux.ibm.com>
Thu, 4 May 2023 06:35:30 +0000 (08:35 +0200)
committerAndreas Krebbel <krebbel@linux.ibm.com>
Thu, 4 May 2023 06:37:50 +0000 (08:37 +0200)
commitc9819077700c5fc440981c3b14e21225f4c14d01
treeeaeb6b4a402663139fe487c157557ee4d1bfe561
parentc3b0a240ea7c5c25f523b950f24a2befa6b6ff61
gas: fix building tc-bpf.c on s390x

char is unsigned on s390x, so there are a lot of warnings like:

    gas/config/tc-bpf.c: In function 'get_token':
    gas/config/tc-bpf.c:900:14: error: comparison is always false due to limited range of data type [-Werror=type-limits]
      900 |       if (ch == EOF || len > MAX_TOKEN_SZ)
          |              ^~

Change its type to int, like in the other similar code.

There is also:

    gas/config/tc-bpf.c:735:30: error: 'bpf_endianness' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      735 |    dst, be ? size[endianness - BPF_BE16] : size[endianness - BPF_LE16]);
          |                   ~~~~~~~~~~~^~~~~~~~~~

-Wmaybe-uninitialized doesn't seem to understand the FSM; just
initialize bpf_endianness to silence it.  Add an assertion to
build_bpf_endianness() in order to catch potential bugs.
gas/config/tc-bpf.c