freetype-devel
[Top][All Lists]
Advanced

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

[ft-devel] More crashes on ARM


From: Frank Meerkoetter
Subject: [ft-devel] More crashes on ARM
Date: Fri, 27 Jan 2006 14:31:58 +0100
User-agent: Internet Messaging Program (IMP) H3 (4.0)

Hi,

i'm encountering other problems than allready reported with freetype
on ARM.

A segfault happens in this function:

FT_CALLBACK_DEF( FT_Error )
  TT_Access_Glyph_Frame( TT_Loader  loader,
                         FT_UInt    glyph_index,
                         FT_ULong   offset,
                         FT_UInt    byte_count )
  {
    FT_Error   error;
    FT_Stream  stream = loader->stream;

    /* for non-debug mode */
    FT_UNUSED( glyph_index );


    FT_TRACE5(( "Glyph %ld\n", glyph_index ));

    /* the following line sets the `error' variable through macros! */
    if ( FT_STREAM_SEEK( offset ) || FT_FRAME_ENTER( byte_count ) )
      return error;

    return TT_Err_Ok;
  }

which is called from (a fontconfig function):

static FT_Error
GetScriptTags(FT_Face face, FT_ULong tabletag, FT_ULong **stags, FT_UShort
*script_count)
{
    [...]
    if ( !stream )
        return TT_Err_Invalid_Face_Handle;

    if (( error = tt_face->goto_table( tt_face, tabletag, stream, 0 ) ))  <----
        return error;

#0  TT_Access_Glyph_Frame (loader=0x40b1219c, glyph_index=264832,
    offset=319872, byte_count=1196445523) at ttgload.c:215
#1  0x40aec9c0 in GetScriptTags (face=0x4e180, tabletag=1196445523,
    stags=0xbefff830, script_count=0xbefff82c) at fcfreetype.c:2747
#2  0x40aecd90 in FcFontCapabilities (face=0x4e180) at fcfreetype.c:2835
#3  0x40ae9d58 in FcFreeTypeQuery (
    file=0x4ae20 "/usr/share/fonts/FreeMonoBoldOblique.ttf", id=0,
    blanks=0x4fec8, count=0xbefff980) at fcfreetype.c:1411

The strange thing is that the parameters seem to be screwed up:

(dgb) frame 1
#1  0x40aec9c0 in GetScriptTags (face=0x4e180, tabletag=1196445523,
    stags=0xbefff830, script_count=0xbefff82c) at fcfreetype.c:2747
2747        if (( error = tt_face->goto_table( tt_face, tabletag, stream, 0 ) ))
(gdb) p tt_face
$11 = (TT_Face) 0x4e180
(gdb) p tabletag
$12 = 1196445523
(gdb) p stream
$13 = (FT_Stream) 0x50188
(gdb) frame 0
#0  TT_Access_Glyph_Frame (loader=0x40b1219c, glyph_index=264832,
    offset=319872, byte_count=1196445523) at ttgload.c:215
215         if ( check && face->postscript.isFixedPitch )

I'm using this gcc:
arm-linux-gcc --v
Reading specs from
/usr/local/uClibc-DaVinci/lib/gcc/arm-linux-uclibc/3.4.3/specs
Configured with:
/home/frank/avos_tmp/avx/buildroot/toolchain_build_arm_nofpu/gcc-3.4.3/configure
--prefix=/usr/local/uClibc-DaVinci --build=i386-pc-linux-gnu
--host=i386-pc-linux-gnu --target=arm-linux-uclibc --enable-languages=c,c++
--enable-shared --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld
--disable-nls --enable-threads --disable-multilib --with-float=soft
--with-cpu=arm926ejs --enable-cxx-flags=-mcpu=arm926ejs : (reconfigured)
/home/frank/avos_tmp/avx/buildroot/toolchain_build_arm_nofpu/gcc-3.4.3/configure
--prefix=/usr/local/uClibc-DaVinci --build=i386-pc-linux-gnu
--host=i386-pc-linux-gnu --target=arm-linux-uclibc --enable-languages=c,c++
--enable-shared --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld
--disable-nls --enable-threads --disable-multilib --with-float=soft
--with-cpu=arm926ejs --enable-cxx-flags=-mcpu=arm926ejs
Thread model: posix
gcc version 3.4.3

All optimizers are disabled.

Any ideas?

Regards,
  Frank





reply via email to

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