Bug#837582: yabause: FTBFS with bindnow and PIE enabled

2016-10-24 Thread Evgeni Golov
On Mon, Sep 12, 2016 at 04:43:31PM +0200, Balint Reczey wrote:
> src/gtk/CMakeFiles/yabause-gtk.dir/build.make:713: recipe for target
> 'src/gtk/yabause-gtk' failed
> make[3]: *** [src/gtk/yabause-gtk] Error 1
> ...

08:36 < Zhenech> Guillaume, debian enabled PIE and bindnow for all builds
08:36 < Zhenech> and yabause fails now :(
08:36 < Zhenech> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837582
08:37 < Guillaume> ah yeah
08:37 < Guillaume> you need to disable the dynarec
08:37 < Guillaume> -DSH2_DYNAREC=OFF
08:37 < Zhenech> also happens with .15 (tried yesterday)
08:38 < Zhenech> what is dynarec? :)
08:38 < Guillaume> the dynamic recompiler version of SH2
08:38 < Guillaume> faster, but...
08:39 < Guillaume> not maintained
08:39 < Guillaume> and it's using a hardcoded pointer



Bug#837582: yabause: FTBFS with bindnow and PIE enabled

2016-09-12 Thread Balint Reczey
Source: yabause
Version: 0.9.14-1
Severity: important
User: bal...@balintreczey.hu
Usertags: pie-bindnow-20160906
Justification: FTBFS on amd64 with extra hardening

Hi,

During a rebuild of all packages in sid, your package failed to build on
amd64 with patched GCC and dpkg.

The rebuild tested if packages are ready for a transition
enabling PIE and bindnow for amd64.

For more information about the changes to sid's dpkg and GCC please
visit:
 https://wiki.debian.org/Hardening/PIEByDefaultTransition

Relevant part (hopefully):
...
[ 38%] Linking C executable yabause-gtk
cd /<>/obj-x86_64-linux-gnu/src/gtk && /usr/bin/cmake -E
cmake_link_script CMakeFiles/yabause-gtk.dir/link.txt --verbose=1
/usr/bin/cc  -g -O2 -fdebug-prefix-map=/<>=.
-fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
-D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2
-Wdeclaration-after-statement -I/usr/include/gdk-pixbuf-2.0
-Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed
CMakeFiles/yabause-gtk.dir/gtk-compat.c.o
CMakeFiles/yabause-gtk.dir/gtkglwidget.c.o
CMakeFiles/yabause-gtk.dir/main.c.o CMakeFiles/yabause-gtk.dir/menu.c.o
CMakeFiles/yabause-gtk.dir/pergtk.c.o
CMakeFiles/yabause-gtk.dir/settings.c.o
CMakeFiles/yabause-gtk.dir/yuicheckbutton.c.o
CMakeFiles/yabause-gtk.dir/yuifileentry.c.o
CMakeFiles/yabause-gtk.dir/yuiinputentry.c.o
CMakeFiles/yabause-gtk.dir/yuim68k.c.o
CMakeFiles/yabause-gtk.dir/yuimem.c.o
CMakeFiles/yabause-gtk.dir/yuipage.c.o
CMakeFiles/yabause-gtk.dir/yuirange.c.o
CMakeFiles/yabause-gtk.dir/yuiresolution.c.o
CMakeFiles/yabause-gtk.dir/yuiscreenshot.c.o
CMakeFiles/yabause-gtk.dir/yuiscsp.c.o
CMakeFiles/yabause-gtk.dir/yuiscudsp.c.o
CMakeFiles/yabause-gtk.dir/yuish.c.o
CMakeFiles/yabause-gtk.dir/yuitransfer.c.o
CMakeFiles/yabause-gtk.dir/yuivdp1.c.o
CMakeFiles/yabause-gtk.dir/yuivdp2.c.o
CMakeFiles/yabause-gtk.dir/yuiviewer.c.o
CMakeFiles/yabause-gtk.dir/yuiwindow.c.o  -o yabause-gtk -rdynamic
../libyabause.a -lm -lGLU -lGL -lglut -lXmu -lXi -Wl,-Bstatic -lSDLmain
-Wl,-Bdynamic -lSDL -lpthread -lopenal -lpthread -lmini18n -lXrandr
-lX11 -lglib-2.0 -lgobject-2.0 -latk-1.0 -lgio-2.0 -lgthread-2.0
-lgmodule-2.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lpangocairo-1.0
-lpangoft2-1.0 -lpangoxft-1.0 -lgdk-x11-2.0 -lgtk-x11-2.0
-lgtkglext-x11-1.0 -lgdkglext-x11-1.0 -lopenal -lmini18n -lXrandr -lX11
-lglib-2.0 -lgobject-2.0 -latk-1.0 -lgio-2.0 -lgthread-2.0 -lgmodule-2.0
-lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lpangocairo-1.0 -lpangoft2-1.0
-lpangoxft-1.0 -lgdk-x11-2.0 -lgtk-x11-2.0 -lgtkglext-x11-1.0
-lgdkglext-x11-1.0 /usr/bin/ld: ../libyabause.a(linkage_x64.s.o):
relocation R_X86_64_32S against undefined symbol `master_ip' can not be
used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
src/gtk/CMakeFiles/yabause-gtk.dir/build.make:713: recipe for target
'src/gtk/yabause-gtk' failed
make[3]: *** [src/gtk/yabause-gtk] Error 1
...

The full build log is available from:
 
https://people.debian.org/~rbalint/build-logs/pie-bindnow-20160906/yabause_0.9.14-1_amd64.build.gz

Thanks,
Balint