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: David Turner
Subject: Re: [ft-devel] Testing PIC mode code (Re: Fixes for some compile and link errors when using FT_CONFIG_OPTION_PIC)
Date: Wed, 1 Feb 2012 14:26:15 +0100



2012/1/17 Erik Dahlstrom <address@hidden>
Hi,
after I submitted my first patches I found a bunch of other PIC issues. I see that you have fixed some of the same things I found too, mostly missing includes to the various error-headerfiles, and a bunch of unitialized variables for clazz and the various PIC modules, and pointer dereferences of the same.

One example of that, there are plenty more:

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 );                                    \

I think It would be simpler to fix FT_ALLOC() to perform a dummy NULL assignment on the first parameter for this specific compiler.
 

If you prefer I can send another patch with those changes.

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.



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


--
Erik Dahlstrom, Core Technology Developer, Opera Software
Co-Chair, W3C SVG Working Group
Personal blog: http://my.opera.com/macdev_ed


_______________________________________________
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]