> From: Richard Sandiford <richard.sandif...@arm.com> > Cc: Eli Zaretskii <e...@gnu.org> > Date: Wed, 04 Aug 2021 13:04:24 +0100 > > Eli Zaretskii via Gcc-bugs <gcc-bugs@gcc.gnu.org> writes: > > The version of rust-demangle.c included with Binutils 2.37 doesn't > > compile with MinGW: > > > > mingw32-gcc -c -DHAVE_CONFIG_H -O2 -gdwarf-4 -g3 -I. > > -I../../binutils-2.37/libiberty/../include -W -Wall -Wwrite-strings > > -Wc++-compat -Wstrict-prototypes -Wshadow=local -pedantic -D_GNU_SOURCE > > ../../binutils-2.37/libiberty/rust-demangle.c -o rust-demangle.o > > ../../binutils-2.37/libiberty/rust-demangle.c:84:3: error: unknown > > type name 'uint' > > 84 | uint recursion; > > | ^~~~ > > ../../binutils-2.37/libiberty/rust-demangle.c: In function > > 'demangle_path': > > ../../binutils-2.37/libiberty/rust-demangle.c:87:37: error: 'uint' > > undeclared (first use in this function); did you mean 'int'? > > 87 | #define RUST_NO_RECURSION_LIMIT ((uint) -1) > > | ^~~~ > > ../../binutils-2.37/libiberty/rust-demangle.c:686:25: note: in > > expansion of macro 'RUST_NO_RECURSION_LIMIT' > > 686 | if (rdm->recursion != RUST_NO_RECURSION_LIMIT) > > | ^~~~~~~~~~~~~~~~~~~~~~~ > > ../../binutils-2.37/libiberty/rust-demangle.c:87:37: note: each > > undeclared identifier is reported only once for each function it appears in > > 87 | #define RUST_NO_RECURSION_LIMIT ((uint) -1) > > | ^~~~ > > ../../binutils-2.37/libiberty/rust-demangle.c:686:25: note: in > > expansion of macro 'RUST_NO_RECURSION_LIMIT' > > 686 | if (rdm->recursion != RUST_NO_RECURSION_LIMIT) > > | ^~~~~~~~~~~~~~~~~~~~~~~ > > ../../binutils-2.37/libiberty/rust-demangle.c: In function > > 'rust_demangle_callback': > > ../../binutils-2.37/libiberty/rust-demangle.c:87:37: error: 'uint' > > undeclared (first use in this function); did you mean 'int'? > > 87 | #define RUST_NO_RECURSION_LIMIT ((uint) -1) > > | ^~~~ > > ../../binutils-2.37/libiberty/rust-demangle.c:1347:55: note: in > > expansion of macro 'RUST_NO_RECURSION_LIMIT' > > 1347 | rdm.recursion = (options & DMGL_NO_RECURSE_LIMIT) ? > > RUST_NO_RECURSION_LIMIT : 0; > > | > > ^~~~~~~~~~~~~~~~~~~~~~~ > > > > This is because the data type 'uint' is not defined in the MinGW > > headers. I used uint32_t instead, and it compiled OK. > > This list is mostly just a bugzilla feed and so isn't widely read. > Could you file a PR?
I'd love to, but please tell me where. I couldn't find any information about reporting libiberty bugs, sorry if I missed something obvious.