Use --enable-sjlj-exceptions when configuring gcc so that exception handling
works for dynamicly linked executables. Only tested so far on i386 with gcc 3.3.2. But combined with the latest ldso updates, I can now get a dynamicly linked java helloworld app to run. Add a config toggle for building gcj and libgcj. The build runs fine through gcc-final but currently requires hand interventions to build gcc-target. Again, only tested so far on i386.
This commit is contained in:
parent
0209686130
commit
18cefb81d1
14
Makefile
14
Makefile
|
@ -94,6 +94,11 @@ SOFT_FLOAT:=false
|
|||
TARGET_OPTIMIZATION=-Os
|
||||
TARGET_DEBUGGING= #-g
|
||||
|
||||
# Currently the unwind stuff seems to work for staticly linked apps but
|
||||
# not dynamic. So use setjmp/longjmp exceptions by default.
|
||||
GCC_USE_SJLJ_EXCEPTIONS:=--enable-sjlj-exceptions
|
||||
#GCC_USE_SJLJ_EXCEPTIONS:=
|
||||
|
||||
# Any additional gcc options you may want to include....
|
||||
EXTRA_GCC_CONFIG_OPTIONS:=
|
||||
|
||||
|
@ -108,6 +113,11 @@ MULTILIB:=--enable-multilib
|
|||
# Build/install c++ compiler and libstdc++?
|
||||
INSTALL_LIBSTDCPP:=true
|
||||
|
||||
# Build/install java compiler and libgcj? (requires c++)
|
||||
# WARNING!!! DOES NOT BUILD FOR TARGET WITHOUT INTERVENTION!!! mjn3
|
||||
#INSTALL_LIBGCJ:=true
|
||||
INSTALL_LIBGCJ:=false
|
||||
|
||||
# For SMP machines some stuff can be run in parallel
|
||||
#JLEVEL=-j3
|
||||
|
||||
|
@ -209,6 +219,10 @@ TARGET_SOFT_FLOAT:=
|
|||
ARCH_FPU_SUFFIX:=
|
||||
endif
|
||||
|
||||
ifeq ($(INSTALL_LIBGCJ),true)
|
||||
INSTALL_LIBSTDCPP:=true
|
||||
endif
|
||||
|
||||
# WARNING -- uClibc currently disables large file support on cris.
|
||||
ifeq ("$(strip $(ARCH))","cris")
|
||||
BUILD_WITH_LARGEFILE:=false
|
||||
|
|
|
@ -39,11 +39,15 @@ GCC_CAT:=bzcat
|
|||
#
|
||||
#############################################################
|
||||
|
||||
ifeq ($(INSTALL_LIBGCJ),true)
|
||||
TARGET_LANGUAGES:=c,c++,java
|
||||
else
|
||||
ifeq ($(INSTALL_LIBSTDCPP),true)
|
||||
TARGET_LANGUAGES:=c,c++
|
||||
else
|
||||
TARGET_LANGUAGES:=c
|
||||
endif
|
||||
endif
|
||||
|
||||
#############################################################
|
||||
#
|
||||
|
@ -138,6 +142,7 @@ $(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.patched $(STAGING_DIR)/$(REAL_GNU_TAR
|
|||
$(DISABLE_NLS) \
|
||||
$(MULTILIB) \
|
||||
$(SOFT_FLOAT_CONFIG_OPTION) \
|
||||
$(GCC_USE_SJLJ_EXCEPTIONS) \
|
||||
$(EXTRA_GCC_CONFIG_OPTIONS));
|
||||
touch $(GCC_BUILD_DIR2)/.configured
|
||||
|
||||
|
@ -205,6 +210,7 @@ $(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR2)/.installed
|
|||
$(DISABLE_NLS) \
|
||||
$(MULTILIB) \
|
||||
$(SOFT_FLOAT_CONFIG_OPTION) \
|
||||
$(GCC_USE_SJLJ_EXCEPTIONS) \
|
||||
$(EXTRA_GCC_CONFIG_OPTIONS));
|
||||
touch $(GCC_BUILD_DIR3)/.configured
|
||||
|
||||
|
|
Loading…
Reference in a new issue