freetype-devel
[Top][All Lists]
Advanced

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

Re: [ft-devel] Testing PIC mode code (Re: Fixes for some compile and lin


From: suzuki toshiya
Subject: Re: [ft-devel] Testing PIC mode code (Re: Fixes for some compile and link errors when using FT_CONFIG_OPTION_PIC)
Date: Wed, 18 Jan 2012 01:07:48 +0900
User-agent: Mozilla-Thunderbird 2.0.0.12 (X11/20080406)

Dear Erik,

Of course, I want to receive the patch to improve (rather,
I should call restore) PIC build. I wish if my overhaul
have not made you troubled.

Erik Dahlstrom wrote:
> diff --git a/modules/libfreetype/include/freetype/internal/ftdriver.h 
> b/modules/libfreetype/include/freetype/internal/ftdriver.h
> index bbb9ddd..333f908 100644
> --- a/modules/libfreetype/include/freetype/internal/ftdriver.h
> +++ b/modules/libfreetype/include/freetype/internal/ftdriver.h
> @@ -366,11 +366,11 @@ FT_BEGIN_HEADER
>    FT_Create_Class_##class_( FT_Library        
> library,                       \
>                              FT_Module_Class**  output_class 
> )                \
>    
> {                                                                          
> \
> -    FT_Driver_Class  
> clazz;                                                  \
> +    FT_Driver_Class  clazz = 
> NULL;                                           \
>      FT_Error         
> error;                                                  \
>      FT_Memory        memory = 
> library->memory;                               \
>                                                                               
> \
> -    if ( FT_ALLOC( clazz, sizeof(*clazz) ) 
> )                                 \
> +    if ( FT_ALLOC( clazz, sizeof(FT_Driver_ClassRec) ) 
> )                     \
>        return 
> error;                                                          \
>                                                                               
> \
>      error = class_##_pic_init( library 
> );                                    \
> 
> 
> If you prefer I can send another patch with those changes.

Ahhh... although I'm not sure whether ANSI C requests that
sizeof(*xxx_p) works as sizeof(xxx), I think such modification
is not bad idea. BTW, sizeof(*xxx_p) style coding is refused
by the compiler? or linker?

> Regarding testing of the PIC mode, yes you can test it on Linux even 
> though PIC isn't normally required there. The linker that has issues 
> with strings and array initializations like in ftobjs.c is for the Brew 
> platform.

Thanks. I heard that BREW's official SDK is based on ARM RVCT
compiler in Microsoft Visual C++ IDE. I don't have MSVC IDE,
but I will check if there is any free-charged version of RVCT
compiler.

Regards,
mpsuzuki

> 
> On Tue, 17 Jan 2012 07:54:40 +0100, suzuki toshiya 
> <address@hidden> wrote:
> 
>> During the overhaul for PIC build, I found that cache subsystem
>> of FreeType2 is not ready for PIC build, thus the demo programs
>> doing rasterization (e.g. ftview, ftbench) cannot be built.
>> Thus I can check if the code is compilable, but cannot check
>> if the code is working. Maybe most expected direction is the
>> porting of the cache subsystem for PIC build (even if there is
>> no real user of it on embedded system), but extending some demo
>> programs for FreeType2 without cache subsystem would be easier
>> first step.
>>
>> # I assume FreeType2 built in PIC mode will work in the operating
>> # system that PIC mode is NOT required (e.g. Linux). If it's
>> # misunderstanding, please let me know.
>>
>> Any comments?
>>
>> Regards,
>> mpsuzuki
>>
>> suzuki toshiya wrote:
>>> Dear Erik,
>>>
>>> I have made some overhaul for PIC build, and, your patch to
>>> modify resource fork support for PIC build is applied with
>>> some coding style changing. Please check whether GIT head
>>> works on your platform.
>>>
>>> BTW,
>>>
>>> diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
>>> index 1a5a327..fc687f5 100644
>>> --- a/src/base/ftobjs.c
>>> +++ b/src/base/ftobjs.c
>>> @@ -4533,7 +4533,9 @@
>>>       */
>>>      {
>>>        FT_UInt      m, n;
>>> -      const char*  driver_name[] = { "type42", NULL };
>>> +      const char*  driver_name[2];
>>> +         driver_name[0] = "type42";
>>> +         driver_name[1] = NULL;
>>>
>>>
>>>        for ( m = 0;
>>>
>>> is not committed yet, because I want to know which linker complains
>>> about such initialization. If possible, please let me know 1 example
>>> to be documented in ChangeLog. I'm not saying "there should not be
>>> such linker", just I want to know 1 example, for good documentation.
>>> Sorry for troubling you.
>>>
>>> Regards,
>>> mpsuzuki
>>>
>>> suzuki toshiya wrote:
>>>> Dear Erik,
>>>>
>>>> Sorry for your trouble and thank you for providing a patch,
>>>> I will check it in this weekend. Please give me a few days.
>>>>
>>>> Regards,
>>>> mpsuzuki
>>>>
>>>> Werner LEMBERG wrote:
>>>>>> The commits in question are both dealing with compilation of
>>>>>> 'complex' structures and static globals.
>>>>> Thanks for the patch.  Toshiya-san, can you have a look and take care
>>>>> of it, please?
>>>>>
>>>>>
>>>>>     Werner
> 
> 




reply via email to

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