Hi,
My (i686, f13) build gives:
gcc -D_GNU_SOURCE -DHAVE_CONFIG_H
-DLOCALEDIR='"/usr/local/install/systemtap/share/locale"' -DIS_LIBDW
-I.
-I/home/mark/src/elfutils/libdw -I.. -I. -I/home/mark/src/elfutils/libdw
-I/home/mark/src/elfutils/lib -I..
-I/home/mark/src/elfutils/libdw/../libelf -std=gnu99 -Wall -Wshadow
-Werror -Wunused -Wextra -Wformat=2 -g -O2 -fstack-protector-all
-D_FORTIFY_SOURCE=2 -fgnu89-inline -MT dwarf_getsrclines.o -MD -MP
-MF .deps/dwarf_getsrclines.Tpo -c -o
dwarf_getsrclines.o /home/mark/src/elfutils/libdw/dwarf_getsrclines.c
cc1: warnings being treated as errors
/home/mark/src/elfutils/libdw/dwarf_getsrclines.c: In function
‘dwarf_getsrclines’:
/home/mark/src/elfutils/libdw/dwarf_getsrclines.c:438: error: comparison
between signed and unsigned integer expressions
/home/mark/src/elfutils/libdw/dwarf_getsrclines.c:533: error: comparison
between signed and unsigned integer expressions
make[4]: *** [dwarf_getsrclines.o] Error 1
The following fixes it:
diff --git a/libdw/dwarf_getsrclines.c b/libdw/dwarf_getsrclines.c
index afdf9db..75adc9c 100644
--- a/libdw/dwarf_getsrclines.c
+++ b/libdw/dwarf_getsrclines.c
@@ -433,7 +433,7 @@ dwarf_getsrclines (Dwarf_Die *cudie, Dwarf_Lines **lines, size_t
*nlines)
goto invalid_data;
/* The length. */
- unsigned int len = *linep++;
+ int len = *linep++;
if (unlikely (lineendp - linep < len))
goto invalid_data;