From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp3.mail.ru (smtp3.mail.ru [94.100.179.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 36B4C469710 for ; Wed, 27 May 2020 13:02:00 +0300 (MSK) References: <20200312100549.31608-1-arkholga@tarantool.org> <20200414091803.GJ5713@tarantool.org> <20200525125827.GA20107@pony.bronevichok.ru> <10faaa66-3324-2931-0874-1edb26edb49f@tarantool.org> <20200526101108.GL5455@tarantool.org> From: Olga Arkhangelskaia Message-ID: Date: Wed, 27 May 2020 13:01:58 +0300 MIME-Version: 1.0 In-Reply-To: <20200526101108.GL5455@tarantool.org> Content-Type: multipart/alternative; boundary="------------CF370E56138EFA7F7387A5BD" Content-Language: en-GB Subject: Re: [Tarantool-patches] [PATCH] cmake: add LTO support for building luajit List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Munkin Cc: tarantool-patches@dev.tarantool.org, Alexander Turenko This is a multi-part message in MIME format. --------------CF370E56138EFA7F7387A5BD Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: 8bit Hi Igor! I have rebased to master: https://gitlab.com/tarantool/tarantool/pipelines/150002628 Unfortunately, release_asan_clang8  fails, however it is not only my problem. Moreover, fails not buid but a test. @ChangeLog -flag -DENABLE_LTO=ON is passed to luajit 26.05.2020 13:11, Igor Munkin пишет: > Olya, > > Thanks, the patch is nice! I also checked it manually on my Gentoo host > the way Sergey and you proposed: > | $ cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_LTO=ON . &> cmake.out > | $ grep -F 'LTO' cmake.out > | -- Enabling LTO: TRUE > | Setting LTO flags for building luajit > | $ make VERBOSE=1 &> make.out > | $ grep -F 'lj_vm.o' make.out > | ASM lj_vm.o > | /usr/bin/cc -O0 -Wall -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNVALGRIND=1 > | -DLUA_USE_APICHECK=1 -DLUA_USE_ASSERT=1 -DLUAJIT_ENABLE_PAIRSMM=1 > | -DLUAJIT_SMART_STRINGS=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE > | -U_FORTIFY_SOURCE -fno-stack-protector -fexceptions -funwind-tables > | -fno-omit-frame-pointer -fno-stack-protector -fno-common -fopenmp -msse2 > | -Wno-parentheses-equality -Wno-tautological-compare > | -Wno-misleading-indentation -Wno-varargs -Wno-implicit-fallthrough -flto > | -fuse-linker-plugin -fno-fat-lto-objects -c -o lj_vm.o lj_vm.S > | gcc-ar rcus libluajit.a lj_vm.o lj_gc.o lj_err.o lj_char.o lj_bc.o > | lj_obj.o lj_buf.o lj_str.o lj_tab.o lj_func.o lj_udata.o lj_meta.o > | lj_debug.o lj_state.o lj_dispatch.o lj_vmevent.o lj_vmmath.o lj_strscan.o > | lj_strfmt.o lj_strfmt_num.o lj_api.o lj_profile.o lj_lex.o lj_parse.o > | lj_bcread.o lj_bcwrite.o lj_load.o lj_ir.o lj_opt_mem.o lj_opt_fold.o > | lj_opt_narrow.o lj_opt_dce.o lj_opt_loop.o lj_opt_split.o lj_opt_sink.o > | lj_mcode.o lj_snap.o lj_record.o lj_crecord.o lj_ffrecord.o lj_asm.o > | lj_trace.o lj_gdbjit.o lj_ctype.o lj_cdata.o lj_cconv.o lj_ccall.o > | lj_ccallback.o lj_carith.o lj_clib.o lj_cparse.o lj_lib.o lj_alloc.o > | lib_aux.o lib_base.o lib_math.o lib_bit.o lib_string.o lib_table.o > | lib_io.o lib_os.o lib_package.o lib_debug.o lib_jit.o lib_ffi.o lib_init.o > > I see all requested build options are set. However, I see build failures > on OSX[1] not directly related to the changes. So I propose to rebase > your patch on the current master and re-run full CI pipeline to make > sure there are no build failures related to your patch (but I don't > expect any). > > Please also provide a ChangeLog entry. > > Otherwise, the changes LGTM, thanks! > > Sasha, please proceed with the patch. > > > > [1]: https://gitlab.com/tarantool/tarantool/-/jobs/567445297 > --------------CF370E56138EFA7F7387A5BD Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: 8bit

Hi Igor!

I have rebased to master:

https://gitlab.com/tarantool/tarantool/pipelines/150002628

Unfortunately, release_asan_clang8  fails, however it is not only my problem.

Moreover, fails not buid but a test.

@ChangeLog

-flag -DENABLE_LTO=ON is passed to luajit


26.05.2020 13:11, Igor Munkin пишет:
Olya,

Thanks, the patch is nice! I also checked it manually on my Gentoo host
the way Sergey and you proposed:
| $ cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_LTO=ON . &> cmake.out
| $ grep -F 'LTO' cmake.out
| -- Enabling LTO: TRUE
| Setting LTO flags for building luajit
| $ make VERBOSE=1 &> make.out
| $ grep -F 'lj_vm.o' make.out
| ASM       lj_vm.o
| /usr/bin/cc -O0 -Wall -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNVALGRIND=1
| -DLUA_USE_APICHECK=1 -DLUA_USE_ASSERT=1 -DLUAJIT_ENABLE_PAIRSMM=1
| -DLUAJIT_SMART_STRINGS=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
| -U_FORTIFY_SOURCE -fno-stack-protector  -fexceptions -funwind-tables
| -fno-omit-frame-pointer -fno-stack-protector -fno-common -fopenmp -msse2
| -Wno-parentheses-equality -Wno-tautological-compare
| -Wno-misleading-indentation -Wno-varargs -Wno-implicit-fallthrough -flto
| -fuse-linker-plugin -fno-fat-lto-objects -c -o lj_vm.o lj_vm.S
| gcc-ar rcus libluajit.a lj_vm.o lj_gc.o lj_err.o lj_char.o lj_bc.o
| lj_obj.o lj_buf.o lj_str.o lj_tab.o lj_func.o lj_udata.o lj_meta.o
| lj_debug.o lj_state.o lj_dispatch.o lj_vmevent.o lj_vmmath.o lj_strscan.o
| lj_strfmt.o lj_strfmt_num.o lj_api.o lj_profile.o lj_lex.o lj_parse.o
| lj_bcread.o lj_bcwrite.o lj_load.o lj_ir.o lj_opt_mem.o lj_opt_fold.o
| lj_opt_narrow.o lj_opt_dce.o lj_opt_loop.o lj_opt_split.o lj_opt_sink.o
| lj_mcode.o lj_snap.o lj_record.o lj_crecord.o lj_ffrecord.o lj_asm.o
| lj_trace.o lj_gdbjit.o lj_ctype.o lj_cdata.o lj_cconv.o lj_ccall.o
| lj_ccallback.o lj_carith.o lj_clib.o lj_cparse.o lj_lib.o lj_alloc.o
| lib_aux.o lib_base.o lib_math.o lib_bit.o lib_string.o lib_table.o
| lib_io.o lib_os.o lib_package.o lib_debug.o lib_jit.o lib_ffi.o lib_init.o

I see all requested build options are set. However, I see build failures
on OSX[1] not directly related to the changes. So I propose to rebase
your patch on the current master and re-run full CI pipeline to make
sure there are no build failures related to your patch (but I don't
expect any).

Please also provide a ChangeLog entry.

Otherwise, the changes LGTM, thanks!

Sasha, please proceed with the patch.

<snipped>

[1]: https://gitlab.com/tarantool/tarantool/-/jobs/567445297

--------------CF370E56138EFA7F7387A5BD--