This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 06/25] Add struct scratch_buffer and its internal helper functions
- From: David Miller <davem at davemloft dot net>
- To: fweimer at redhat dot com
- Cc: neleai at seznam dot cz, eggert at cs dot ucla dot edu, libc-alpha at sourceware dot org
- Date: Wed, 08 Apr 2015 22:56:41 -0400 (EDT)
- Subject: Re: [PATCH 06/25] Add struct scratch_buffer and its internal helper functions
- Authentication-results: sourceware.org; auth=none
- References: <550C37F7 dot 10504 at redhat dot com> <20150403162531 dot GA25408 at domone> <55258979 dot 7090405 at redhat dot com>
From: Florian Weimer <fweimer@redhat.com>
Date: Wed, 08 Apr 2015 22:03:05 +0200
> Thanks for your review of five of the other patches; I committed them
> with suitable ChangeLog entries.
I'm getting a lot of warnings from the scratch_buffer test case on
32-bit sparc, which fails the compile during make check.
The first problem is that 1ULL << 32 doesn't fit in a size_t,
therefore gcc complains about the value being implicitly
truncated to an unsigned type.
For that, I think these >=1<<32 value tests should simply be elided on
32-bit systems.
Secondly I get inlining failure warnings for the scratch_buffer_free
calls in do_test(). I do not have a recommendation for how to solve
that. Frankly I think if something can't be inlined, in many cases
that's fine and opaque details of gcc's inlining heuristics shouldn't
fail the build ever.
These warnings failing the build are generally very frustrating, and
they have been so for those of us who have limited time to work on
glibc arch maintainence. We come in to attack a specific problem and
find that we can't even begin to do so because the tree doesn't even
build due to some obscure warning that the developer who installed the
warning causing change doesn't even see.
It's not like we had a one big project to clean up the existing
warnings and then things got better. This is a continual and ongoing
problem that is pervasive and doesn't improve, as new changes getting
installed are causing new warnings for someone all the time.