This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Don't include libio.h from the installed stdio.h.


On Tue, Jan 9, 2018 at 11:33 AM, Florian Weimer <fweimer@redhat.com> wrote:
> On 01/09/2018 05:29 PM, Zack Weinberg wrote:
>>
>> On Mon, Jan 8, 2018 at 11:59 AM, Zack Weinberg <zackw@panix.com> wrote:
>>>
>>> This patch removes the #include of libio.h from the installed stdio.h,
>>
>> ...
>>>
>>> This passes the testsuite on x86-64-linux-gnu.  A build-many-glibcs
>>> cycle is in progress.
>>
>>
>> No new failures from build-many-glibcs.
>
> What about material object file changes?

There are some changes to installed stripped libraries, but I believe
all of them to be immaterial.  The removal of the #defines for getc
and putc means that several of the ancillary libraries and programs
change from calling _IO_getc@GLIBC_2.2.5 or _IO_putc@GLIBC_2.2.5 to
calling getc@GLIBC_2.2.5 or putc@GLIBC_2.2.5, and this causes the PLT
to get reorganized and many section base addresses to shift a little
bit.  diffoscope doesn't handle this case very well, and shows an
enormous diff for e.g. the text segment of libresolv, but I *think*
the code itself didn't change, it just moved a little in memory.
Also, removing lines from the top of vfprintf.c caused all the
assertions in that file to have different line numbers.  And I don't
know how to freeze the build-id notes.  That appears to be everything.

For interest, the complete output of `diffoscope
--exclude-directory-metadata --exclude '*.h'` is attached.

Attachment: glibc-diff.txt.gz
Description: GNU Zip compressed data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]