Results 1 to 2 of 2

Thread: Cross Compiling Qtopia with SH4 and ended up with segfault, please help

  1. #1
    Join Date
    Nov 2006
    Posts
    1
    Qt products
    Qt4 Qt/Embedded
    Platforms
    Unix/X11

    Thumbs down Cross Compiling Qtopia with SH4 and ended up with segfault, please help

    Hi,

    I have specified the architecture specific files for SH4 to cross compile QT.
    Compilation and building the libraries works fine and when i execute a sample program or tutorial in the SH4 target I get segmentation fault.

    Here is what i have tried to debug it.

    When i try to add debug information to the QtLibraries, the binary file size comes to around 93MB size. I can successfully load it to the target. When i try to execute, i still get segmentation fault and no active debug information is reported. Also, when i load with gdb, gdb finds insufficient memory and could not load the program for execution. I really dunno how to debug it.

    I first want to confirm whether the architecture specific configuration is good,

    Qtopia root directory,

    created mkspecs/qws/linux-sh4-g++

    inside it has two files,

    qmake.conf

    MAKEFILE_GENERATOR = UNIX
    TEMPLATE = app
    CONFIG += qt warn_on release link_prl
    QT += core gui network
    QMAKE_INCREMENTAL_STYLE = sublib

    QMAKE_CC = /opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-gcc
    QMAKE_LEX = flex
    QMAKE_LEXFLAGS =
    QMAKE_YACC = yacc
    QMAKE_YACCFLAGS = -d
    QMAKE_CFLAGS = -pipe
    QMAKE_CFLAGS_WARN_ON = -Wall -w
    QMAKE_CFLAGS_WARN_OFF = -w
    QMAKE_CFLAGS_RELEASE = -O2
    QMAKE_CFLAGS_DEBUG = -g
    QMAKE_CFLAGS_SHLIB = -fPIC
    QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
    QMAKE_CFLAGS_THREAD = -D_REENTRANT
    QMAKE_CFLAGS_HIDESYMS = -fvisibility=hidden

    QMAKE_CXX = /opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-g++
    QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
    QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
    QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
    QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
    QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
    QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
    QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
    QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
    QMAKE_CXXFLAGS_HIDESYMS = $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden

    QMAKE_INCDIR =
    QMAKE_LIBDIR = /opt/STM/STLinux-2.0/devkit/sh4/target/usr/lib
    QMAKE_INCDIR_X11 =
    QMAKE_LIBDIR_X11 =
    QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
    QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]

    QMAKE_INCDIR =
    QMAKE_LIBDIR = /opt/STM/STLinux-2.0/devkit/sh4/target/usr/lib
    QMAKE_INCDIR_X11 =
    QMAKE_LIBDIR_X11 =
    QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
    QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
    QMAKE_INCDIR_OPENGL =
    QMAKE_LIBDIR_OPENGL =
    QMAKE_INCDIR_QTOPIA = $(QPEDIR)/include
    QMAKE_LIBDIR_QTOPIA = $(QPEDIR)/lib

    QMAKE_LINK = /opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-g++
    QMAKE_LINK_SHLIB = /opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-g++
    QMAKE_LFLAGS =
    QMAKE_LFLAGS_RELEASE =
    QMAKE_LFLAGS_DEBUG =
    QMAKE_LFLAGS_SHLIB = -shared
    QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
    QMAKE_LFLAGS_SONAME = -Wl,-soname,
    QMAKE_LFLAGS_THREAD =
    QMAKE_RPATH = -Wl,-rpath,

    QMAKE_LIBS =
    QMAKE_LIBS_DYNLOAD = -ldl
    QMAKE_LIBS_X11 =
    QMAKE_LIBS_X11SM =
    QMAKE_LIBS_QT = -lqte
    QMAKE_LIBS_QT_THREAD = -lqte-mt
    QMAKE_LIBS_QT_OPENGL = -lqgl
    QMAKE_LIBS_QTOPIA = -lqpe -lqtopia
    QMAKE_LIBS_THREAD = -lpthread

    QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
    QMAKE_UIC = $$[QT_INSTALL_BINS]/uic

    QMAKE_AR = /opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-ar cqs
    QMAKE_RANLIB = /opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-ranlib

    QMAKE_COPY = cp -f
    QMAKE_MOVE = mv -f
    QMAKE_DEL_FILE = rm -f
    QMAKE_DEL_DIR = rmdir
    QMAKE_STRIP = /opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-strip
    QMAKE_CHK_DIR_EXISTS = test -d
    QMAKE_MKDIR = mkdir -p
    load(qt_config)


    Second File is,

    qplatformdefs.h

    #include "../../linux-g++/qplatformdefs.h"

    Let me know if i need ti modify anything on the above files.

    Thanks.
    Kannaiyan

  2. #2
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Cross Compiling Qtopia with SH4 and ended up with segfault, please help

    Quote Originally Posted by nkans View Post
    When i try to add debug information to the QtLibraries, the binary file size comes to around 93MB size. I can successfully load it to the target. When i try to execute, i still get segmentation fault and no active debug information is reported. Also, when i load with gdb, gdb finds insufficient memory and could not load the program for execution. I really dunno how to debug it.
    Maybe it dumps a core which you could debug?

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.