sizeof - w/ rpmbuild
poma
pomidorabelisima at gmail.com
Sat Jun 20 10:17:22 UTC 2015
On 20.06.2015 04:10, poma wrote:
> On 20.06.2015 04:00, Josh Stone wrote:
>> On 06/19/2015 06:47 PM, poma wrote:
>>> On 20.06.2015 03:30, Josh Stone wrote:
>>>> On 06/19/2015 05:51 PM, Josh Stone wrote:
>>>>> On 06/19/2015 05:16 PM, poma wrote:
>>>>>>
>>>>>> This is exactly the opposite of the case with the kernel
>>>>>> https://bugzilla.redhat.com/show_bug.cgi?id=1232206
>>>>>>
>>>>>>
>>>>>> - Local rpmbuild builds:
>>>>>>
>>>>>> binutils-2.25-11 - elfutils-0.163-1
>>>>>> 4.9M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
>>>>>>
>>>>>> binutils-2.25-10 - elfutils-0.163-1
>>>>>> 4.9M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
>>>>>>
>>>>>> binutils-2.25-10 - elfutils-0.162-2
>>>>>> 4.9M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
>>>>>>
>>>>>> binutils-2.25-10 - elfutils-0.162-1
>>>>>> 4.9M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
>>>>>>
>>>>>> binutils-2.25-10 - elfutils-0.161-8
>>>>>> 4.9M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
>>>>>>
>>>>>> binutils-2.25-9 - elfutils-0.161-8
>>>>>> 4.9M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
>>>>>>
>>>>>>
>>>>>> - Local mock build:
>>>>>>
>>>>>> /var/lib/mock/fedora-rawhide-x86_64/result/
>>>>>> 2.0M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
>>>>>>
>>>>>>
>>>>>> - Koji:
>>>>>>
>>>>>> https://kojipkgs.fedoraproject.org/packages/NetworkManager/1.0.4/0.1.git20150618.8cffaf3bf5.fc23/x86_64/
>>>>>> 2.0M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
>>>>>>
>>>>>>
>>>>>> Any idea why this multiplying size is happening with the rpmbuild?
>>>>>>
>>>>>> NetworkManager is just an example of a general issue.
>>>>>
>>>>> I'd start with "rpm -qvlp foo.rpm" to see what exactly is bigger.
>>>>> If it's an ELF file, compare "eu-readelf -S" or even "-a".
>>>>
>>>> FWIW, my "fedpkg local" produced 2.0M too.
>>>>
>>>> Perhaps you have devel packages for some optional NetworkManager
>>>> features that aren't normally enabled? Or maybe you have the bad
>>>> libelf.so in your path somewhere from testing the strip issue?
>>>>
>>>
>>> - rpmbuild runs as:
>>>
>>> $ cat ~/.rpmmacros
>>> %debug_package %{nil}
>>
>> Doesn't this prevent stripping?
>>
>> The normal %debug_package sets %global __debug_package 1, which causes
>> __spec_install_post to run __debug_install_post, which runs
>> find-debuginfo.sh, which is what runs eu-strip to extract debuginfo.
>>
>> Without that, the debug sections will be left in your files, as readelf
>> shows below, so of course they will be bigger!
>>
>
> But why is this happening only recently?
>
> I use "%debug_package %{nil}" to exclude the construction of *debuginfo* packages.
>
> Eeeeeeeeeeeeeeeeeeeeeeeeeee
> Am I really doing it the wrong way, so far!?
>
>
An exemplary example:
$ du -h xfce4-mixer*
104K xfce4-mixer-debug-before
432K xfce4-mixer-debug-recent
84K xfce4-mixer-strip-recent
eu-readelf -S xfce4-mixer-debug-before:
- *with* %debug_package %{nil}
There are 31 section headers, starting at offset 0x18d20:
Section Headers:
[Nr] Name Type Addr Off Size ES Flags Lk Inf Al
[ 0] NULL 0000000000000000 00000000 00000000 0 0 0 0
[ 1] .interp PROGBITS 0000000000400238 00000238 0000001c 0 A 0 0 1
[ 2] .note.ABI-tag NOTE 0000000000400254 00000254 00000020 0 A 0 0 4
[ 3] .note.gnu.build-id NOTE 0000000000400274 00000274 00000024 0 A 0 0 4
[ 4] .gnu.hash GNU_HASH 0000000000400298 00000298 00000080 0 A 5 0 8
[ 5] .dynsym DYNSYM 0000000000400318 00000318 00001cc8 24 A 6 1 8
[ 6] .dynstr STRTAB 0000000000401fe0 00001fe0 00001b6b 0 A 0 0 1
[ 7] .gnu.version GNU_versym 0000000000403b4c 00003b4c 00000266 2 A 5 0 2
[ 8] .gnu.version_r GNU_verneed 0000000000403db8 00003db8 00000050 0 A 6 2 8
[ 9] .rela.dyn RELA 0000000000403e08 00003e08 00000060 24 A 5 0 8
[10] .rela.plt RELA 0000000000403e68 00003e68 00001bc0 24 AI 5 12 8
[11] .init PROGBITS 0000000000405a28 00005a28 0000001a 0 AX 0 0 4
[12] .plt PROGBITS 0000000000405a50 00005a50 00001290 16 AX 0 0 16
[13] .text PROGBITS 0000000000406ce0 00006ce0 000078c2 0 AX 0 0 16
[14] .fini PROGBITS 000000000040e5a4 0000e5a4 00000009 0 AX 0 0 4
[15] .rodata PROGBITS 000000000040e5c0 0000e5c0 00001688 0 A 0 0 32
[16] .eh_frame_hdr PROGBITS 000000000040fc48 0000fc48 000003d4 0 A 0 0 4
[17] .eh_frame PROGBITS 0000000000410020 00010020 000016b4 0 A 0 0 8
[18] .init_array INIT_ARRAY 0000000000611c20 00011c20 00000008 0 WA 0 0 8
[19] .fini_array FINI_ARRAY 0000000000611c28 00011c28 00000008 0 WA 0 0 8
[20] .jcr PROGBITS 0000000000611c30 00011c30 00000008 0 WA 0 0 8
[21] .data.rel.ro PROGBITS 0000000000611c40 00011c40 000000d8 0 WA 0 0 32
[22] .dynamic DYNAMIC 0000000000611d18 00011d18 000002c0 16 WA 6 0 8
[23] .got PROGBITS 0000000000611fd8 00011fd8 00000020 8 WA 0 0 8
[24] .got.plt PROGBITS 0000000000612000 00012000 00000958 8 WA 0 0 8
[25] .data PROGBITS 0000000000612958 00012958 00000004 0 WA 0 0 1
[26] .bss NOBITS 0000000000612960 0001295c 00000100 0 WA 0 0 8
[27] .comment PROGBITS 0000000000000000 0001295c 0000005b 1 MS 0 0 1
[28] .shstrtab STRTAB 0000000000000000 000129b7 00000115 0 0 0 1
[29] .symtab SYMTAB 0000000000000000 00012ad0 00003300 24 30 177 8
[30] .strtab STRTAB 0000000000000000 00015dd0 00002f49 0 0 0 1
eu-readelf -S xfce4-mixer-debug-recent:
- with %debug_package %{nil}
There are 37 section headers, starting at offset 0x6ad38:
Section Headers:
[Nr] Name Type Addr Off Size ES Flags Lk Inf Al
[ 0] NULL 0000000000000000 00000000 00000000 0 0 0 0
[ 1] .interp PROGBITS 0000000000000238 00000238 0000001c 0 A 0 0 1
[ 2] .note.ABI-tag NOTE 0000000000000254 00000254 00000020 0 A 0 0 4
[ 3] .note.gnu.build-id NOTE 0000000000000274 00000274 00000024 0 A 0 0 4
[ 4] .gnu.hash GNU_HASH 0000000000000298 00000298 00000048 0 A 5 0 8
[ 5] .dynsym DYNSYM 00000000000002e0 000002e0 00001cf8 24 A 6 2 8
[ 6] .dynstr STRTAB 0000000000001fd8 00001fd8 00001b7a 0 A 0 0 1
[ 7] .gnu.version GNU_versym 0000000000003b52 00003b52 0000026a 2 A 5 0 2
[ 8] .gnu.version_r GNU_verneed 0000000000003dc0 00003dc0 00000050 0 A 6 2 8
[ 9] .rela.dyn RELA 0000000000003e10 00003e10 00000420 24 A 5 0 8
[10] .rela.plt RELA 0000000000004230 00004230 00001ba8 24 AI 5 12 8
[11] .init PROGBITS 0000000000005dd8 00005dd8 0000001a 0 AX 0 0 4
[12] .plt PROGBITS 0000000000005e00 00005e00 00001280 16 AX 0 0 16
[13] .text PROGBITS 0000000000007080 00007080 00007ba2 0 AX 0 0 16
[14] .fini PROGBITS 000000000000ec24 0000ec24 00000009 0 AX 0 0 4
[15] .rodata PROGBITS 000000000000ec40 0000ec40 000015e8 0 A 0 0 32
[16] .eh_frame_hdr PROGBITS 0000000000010228 00010228 000003d4 0 A 0 0 4
[17] .eh_frame PROGBITS 0000000000010600 00010600 000016f4 0 A 0 0 8
[18] .init_array INIT_ARRAY 00000000002121f8 000121f8 00000008 0 WA 0 0 8
[19] .fini_array FINI_ARRAY 0000000000212200 00012200 00000008 0 WA 0 0 8
[20] .jcr PROGBITS 0000000000212208 00012208 00000008 0 WA 0 0 8
[21] .data.rel.ro PROGBITS 0000000000212220 00012220 00000158 0 WA 0 0 32
[22] .dynamic DYNAMIC 0000000000212378 00012378 000002e0 16 WA 6 0 8
[23] .got PROGBITS 0000000000212658 00012658 000009a8 8 WA 0 0 8
[24] .data PROGBITS 0000000000213000 00013000 00000004 0 WA 0 0 1
[25] .bss NOBITS 0000000000213008 00013004 00000100 0 WA 0 0 8
[26] .comment PROGBITS 0000000000000000 00013004 00000058 1 MS 0 0 1
[27] .debug_aranges PROGBITS 0000000000000000 0001305c 00000240 0 0 0 1
[28] .debug_info PROGBITS 0000000000000000 0001329c 00036e7b 0 0 0 1
[29] .debug_abbrev PROGBITS 0000000000000000 0004a117 00002c28 0 0 0 1
[30] .debug_line PROGBITS 0000000000000000 0004cd3f 0000521c 0 0 0 1
[31] .debug_str PROGBITS 0000000000000000 00051f5b 000089f8 1 MS 0 0 1
[32] .debug_loc PROGBITS 0000000000000000 0005a953 000099c8 0 0 0 1
[33] .debug_ranges PROGBITS 0000000000000000 0006431b 00000340 0 0 0 1
[34] .shstrtab STRTAB 0000000000000000 0006465b 00000165 0 0 0 1
[35] .symtab SYMTAB 0000000000000000 000647c0 00003510 24 36 198 8
[36] .strtab STRTAB 0000000000000000 00067cd0 00003066 0 0 0 1
eu-readelf -S xfce4-mixer-strip-recent:
- without %debug_package %{nil}
There are 29 section headers, starting at offset 0x139f0:
Section Headers:
[Nr] Name Type Addr Off Size ES Flags Lk Inf Al
[ 0] NULL 0000000000000000 00000000 00000000 0 0 0 0
[ 1] .interp PROGBITS 0000000000000238 00000238 0000001c 0 A 0 0 1
[ 2] .note.ABI-tag NOTE 0000000000000254 00000254 00000020 0 A 0 0 4
[ 3] .note.gnu.build-id NOTE 0000000000000274 00000274 00000024 0 A 0 0 4
[ 4] .gnu.hash GNU_HASH 0000000000000298 00000298 00000048 0 A 5 0 8
[ 5] .dynsym DYNSYM 00000000000002e0 000002e0 00001cf8 24 A 6 2 8
[ 6] .dynstr STRTAB 0000000000001fd8 00001fd8 00001b7a 0 A 0 0 1
[ 7] .gnu.version GNU_versym 0000000000003b52 00003b52 0000026a 2 A 5 0 2
[ 8] .gnu.version_r GNU_verneed 0000000000003dc0 00003dc0 00000050 0 A 6 2 8
[ 9] .rela.dyn RELA 0000000000003e10 00003e10 00000420 24 A 5 0 8
[10] .rela.plt RELA 0000000000004230 00004230 00001ba8 24 AI 5 12 8
[11] .init PROGBITS 0000000000005dd8 00005dd8 0000001a 0 AX 0 0 4
[12] .plt PROGBITS 0000000000005e00 00005e00 00001280 16 AX 0 0 16
[13] .text PROGBITS 0000000000007080 00007080 00007ba2 0 AX 0 0 16
[14] .fini PROGBITS 000000000000ec24 0000ec24 00000009 0 AX 0 0 4
[15] .rodata PROGBITS 000000000000ec40 0000ec40 000015e8 0 A 0 0 32
[16] .eh_frame_hdr PROGBITS 0000000000010228 00010228 000003d4 0 A 0 0 4
[17] .eh_frame PROGBITS 0000000000010600 00010600 000016f4 0 A 0 0 8
[18] .init_array INIT_ARRAY 00000000002121f8 000121f8 00000008 0 WA 0 0 8
[19] .fini_array FINI_ARRAY 0000000000212200 00012200 00000008 0 WA 0 0 8
[20] .jcr PROGBITS 0000000000212208 00012208 00000008 0 WA 0 0 8
[21] .data.rel.ro PROGBITS 0000000000212220 00012220 00000158 0 WA 0 0 32
[22] .dynamic DYNAMIC 0000000000212378 00012378 000002e0 16 WA 6 0 8
[23] .got PROGBITS 0000000000212658 00012658 000009a8 8 WA 0 0 8
[24] .data PROGBITS 0000000000213000 00013000 00000004 0 WA 0 0 1
[25] .bss NOBITS 0000000000213008 00013004 00000100 0 WA 0 0 8
[26] .gnu_debuglink PROGBITS 0000000000000000 00013004 00000018 0 0 0 4
[27] .gnu_debugdata PROGBITS 0000000000000000 0001301c 000008bc 0 0 0 1
[28] .shstrtab STRTAB 0000000000000000 000138d8 00000111 0 0 0 1
Something has obviously changed in the meantime.
Does anyone can explain what *exactly* is at stake?
More information about the test
mailing list