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
Bookmarks