Dear all, I use uClinux on m68knommu plaftorm for embedded device and have a problem with memory allocation/deallocation in C++ application.
I try to use ccmalloc library, but encounter some problems: 1. lack of sbrk function in libraries. ucfront-gcc m68k-uclinux-gcc -m5307 -DCONFIG_COLDFIRE -Wl,-elf2flt -Wl,-move-rodata -msep-data -Wl,-elf2flt -Wl,-move-rodata -msep-data -o telnetd /home/plyatov/development/uClinux-20090302/lib/libccmalloc/lib/ccmalloc-gcc.o /home/plyatov/development/uClinux-20090302/lib/libccmalloc/lib/libccmalloc.a telnetd.o state.o termstat.o slc.o sys_term.o utility.o global.o authenc.o logwtmp.o logout.o -lutil -lutil telnetd.elf2flt: In function `MY_malloc': src/myalloc.c:115: undefined reference to `sbrk' collect2: ld returned 1 exit status make[3]: *** [telnetd] Error 1 I resolve this problem by such ccmalloc's Makefile change: -OBJ=obj/callchain.o obj/hash.o obj/wrapper.o +OBJ=obj/callchain.o obj/hash.o obj/wrapper.o obj/sbrk.o +obj/sbrk.o: src/config.h ../uClibc/libc/sysdeps/linux/common/sbrk.c + $(CC) $(CFLAGS) -c -o$@ \ + ../uClibc/libc/sysdeps/linux/common/sbrk.c is this a right solution? 2. applications linked with libccmalloc, write only part of information to logfile. There is no ccmalloc report produced :-( For example, telnetd gives such output: .----------------------------------------------------------------------. |================ ccmalloc-0.3.9 (C) 1997-2001 Armin Biere ============| +----------------------------------------------------------------------+ | executable = telnetd | | startup file = .ccmalloc | | log file = /var/disk1/telnet.log | | start time = Tue Nov 30 00:01:55 1999 | | operating system = uClinux 2.4.20-uc0 m68knommu on GS100014 | +----------------------------------------------------------------------+ | only-count = 0 keep-deallocated-data = 0 | | check-interval = 0 check-free-space = 0 | | check-start = 0 file-info = 0 | | chain-length = 0 additional-line = 1 | | check-underwrites = 0 print-addresses = 0 | | check-overwrites = 0 print-on-one-line = 0 | | sort-by-wasted = 1 sort-by-size = 1 | | # only-log-chain = 0 continue = 0 | | # dont-log-chain = 0 statistics = 0 | | debug = 0 library-chains = 0 | | load-dynlibs = 0 align-8-byte = 0 | | only-wasting-alloc= 1 | `----------------------------------------------------------------------' And nothing more. .ccmalloc content: file telnetd log /var/disk1/telnetd.log file-info 0 set only-wasting-alloc 0 What can be wrong? Thanks in advance and best regards! -- Igor Plyatov _______________________________________________ uClinux-dev mailing list [email protected] http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by [email protected] To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev
