[Buildroot] buildroot 2012.11 large file support
Arnout Vandecappelle
arnout at mind.be
Wed Dec 12 23:47:28 UTC 2012
On 12/12/12 23:21, Thomas Petazzoni wrote:
> Dear Peter Korsgaard,
>
> On Wed, 12 Dec 2012 21:15:44 +0100, Peter Korsgaard wrote:
>
>> Thomas> !largefile build is OK if we pass $(DISABLE_LARGEFILE) to
>> Thomas> gcc1 and gcc2 configure steps, so it solves the build
>> Thomas> problem. I haven't done more testing though (testing the
>> Thomas> generated code, building with largefile enabled, etc.).
>>
>> Cool, great - I'll commit that then.
>>
>> Thomas> That said, doesn't --disable-largefile disables largefile
>> Thomas> support at the level of gcc itself, rather than taking into
>> Thomas> account the fact that largefile support is not available on
>> Thomas> the target? Of course, it has the consequence that
>> Thomas> _FILE_OFFSET_BITS is no longer defined to 64 in auto-conf.h,
>> Thomas> which works around the problem. But gcc (the host binary)
>> Thomas> should be capable of being built with largefile support on a
>> Thomas> 32 bits host, even if the 32 bits target has no largefile
>> Thomas> support.
>>
>> So for the cross compiler to be able to access large files? Is that
>> really important? I doubt people are using buildroot with 2G+
>> source/object/library files?
>
> It's not that we care too much about this (even though some crazy
> library like Qt with debugging symbols reaches a very fat size, several
> hundreds of MBs in size), but the fact that it is an ugly workaround to
> use the side-effect of disabling largefile on gcc to make it play nice
> with a target system that has largefile disabled.
>
> Right now, when largefile is disabled for the target, it is disabled
> for the cross gcc, when largefile is enabled for the target, it is
> enabled for the cross gcc. Doesn't make much sense.
Indeed, it would make much more sense to disable largefile unconditionally
while building any gcc stage (uClibc won't complain if _FILE_OFFSET_BITS is
not set). At least, I guess --disable-largefile only says something about
the gcc executable, not about the crtstuff and other target support...
And it also deserves a BIG FAT comment explaining why this is needed.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286540
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
More information about the buildroot
mailing list