FreeBSD Port: openoffice-1.1-1.1.4

Dmitry Morozovsky marck at rinet.ru
Sat Feb 5 03:00:08 PST 2005


On Wed, 2 Feb 2005, NAKATA Maho wrote:

NM> > Any suggestions on what I can do to troubleshoot this?
NM> 
NM> I recieved another e-mail and I thought that for 4.11 we have rtld.c 
NM> which doesn't depend on _end symbol. but it still depend on _end.
NM> 
NM> please apply this patch
NM> http://people.freebsd.org/~maho/ooo/patch-rtld.c
NM> and rebuild your rtld.c

Your patch is for HEAD/RELENG_5. Here is the patch for contemporary RELENG_4

I'll try to rebuild OOo 1.1.4 and follow up with the result.

Sincerely,
D.Marck                                     [DM5020, MCK-RIPE, DM3-RIPN]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck at rinet.ru ***
------------------------------------------------------------------------
-------------- next part --------------
Index: rtld.c
===================================================================
RCS file: /home/ncvs/src/libexec/rtld-elf/rtld.c,v
retrieving revision 1.43.2.18
diff -u -r1.43.2.18 rtld.c
--- rtld.c	11 Jun 2004 09:06:27 -0000	1.43.2.18
+++ rtld.c	5 Feb 2005 10:58:04 -0000
@@ -54,7 +54,6 @@
 #include "rtld.h"
 #include "libmap.h"
 
-#define END_SYM		"_end"
 #define PATH_RTLD	"/usr/libexec/ld-elf.so.1"
 
 /* Types. */
@@ -1220,18 +1219,12 @@
 static Obj_Entry *
 obj_from_addr(const void *addr)
 {
-    unsigned long endhash;
     Obj_Entry *obj;
 
-    endhash = elf_hash(END_SYM);
     for (obj = obj_list;  obj != NULL;  obj = obj->next) {
-	const Elf_Sym *endsym;
-
 	if (addr < (void *) obj->mapbase)
 	    continue;
-	if ((endsym = symlook_obj(END_SYM, endhash, obj, true)) == NULL)
-	    continue;	/* No "end" symbol?! */
-	if (addr < (void *) (obj->relocbase + endsym->st_value))
+	if (addr < (void *) (obj->mapbase + obj->mapsize))
 	    return obj;
     }
     return NULL;


More information about the freebsd-ports mailing list