freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] LFS support in builds/unix/ftsystem.c


From: suzuki toshiya
Subject: Re: [ft-devel] LFS support in builds/unix/ftsystem.c
Date: Sat, 23 Nov 2013 17:12:01 +0900
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130518 Icedove/17.0.5

Hi,

Although I'm working too long time about it, I'm trying
to reduce non-essential cast between 64-bit variables
and 32-bit variables in FreeType2.

The biggest problem of the latency about LFS support is
the API design of abstract stream in FreeType2.
Please check FT_Stream_XXX() functions in ftstream.h,
you can find that the offset in the stream is typed as
FT_ULong etc - they are not fitting to ILP32 system
with LFS. ILP32 system is still important target of the
free software, and, the popularity of the font file > 2GB
is not remarkable, so, at present, I don't have good
rational to introduce the binary incompatible LFS
support (and C89 has no reliable type for LFS).
I'm questionable which is more forthcoming; the disappear
of ILP32 or the inflation of font filesize greater than
2GB. When FreeType3 is planned, of course I will propose
the changeset to support LFS natively.

Regards,
mpsuzuki


On 11/23/2013 02:29 PM, Kenny Simpson wrote:
> I spent a bit of time today chasing a bug which turned out to be missing 
> largefile support in FT_Stream_Open().  The issue was not that the font file 
> was large, but that the inode number on the filesystem (GFS2) was large.  The 
> underlying fstat64 system call did succeed, but then got translated to an 
> error for the 32-bit fstat() call.
> 
> (for the painful details, I needed to build 32-bit fontconfig to build wine 
> in order to run a crappy vendor's windoze binary - all under 64-bit Centos 6 
> on a semi-beefy x86 box).
> 
> My quick work-around was to add #define _GNU_SOURCE at the top to pick up the 
> LFS support, but did see the large:
> 
> /* XXX: TODO -- real 64bit platform support                        */
> 
> comment and wanted to mention that large files are not the only thing that 
> can break this:
> 
> http://repo.or.cz/w/glibc.git/blob/HEAD:/sysdeps/unix/sysv/linux/xstatconv.c
> 
> Its been a while since I've fought with LFS issues and had thought them a 
> thing of the past... let me know if there is an approved way to add this fix 
> to freetype.
> 
> thanks,
> -Kenny
> 
> 
> 
> _______________________________________________
> Freetype-devel mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/freetype-devel
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]