Subject: Re: CVS commit: basesrc/libexec/ld.elf_so
To: None <junyoung@netbsd.org>
From: enami tsugutomo <enami@sm.sony.co.jp>
List: source-changes
Date: 11/22/2002 14:00:13
Bang Jun-Young <junyoung@netbsd.org> writes:

> Module Name:	basesrc
> Committed By:	junyoung
> Date:		Fri Nov 22 04:39:39 UTC 2002
> 
> Modified Files:
> 	basesrc/libexec/ld.elf_so: reloc.c
> 
> Log Message:
> Now _rtld_relocate_objects() returns with error as soon as any of
> subsequent calls in it fails.
> 
> 
> To generate a diff of this commit:
> cvs rdiff -r1.75 -r1.76 basesrc/libexec/ld.elf_so/reloc.c

Without doing enough cleanup?  I guess you aren't notice the comment
in the following code.

@@ -184,7 +183,7 @@
                }
                dbg(("doing non-PLT relocations"));
                if (_rtld_relocate_nonplt_objects(obj) < 0)
-                       ok = 0;
+                       return -1;
                if (obj->textrel) {     /* Re-protected the text segment. */
                        if (mprotect(obj->mapbase, obj->textsize,
                                     PROT_READ | PROT_EXEC) == -1) {

enami.