CC elfutils-devel, this appears to be a regression. I'm top-posting my
own findings, but I'll leave the kernel report below...
With elfutils-0.162, it appears that "strip" doesn't reduce the file
size when operating in-place (without -o). This isn't particular to
funny kernel ELF -- I reproduced it on a local stap binary.
My full stap is 31MB. With strip -o, I get a new 2.5MB file. With
strip in-place, stap remains 31MB even though the ELF section data does
indicate all the DWARF sections are gone.
I bisected it to commit 77482c4bf63a.
https://git.fedorahosted.org/cgit/elfutils.git/commit/?id=77482c4bf63a921...
if (elf->parent == NULL
&& (elf->maximum_size == ~((size_t) 0)
|| (size_t) size > elf->maximum_size)
- && unlikely (ftruncate (elf->fildes, size) != 0))
+ && unlikely (posix_fallocate (elf->fildes, 0, size) != 0))
In elf_begin() w/ ELF_C_RDWR, we get maximum_size == ~0, but now this
posix_fallocate can only increase the file size. The later part of
write_file() to reduce the size is only called for maximum_size != ~0.
On 06/15/2015 11:32 AM, Josh Boyer wrote:
On Mon, Jun 15, 2015 at 1:45 PM, drago01 <drago01(a)gmail.com>
wrote:
> On Mon, Jun 15, 2015 at 7:38 PM, poma <pomidorabelisima(a)gmail.com> wrote:
>>
>> # du -hs /lib/modules/4.0.5-300.fc22.i686/ | awk '{print $1}'
>> 42M
>>
>> kernel-modules-4.0.5-300.fc22.i686.rpm ... 17M
>>
>>
http://dl.fedoraproject.org/pub/fedora/linux/updates/testing/22/i386/k/
>> ~~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~ ~~~~~ ~~~~ ~~~
>>
>> # du -hs /lib/modules/4.1.0-0.rc7.git0.1.fc23.x86_64/ | awk '{print $1}'
>> 53M
>>
>> kernel-modules-4.1.0-0.rc7.git0.1.fc23.x86_64.rpm ... 18M
>>
>>
https://kojipkgs.fedoraproject.org/packages/kernel/4.1.0/0.rc7.git0.1.fc2...
>> ~~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~ ~~~~~ ~~~~ ~~~ ~~ ~ ~~
~~~
>>
>> # du -hs /lib/modules/4.1.0-0.rc7.git1.1.fc23.x86_64/ | awk '{print $1}'
>> 439M
>>
>> kernel-modules-4.1.0-0.rc7.git1.1.fc23.x86_64.rpm ... 218M
>>
>>
http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/x86_64/o...
>> ~~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~ ~~~~~ ~~~~ ~~~ ~~ ~ ~~
~~~ ~~~~
>>
>> # du -hs /lib/modules/4.1.0-0.rc8.git0.1.fc23.x86_64/ | awk '{print $1}'
>> 438M
>>
>> kernel-modules-4.1.0-0.rc8.git0.1.fc23.x86_64.rpm ... 218M
>>
>>
https://kojipkgs.fedoraproject.org/work/tasks/9420/10059420/
>> ~~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~ ~~~~~
>>
>>
>> 218 ÷ 18 = 12.111111111
>> 439 ÷ 53 = 8.283018868
>>
>>> = 4.1.0-0.rc7.git1.1 cca. 10 x sizeof
>
> Those are debug builds.
They aren't actually.
It looks like something in the buildroot stopped stripping the kernel
modules between rc7.git0 and rc7.git1. Both elf-utils and binutils
changed, so maybe something in there. The same SRPM build on F22 has
the smaller size.
I haven't looked into it more than that. If someone wants to poke at
this and figure out what broke, that would be excellent. From a
kernel package perspective, there isn't anything that we did that
should cause this change in behavior that I'm aware of.
josh
_______________________________________________
kernel mailing list
kernel(a)lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/kernel