3.38.0: meson installs gnome-tour executable without debug info
I cannot find where it is hardcoded but generated binary src/gnome-tour
is without debug info.
Desspite fact that to the meson are passed CFLAGS, LDFLAGS env variables becuse it is about compile rust program those variables are not used during build.
Building everything in verbose mode does not show what commands are actually execuuted during use rust.
$ objdump -x /home/tkloczko/rpmbuild/BUILD/gnome-tour-3.38.0/x86_64-redhat-linux-gnu/src/gnome-tour |less
/home/tkloczko/rpmbuild/BUILD/gnome-tour-3.38.0/x86_64-redhat-linux-gnu/src/gnome-tour: file format elf64-x86-64
/home/tkloczko/rpmbuild/BUILD/gnome-tour-3.38.0/x86_64-redhat-linux-gnu/src/gnome-tour
architecture: i386:x86-64, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x0000000000032220
Program Header:
PHDR off 0x0000000000000040 vaddr 0x0000000000000040 paddr 0x0000000000000040 align 2**3
filesz 0x0000000000000310 memsz 0x0000000000000310 flags r--
INTERP off 0x0000000000000350 vaddr 0x0000000000000350 paddr 0x0000000000000350 align 2**0
filesz 0x000000000000001c memsz 0x000000000000001c flags r--
LOAD off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**12
filesz 0x0000000000031550 memsz 0x0000000000031550 flags r--
LOAD off 0x0000000000032000 vaddr 0x0000000000032000 paddr 0x0000000000032000 align 2**12
filesz 0x00000000000c5d29 memsz 0x00000000000c5d29 flags r-x
LOAD off 0x00000000000f8000 vaddr 0x00000000000f8000 paddr 0x00000000000f8000 align 2**12
filesz 0x000000000007f7e8 memsz 0x000000000007f7e8 flags r--
LOAD off 0x0000000000177b80 vaddr 0x0000000000178b80 paddr 0x0000000000178b80 align 2**12
filesz 0x0000000000024520 memsz 0x0000000000024738 flags rw-
DYNAMIC off 0x000000000019a5c0 vaddr 0x000000000019b5c0 paddr 0x000000000019b5c0 align 2**3
filesz 0x0000000000000310 memsz 0x0000000000000310 flags rw-
NOTE off 0x0000000000000370 vaddr 0x0000000000000370 paddr 0x0000000000000370 align 2**3
filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
NOTE off 0x0000000000000390 vaddr 0x0000000000000390 paddr 0x0000000000000390 align 2**2
filesz 0x0000000000000044 memsz 0x0000000000000044 flags r--
TLS off 0x0000000000177b80 vaddr 0x0000000000178b80 paddr 0x0000000000178b80 align 2**5
filesz 0x0000000000000004 memsz 0x0000000000000178 flags r--
0x6474e553 off 0x0000000000000370 vaddr 0x0000000000000370 paddr 0x0000000000000370 align 2**3
filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
EH_FRAME off 0x00000000001444ac vaddr 0x00000000001444ac paddr 0x00000000001444ac align 2**2
filesz 0x0000000000004b3c memsz 0x0000000000004b3c flags r--
STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**4
filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
RELRO off 0x0000000000177b80 vaddr 0x0000000000178b80 paddr 0x0000000000178b80 align 2**0
filesz 0x0000000000024480 memsz 0x0000000000024480 flags r--
Dynamic Section:
NEEDED libgstplayer-1.0.so.0
NEEDED libgstvideo-1.0.so.0
NEEDED libgstreamer-1.0.so.0
NEEDED libgobject-2.0.so.0
NEEDED libglib-2.0.so.0
NEEDED libhandy-1.so.0
NEEDED libgtk-3.so.0
NEEDED libgdk-3.so.0
NEEDED libpango-1.0.so.0
NEEDED libcairo-gobject.so.2
NEEDED libcairo.so.2
NEEDED libgdk_pixbuf-2.0.so.0
NEEDED libgio-2.0.so.0
NEEDED libdl.so.2
NEEDED libpthread.so.0
NEEDED libgcc_s.so.1
NEEDED libc.so.6
NEEDED ld-linux-x86-64.so.2
NEEDED libm.so.6
INIT 0x0000000000032000
FINI 0x00000000000f7d1c
INIT_ARRAY 0x0000000000178ba0
INIT_ARRAYSZ 0x0000000000000010
FINI_ARRAY 0x0000000000178bb0
FINI_ARRAYSZ 0x0000000000000008
GNU_HASH 0x00000000000003d8
STRTAB 0x00000000000018f8
SYMTAB 0x00000000000003f8
STRSZ 0x00000000000011e0
SYMENT 0x0000000000000018
DEBUG 0x0000000000000000
PLTGOT 0x000000000019b8d0
PLTRELSZ 0x00000000000002a0
PLTREL 0x0000000000000007
JMPREL 0x00000000000312b0
RELA 0x0000000000002e28
RELASZ 0x000000000002e488
RELAENT 0x0000000000000018
BIND_NOW 0x0000000000000000
FLAGS_1 0x0000000008000001
VERNEED 0x0000000000002c98
VERNEEDNUM 0x0000000000000007
VERSYM 0x0000000000002ad8
RELACOUNT 0x0000000000001e0b
Version References:
required from ld-linux-x86-64.so.2:
0x0d696913 0x00 16 GLIBC_2.3
required from libdl.so.2:
0x09691a75 0x00 15 GLIBC_2.2.5
required from libm.so.6:
0x09691a75 0x00 12 GLIBC_2.2.5
required from libhandy-1.so.0:
0x07944b40 0x00 07 LIBHANDY_1_0
required from libgcc_s.so.1:
0x0b792653 0x00 18 GCC_3.3
0x09276060 0x00 14 GCC_4.2.0
0x0b792650 0x00 05 GCC_3.0
required from libpthread.so.0:
0x09691973 0x00 17 GLIBC_2.3.3
0x09691972 0x00 11 GLIBC_2.3.2
0x09691a75 0x00 04 GLIBC_2.2.5
required from libc.so.6:
0x069691b2 0x00 19 GLIBC_2.32
0x06969194 0x00 13 GLIBC_2.14
0x06969198 0x00 10 GLIBC_2.18
0x06969197 0x00 09 GLIBC_2.17
0x09691972 0x00 08 GLIBC_2.3.2
0x09691a75 0x00 06 GLIBC_2.2.5
0x09691974 0x00 03 GLIBC_2.3.4
0x0d696914 0x00 02 GLIBC_2.4
Sections:
Idx Name Size VMA LMA File off Algn
0 .interp 0000001c 0000000000000350 0000000000000350 00000350 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
1 .note.gnu.property 00000020 0000000000000370 0000000000000370 00000370 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .note.gnu.build-id 00000024 0000000000000390 0000000000000390 00000390 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
3 .note.ABI-tag 00000020 00000000000003b4 00000000000003b4 000003b4 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
4 .gnu.hash 0000001c 00000000000003d8 00000000000003d8 000003d8 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 .dynsym 00001500 00000000000003f8 00000000000003f8 000003f8 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
6 .dynstr 000011e0 00000000000018f8 00000000000018f8 000018f8 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
7 .gnu.version 000001c0 0000000000002ad8 0000000000002ad8 00002ad8 2**1
CONTENTS, ALLOC, LOAD, READONLY, DATA
8 .gnu.version_r 00000190 0000000000002c98 0000000000002c98 00002c98 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
9 .rela.dyn 0002e488 0000000000002e28 0000000000002e28 00002e28 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
10 .rela.plt 000002a0 00000000000312b0 00000000000312b0 000312b0 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
11 .init 0000001b 0000000000032000 0000000000032000 00032000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
12 .plt 000001d0 0000000000032020 0000000000032020 00032020 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
13 .text 000c5b29 00000000000321f0 00000000000321f0 000321f0 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
14 .fini 0000000d 00000000000f7d1c 00000000000f7d1c 000f7d1c 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
15 .rodata 0004c4ac 00000000000f8000 00000000000f8000 000f8000 2**5
CONTENTS, ALLOC, LOAD, READONLY, DATA
16 .eh_frame_hdr 00004b3c 00000000001444ac 00000000001444ac 001444ac 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
17 .eh_frame 0001a0e0 0000000000148fe8 0000000000148fe8 00148fe8 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
18 .gcc_except_table 00014720 00000000001630c8 00000000001630c8 001630c8 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
19 .tdata 00000004 0000000000178b80 0000000000178b80 00177b80 2**5
CONTENTS, ALLOC, LOAD, DATA, THREAD_LOCAL
20 .tbss 00000158 0000000000178ba0 0000000000178ba0 00177b84 2**5
ALLOC, THREAD_LOCAL
21 .init_array 00000010 0000000000178ba0 0000000000178ba0 00177ba0 2**3
CONTENTS, ALLOC, LOAD, DATA
22 .fini_array 00000008 0000000000178bb0 0000000000178bb0 00177bb0 2**3
CONTENTS, ALLOC, LOAD, DATA
23 .data.rel.ro 00022a08 0000000000178bb8 0000000000178bb8 00177bb8 2**3
CONTENTS, ALLOC, LOAD, DATA
24 .dynamic 00000310 000000000019b5c0 000000000019b5c0 0019a5c0 2**3
CONTENTS, ALLOC, LOAD, DATA
25 .got 00001718 000000000019b8d0 000000000019b8d0 0019a8d0 2**3
CONTENTS, ALLOC, LOAD, DATA
26 .data 000000a0 000000000019d000 000000000019d000 0019c000 2**3
CONTENTS, ALLOC, LOAD, DATA
27 .bss 00000218 000000000019d0a0 000000000019d0a0 0019c0a0 2**3
ALLOC
28 .comment 0000005c 0000000000000000 0000000000000000 0019c0a0 2**0
CONTENTS, READONLY
29 .gnu.build.attributes 00009588 000000000019f2b8 000000000019f2b8 0019c0fc 2**2
CONTENTS, READONLY, OCTETS
SYMBOL TABLE:
[..]
As you see there is no .debug_* sections on the list.
I don't see in build-aux/cargo.sh
script enything like passing compile/linker optioons. Do you know how to pass for example linker optioons to have LTO optimised binary? or optimise everything for size?