Package: hardening-wrapper
Version: 2.2
Severity: normal
Reproduce by adding "export DEB_BUILD_HARDENING_DEBUG=1" to gnash d/rules and
rebuild. You should get attached error.
Attached patch makes it write debug messages to a file instead of stderr and it
builds fine.
[...]
CXXLD libgnashdevice.la
/usr/bin/g++-4.7.real -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security
-Werror=format-security -fPIC -DPIC -shared -nostdlib
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o
/usr/lib/gcc/x86_64-linux-gnu/4.7/crtbeginS.o
.libs/libgnashdevice_la-DeviceGlue.o -L/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so
/usr/lib/x86_64-linux-gnu/libltdl.so -lrt -lX11
-L/usr/lib/gcc/x86_64-linux-gnu/4.7
-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu
-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib -L/lib/x86_64-linux-gnu
-L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../..
-lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/4.7/crtendS.o
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crtn.o
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o
/usr/lib/gcc/x86_64-linux-gnu/4.7/crtbeginS.o
/usr/lib/gcc/x86_64-linux-gnu/4.7/crtendS.o
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crtn.o -O2
-Wl,--no-add-needed -Wl,--as-needed -Wl,-soname -Wl,libgnashdevice-0.8.11.so -o
.libs/libgnashdevice-0.8.11.so
/usr/bin/ld.bfd.real -z relro -z now --sysroot=/ --build-id --no-add-needed
--eh-frame-hdr -m elf_x86_64 --hash-style=both -shared -o
.libs/libgnashdevice-0.8.11.so -L/usr/lib/x86_64-linux-gnu
-L/usr/lib/gcc/x86_64-linux-gnu/4.7
-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu
-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib -L/lib/x86_64-linux-gnu
-L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../..
-L/usr/lib/gcc/x86_64-linux-gnu/4.7
-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu
-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib -L/lib/x86_64-linux-gnu
-L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib
-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../..
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o
/usr/lib/gcc/x86_64-linux-gnu/4.7/crtbeginS.o
.libs/libgnashdevice_la-DeviceGlue.o
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so
/usr/lib/x86_64-linux-gnu/libltdl.so -lrt -lX11 -lstdc++ -lm -lc -lgcc_s
/usr/lib/gcc/x86_64-linux-gnu/4.7/crtendS.o
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crtn.o
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o
/usr/lib/gcc/x86_64-linux-gnu/4.7/crtbeginS.o
/usr/lib/gcc/x86_64-linux-gnu/4.7/crtendS.o
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crtn.o
--no-add-needed --as-needed -soname libgnashdevice-0.8.11.so
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o: In function
`_init':
(.init+0x0): multiple definition of `_init'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o:(.init+0x0):
first defined here
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o: In function
`_fini':
(.fini+0x0): multiple definition of `_fini'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o:(.fini+0x0):
first defined here
/usr/lib/gcc/x86_64-linux-gnu/4.7/crtbeginS.o:(.data.rel+0x0): multiple
definition of `__dso_handle'
/usr/lib/gcc/x86_64-linux-gnu/4.7/crtbeginS.o:(.data.rel+0x0): first defined
here
/usr/lib/gcc/x86_64-linux-gnu/4.7/crtendS.o:(.tm_clone_table+0x0): multiple
definition of `__TMC_END__'
/usr/lib/gcc/x86_64-linux-gnu/4.7/crtendS.o:(.tm_clone_table+0x0): first
defined here
collect2: error: ld returned 1 exit status
--- /usr/bin/hardened-c++
+++ /usr/bin/hardened-c++
@@ -159,6 +159,8 @@
}
my @target = ($tool, @args, @ARGV);
-print STDERR join(" ",@target),"\n" if ($debug);
+open OUTPUT, ">>/tmp/debug.out" if ($debug);
+print OUTPUT join(" ",@target),"\n" if ($debug);
+close OUTPUT if ($debug);
exec @target or die "Unable to exec $target[0]: $!\n";
--- /usr/bin/hardened-ld
+++ /usr/bin/hardened-ld
@@ -87,6 +87,8 @@
}
my @target = ($tool, @args, @ARGV);
-print STDERR join(" ",@target),"\n" if ($debug);
+open OUTPUT, ">>/tmp/debug.out" if ($debug);
+print OUTPUT join(" ",@target),"\n" if ($debug);
+close OUTPUT if ($debug);
exec @target or die "Unable to exec $target[0]: $!\n";
--- /usr/bin/hardened-cc
+++ /usr/bin/hardened-cc
@@ -159,6 +159,8 @@
}
my @target = ($tool, @args, @ARGV);
-print STDERR join(" ",@target),"\n" if ($debug);
+open OUTPUT, ">>/tmp/debug.out" if ($debug);
+print OUTPUT join(" ",@target),"\n" if ($debug);
+close OUTPUT if ($debug);
exec @target or die "Unable to exec $target[0]: $!\n";