[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

dwarfutils - Patch for review



Hi folks,

Honestly I am not quite sure why this is working on GNU/Linux but dwarfutils was failing with the
following errors:

g++  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -I. -I.
-I./../libdwarf
-DCONFPREFIX=/build/buildd-dwarfutils_20120410-1-hurd-i386-zvAcOM/dwarfutils-20120410/debian/dwarfdump2/lib
 -D_FORTIFY_SOURCE=2  -c -o print_die.o print_die.cc
print_die.cc:1225:36: error: invalid pure specifier (only '= 0' is allowed) before '(' token
print_die.cc:1225:40: error: function 'int* __errno_location()' is initialized like a variable
print_die.cc:1237:17: warning: declaration of 'int* __errno_location()' has 'extern' and is
initialized [enabled by default]
print_die.cc:1237:36: error: invalid pure specifier (only '= 0' is allowed) before '(' token
print_die.cc:1237:40: error: function 'int* __errno_location()' is initialized like a variable
make[2]: *** [print_die.o] Error 1
make[1]: *** [override_dh_auto_build] Error 2
make: *** [build-arch] Error 2
dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2

I just changed that block of code to use a different variable name rather than errno (see attached
patch).  Does this make sense?

Thanks!

Barry

Index: dwarfutils-20120410/dwarfdump2/print_die.cc
===================================================================
--- dwarfutils-20120410.orig/dwarfdump2/print_die.cc	2012-06-19 16:52:34.000000000 +0000
+++ dwarfutils-20120410/dwarfdump2/print_die.cc	2012-06-19 16:53:19.000000000 +0000
@@ -1222,8 +1222,8 @@
         /* Get the global offset for reference */
         res = dwarf_global_formref(attrib, &ref_off, &err);
         if (res != DW_DLV_OK) {
-            int errno = dwarf_errno(err);
-            if (errno == DW_DLE_REF_SIG8_NOT_HANDLED ) {
+            int ferrno = dwarf_errno(err);
+            if (ferrno == DW_DLE_REF_SIG8_NOT_HANDLED ) {
                 // No need to stop, ref_sig8 refers out of
                 // the current section.
                 break;
@@ -1234,8 +1234,8 @@
         }
         res = dwarf_dieoffset(die, &die_off, &err);
         if (res != DW_DLV_OK) {
-            int errno = dwarf_errno(err);
-            if (errno == DW_DLE_REF_SIG8_NOT_HANDLED ) {
+            int ferrno = dwarf_errno(err);
+            if (ferrno == DW_DLE_REF_SIG8_NOT_HANDLED ) {
                 // No need to stop, ref_sig8 refers out of
                 // the current section.
                 break;

Reply to: