problems building server following mini_http example
Tiago Jorge
tjpj at lasige.di.fc.ul.pt
Mon Mar 7 18:31:19 CET 2005
Christian Helmuth wrote:
>
>AFAIK L4Env with OSKit's FreeBSD libc does not work with L4VFS and
>libc_backends. If you want to stay with the current FLIPS client library
>you have to use dielibc.
>
Once again thank you for your prompt answers.
I'm having a "little" problem again. Like i said before i'm porting a
C++ aplication. In these program, i use STL (vectors and maps mostly).
So that i can use the l4env_base and c++, i've built a costum mode,
WOO_mode:
##############################################################################
#
# x86_WOO_mode - custom mode
# ISTO É MEU
#
BID_SUPPORTED_x86_WOO_mode = y
LIBCINCDIR_x86_WOO_mode = -nostdinc -I$(L4DIR)/include/dietlibc \
-I$(DROPS_STDDIR)/include/dietlibc \
-I$(L4DIR)/include/c++/$(GCCVERSION) \
-I$(L4DIR)/include/c++/$(GCCVERSION)/drops \
-I$(DROPS_STDDIR)/include/c++/$(GCCVERSION) \
-I$(DROPS_STDDIR)/include/c++/$(GCCVERSION)/drops \
-I$(GCCINCDIR) \
LIBCLIBDIR_x86_WOO_mode = -L$(L4DIR)/lib/c++/$(GCCVERSION) \
-L$(DROPS_STDDIR)/lib/c++/$(GCCVERSION)
LIBCLIBS_x86_WOO_mode = -nostdlib $(GCCLDNOSTDLIB) \
-u printf -ldiet_be_io.o
-l$(DIETLIBC_MALLOC_BACKEND) \
-ldiet_be_time
-lrtc \
-ll4rm -ldm_mem -ldm_generic -lthread -lsemaphore \
-ll4env -ll4env_err -lslab -llogserver_capsule -ll4rm \
-lthread -ldm_generic -lnames -ll4util -lrmgr \
-ldiet_c $(GCCLIB) -ldiet_c \
-ldiet_be_time -ldiet_be_mmap -ldiet_be_mmap_util.o \
-ldiet_be_l4env_start_stop -lgeneric_ts -ldiet_be_syslog \
-ldiet_be_file-table -ldiet_be_simple_sleep \
-ll4vfs_common_io -ll4vfs_basic_io -ll4vfs_connection \
-ll4vfs_basic_name_server -ll4vfs_name_server \
-ll4vfs_name_space_provider -ll4vfs_extendable
L4LIBS_x86_WOO_mode = -static -ll4rm -ldm_mem -ldm_generic -lthread \
-lsemaphore -ll4env -ll4env_err -lslab \
-llogserver_capsule -ll4rm \
-lthread -ldm_generic -lnames \
-ll4util -lrmgr
CRT0_x86_WOO_mode = $(call findfile,crt0.o,$(L4LIBDIR))
CRTN_x86_WOO_mode =
LDSCRIPT_x86_WOO_mode = $(call findfile,main_stat.ld,$(L4LIBDIR))
####################################################################################
and i have included in the Makefile the libstdc++. But the error that
gives me its tipical of the STL need of exceptions i think. An excerpt
follows:
[...]
/home/tiago/l4/pkg/libstdc++/lib/src-v3/dist/drops/libstdc++-v3/src/ios.cc:335:
undefined reference to `_Unwind_Resume'
../../../../../lib/c++/3.3/libstdc++.a(istream-inst.o)(.gnu.linkonce.t._ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE+0x45):/home/tiago/l4/pkg/libstdc++/lib/src-v3/dist/drops/libstdc++-v3/include/bits/basic_ios.h:107:
more undefined references to `_Unwind_Resume' follow
../../../../../lib/c++/3.3/libstdc++.a(pure.o)(.text+0x2): In function
`__cxa_pure_virtual':
/home/tiago/l4/pkg/libstdc++/lib/src-v3/dist/drops/libstdc++-v3/libsupc++/pure.cc:49:
undefined reference to `__sF'
../../../../../lib/c++/3.3/libstdc++.a(ctype.o)(.text+0x33c): In
function `std::ctype<char>::~ctype [not-in-charge]()':
/home/tiago/l4/pkg/libstdc++/lib/src-v3/dist/drops/libstdc++-v3/include/bits/locale_facets.h:127:
undefined reference to `_Unwind_Resume'
../../../../../lib/c++/3.3/libstdc++.a(ctype.o)(.text+0x3ac): In
function `std::ctype<char>::~ctype [in-charge]()':
/home/tiago/l4/pkg/libstdc++/lib/src-v3/dist/drops/libstdc++-v3/include/bits/locale_facets.h:127:
undefined reference to `_Unwind_Resume'
../../../../../lib/c++/3.3/libstdc++.a(ctype.o)(.text+0x424): In
function `std::ctype<char>::~ctype [in-charge deleting]()':
/home/tiago/l4/pkg/libstdc++/lib/src-v3/dist/drops/libstdc++-v3/include/bits/locale_facets.h:127:
undefined reference to `_Unwind_Resume'
[...]
After a search in the best work tool ever (aka Google) the method
_Unwind_Resume has to do with exception propagation. But as we know,
only the l4env_freebsd and oskit10_sigma0 mode have full support for C++
exceptions. But the FLIPS server has to be used with dielibc.
My question is... is there any way to link with dielibc and still use
C++ and exceptions?
thanks in advance and thank you for your patience...
Tiago Jorge
More information about the l4-hackers
mailing list