Re: ITA: lostirc -- simple gtk-based IRC client

Antonio Terceiro <[email protected]> Mon, 25 Jul 2016 08:06:49 -0300
Newsgroups gmane.linux.debian.devel.portuguese
Message-ID <[email protected]>
On Mon, Jul 25, 2016 at 07:59:56AM -0300, Antonio Terceiro wrote:
> On Sun, Jul 24, 2016 at 03:53:39PM -0300, Paulo wrote:
> > Opa,
> > 
> > fiz um teste que pode dar uma luz, para quem entende!!
> > 
> > Alterei o makefile.in que que produz as linhas onde não aparecia o FORTIFY colocando "na unha" a flag, assim.
> > 
> > grep  g++ ../*.build | grep -v FORTIFY
> > 
> > checking for g++... g++
> > checking whether g++ accepts -g... yes
> > checking dependency style of g++... none
> > checking how to run the C++ preprocessor... g++ -E
> > checking for ld used by g++... /usr/bin/ld -m elf_x86_64
> > checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
> > checking for g++ option to produce PIC... -fPIC
> > checking if g++ PIC flag -fPIC works... yes
> > checking if g++ supports -c -o file.o... yes
> > checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
> > 
> > ou seja aquelas linhas que não possuíam o FORTiFY passaram a possuir ficando assim:
> > 
> > /bin/bash ../../libtool --mode=link g++  -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wall  -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -D_FORTIFY_SOURCE=2 -o lostirc  main.o MainWindow.o MainNotebook.o Tab.o Prefs.o ServerWindow.o GuiCommands.o Entry.o StatusBar.o TextWidget.o NickList.o DCCList.o ../libirc/libirc.a -lgtkmm-2.4 -lgtk-x11-2.0 -lgdkmm-2.4 -lgiomm-2.4 -lgtk-x11-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lfontconfig -lfreetype -latkmm-1.6 -latk-1.0 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo 
> > mkdir .libs
> > 
> > g++ -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wall -fPIE -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed -D_FORTIFY_SOURCE=2 -o lostirc main.o MainWindow.o MainNotebook.o Tab.o Prefs.o ServerWindow.o GuiCommands.o Entry.o StatusBar.o TextWidget.o NickList.o DCCList.o  ../libirc/libirc.a -lgtkmm-2.4 -lgdkmm-2.4 -lgiomm-2.4 -lgtk-x11-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lfontconfig /usr/lib/x86_64-linux-gnu/libfreetype.so -latkmm-1.6 -latk-1.0 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo -Wl,--rpath -Wl,/usr/lib/x86_64-linux-gnu -Wl,--rpath -Wl,/usr/lib/x86_64-linux-gnu
> > 
> > No entanto.....
> 
> o problema é que -D_FORTIFY_SOURCE=2 afeta o preprocessador, e nesses
> dois comandos aqui você está apenas fazendo o link de binários
> pré-compilados (*.o) num binário dinâmico final.
> 
> o -D_FORTIFY_SOURCE=2 aparece nos pontos onde se está compilando de fato
> o código C (*.c) pros arquivos de código objeto (*.o)?

err, s/*.c/*.cpp/ nesse caso
signature.asc (application/pgp-signature, 819 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCAAGBQJXlfLJAAoJEPwNsbvNRgvem+4P/1LjMXSv6g0x1zBzozqWLRTV
AKGZpyMM2toA+zGUywhP7YUrAGfA6mKbe4a351FaiD2Pn6mgNmuEraigcdbFXGfu
XxutOcHx5vhwagN98foXVV0/4uXNV8MbfX7S/NdkDTB8/GSZQBh43rOiYWI9zqcQ
LiEU0axLUemuI0w2S1Ns+8pBpX/ZSnagDePSbgeHXEIG7bb/1ymfvN9VWj/fRzV9
7Qn7pNEe5cS4mGSukHhT6s5BAgXWlIfGXqRoOpAtye9hajSS9Ozfsolb39T+kfbx
T2gTlkTkDnxmLAhL/9JUkceYTNwnL1bnu5n/zi/KB7VndrwPYyR1qc2MmIfBheJJ
yRsJc0SG8aIViKfn06G667v+hFnGrZElgvnkxyzdB551Mo67bcwilYHaHIPEVh7m
lEROG/9S5h8XxHXpmEztynFbYAPNps+396wD+k7GQSFK1AhXoLFMNgn2e8rf9HhR
Sq1sNwuXWGgAGBLBnp/rqPzq+ME7go4F9cKjsU64a+o0eJCtb8wOscwgAPZd16RO
t1JQGztFdMnrzI8BPalmksBSIQHl5KqamhuXlhYjbPHb5Mnm1JFgv3YO0noVnmt0
Xra67Gie+H84tarEWnJ5OvrRkNQKY3Kh1nN2kLkjnInZa94SV4G75oeK1/K7F7Su
lHvnhNj0jtZfVbw6KGRj
=H/1P
-----END PGP SIGNATURE-----