Gentoo Archives: gentoo-dev

From: Mike Frysinger <vapier@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] LFS QA warnings coming soon to a build near you
Date: Tue, 02 Jun 2015 14:14:03
Message-Id: 20150602141354.GD4496@vapier
In Reply to: Re: [gentoo-dev] LFS QA warnings coming soon to a build near you by Alexis Ballier
1 On 01 Jun 2015 10:15, Alexis Ballier wrote:
2 > On Sun, 31 May 2015 11:17:50 -0400 Mike Frysinger wrote:
3 > > (3) considering the glibc effort has been stalled for over a year,
4 > > (1) is something we can help accomplish and make reasonable progress
5 > > on (4) glibc isn't the only one that implements LFS in a transparent
6 > > backwards compatible manner
7 >
8 > maybe the fact that some file operations are broken with glibc's
9 > default settings on a somewhat popular fs would be a good argument to
10 > un-stall it ?
11
12 it isn't that black & white. while for many packages the change would be
13 harmless, glibc is more conservative than that. it can be shown that a not
14 uncommon coding style is to use long's everywhere when dealing with the fs.
15 when sizeof(off_t)==sizeof(long), this works out. when off_t is suddenly
16 twice as large, then you can get truncation at best (which is kind of the
17 status quo) and random corruption at worse (like an API that takes pointers
18 to off_t's but the caller passed in a long). if you want to join the list
19 upstream and contribute to the discussion, you're more than welcome to. the
20 maintainers aren't clueless -- they fully understand the trade-offs we're
21 discussing here and know that 32bit fs accesses lead to failures (including
22 stat).
23
24 since sitting on our hands and hoping for the best continues to accomplish
25 nothing, getting the various upstream packages to opt-in to LFS themselves
26 can make real progress now.
27
28 > > which leads me to the next part ... my first suggestion in the
29 > > tracker is for autotool based projects to use AC_SYS_LARGEFILE
30 > > because: (a) it supports a variety of systems
31 > > (b) as new systems come up or bugs are found or whatever, the
32 > > autoconf macro will improve and people eventually get those fixes for
33 > > free (c) it does it all transparently for you -- add the macro and
34 > > you're done (d) it fixes the package for all users, new & old
35 > >
36 > > the reason i listed only the raw CPPFLAGS and autoconf macros are
37 > > because those are the two i'm familiar with. i don't know how other
38 > > build systems (e.g. cmake) support this (assuming they do at all).
39 > > if people have other recipes on hand, then it would be great to
40 > > collect more there.
41 >
42 > yes, but that is not what i am discussing: unless i missed something,
43 > they'll all end up one way or another adding the relevant defines;
44 > whether it is done with an m4 macro, append-lfs-flags, a cmake function
45 > or what else is an implementation detail of little interest to me trying
46 > to understand why we don't simply change the default :)
47
48 as i already said, changing the default in *glibc* doesn't help non-glibc
49 systems. using portable build systems (like autotools) lets you easily
50 enable features like this and the build system knows the various platform
51 details. if you decided to roll your own build system or use one that
52 isn't that portable, well that's kind of your fault isn't it ? if you've
53 opted to only support a subset of systems, then that means adding these
54 CPPFLAGS yourself.
55 -mike

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] LFS QA warnings coming soon to a build near you Alexis Ballier <aballier@g.o>