FreeBSD Bugzilla – Attachment 108687 Details for
Bug 149569
[patch] rtld(1): runtime linker unable to load needed object with the same name as referencing object [regressio]
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 1.05 KB, created by
KT Sin
on 2010-08-12 11:00:08 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
KT Sin
Created:
2010-08-12 11:00:08 UTC
Size:
1.05 KB
patch
obsolete
>--- libexec/rtld-elf/rtld.c.orig 2010-06-18 23:17:38.000000000 +0800 >+++ libexec/rtld-elf/rtld.c 2010-08-12 16:16:43.000000000 +0800 >@@ -1435,15 +1435,23 @@ > Needed_Entry *needed; > > for (needed = obj->needed; needed != NULL; needed = needed->next) { >- obj1 = needed->obj = load_object(obj->strtab + needed->name, obj, >- flags & ~RTLD_LO_NOLOAD); >- if (obj1 == NULL && !ld_tracing) >+ const char *name = obj->strtab + needed->name; >+ char *path = find_library(name, obj); >+ >+ if (path == NULL && !ld_tracing) > return -1; >- if (obj1 != NULL && obj1->z_nodelete && !obj1->ref_nodel) { >- dbg("obj %s nodelete", obj1->path); >- init_dag(obj1); >- ref_dag(obj1); >- obj1->ref_nodel = true; >+ >+ if (path) { >+ obj1 = needed->obj = load_object(path, obj, >+ flags & ~RTLD_LO_NOLOAD); >+ if (obj1 == NULL && !ld_tracing) >+ return -1; >+ if (obj1 != NULL && obj1->z_nodelete && !obj1->ref_nodel) { >+ dbg("obj %s nodelete", obj1->path); >+ init_dag(obj1); >+ ref_dag(obj1); >+ obj1->ref_nodel = true; >+ } > } > } > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 149569
: 108687