[RFC] Boehm GC changes for uClibc.

David Daney ddaney at avtrex.com
Mon Apr 17 18:39:24 UTC 2006


I am trying to get libgcj running under uClibc.  This patch is necessary 
  to get a simple 'Hello World' program to run.  Other patches will be 
needed for full functionality, but this one is a good start.

The problem is the the Boehm GC is expecting to be able to find the 
link_map via the DT_DEBUG dynamic tag.  The uClibc dynamic loader does 
not initialize DT_DEBUG (at least for MIPS) because doing so would dirty 
the page where it resides.

The patch gains access the link_map via the global symbol 
_dl_debug_addr.  Without the patch there is a SIGSEGV dereferencing the 
zero valued DT_DEBUG tag while doing _Jv_CreateJavaVM().

If this seems like a good approach, I will test/commit the patch on the 
trunk.

This version is against GCC-4.1.0

David Daney

boehm-gc/
2006-04-17  David Daney  <ddaney at avtrex.com>

	* dyn_load.c (GC_FirstDLOpenedLinkMap): Remove unused variable r,
	use _dl_debug_addr instead of DT_DEBUG for uClibc.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: boehm-uclibc.diff
Type: text/x-patch
Size: 917 bytes
Desc: not available
Url : http://lists.busybox.net/pipermail/uclibc/attachments/20060417/30d62568/attachment.bin 


More information about the uClibc mailing list