[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