relocation for non-RRS shared library symbols wasn't always set correctly.
This commit is contained in:
parent
3810963ed5
commit
05d16c3379
@ -35,7 +35,7 @@ static char sccsid[] = "@(#)ld.c 6.10 (Berkeley) 5/22/91";
|
||||
version. (pk) */
|
||||
|
||||
/*
|
||||
* $Id: ld.c,v 1.7 1993/10/21 00:52:56 pk Exp $
|
||||
* $Id: ld.c,v 1.8 1993/10/22 21:00:08 pk Exp $
|
||||
*/
|
||||
|
||||
/* Define how to initialize system-dependent header fields. */
|
||||
@ -409,7 +409,7 @@ decode_command(argc, argv)
|
||||
fatal("-T argument not multiple of page size, with sharable output");
|
||||
|
||||
/* Append the standard search directories to the user-specified ones. */
|
||||
std_search_dirs();
|
||||
std_search_dirs(getenv("LD_LIBRARY_PATH"));
|
||||
}
|
||||
|
||||
void
|
||||
@ -2168,6 +2168,7 @@ perform_relocation(data, data_size, reloc, nreloc, entry, dataseg)
|
||||
r->r_address += dataseg?
|
||||
entry->data_start_address:
|
||||
entry->text_start_address;
|
||||
relocation = addend;
|
||||
if (claim_rrs_reloc(r, sp, &relocation))
|
||||
continue;
|
||||
break;
|
||||
|
@ -35,7 +35,7 @@ static char sccsid[] = "@(#)ld.c 6.10 (Berkeley) 5/22/91";
|
||||
version. (pk) */
|
||||
|
||||
/*
|
||||
* $Id: ld.c,v 1.7 1993/10/21 00:52:56 pk Exp $
|
||||
* $Id: ld.c,v 1.8 1993/10/22 21:00:08 pk Exp $
|
||||
*/
|
||||
|
||||
/* Define how to initialize system-dependent header fields. */
|
||||
@ -409,7 +409,7 @@ decode_command(argc, argv)
|
||||
fatal("-T argument not multiple of page size, with sharable output");
|
||||
|
||||
/* Append the standard search directories to the user-specified ones. */
|
||||
std_search_dirs();
|
||||
std_search_dirs(getenv("LD_LIBRARY_PATH"));
|
||||
}
|
||||
|
||||
void
|
||||
@ -2168,6 +2168,7 @@ perform_relocation(data, data_size, reloc, nreloc, entry, dataseg)
|
||||
r->r_address += dataseg?
|
||||
entry->data_start_address:
|
||||
entry->text_start_address;
|
||||
relocation = addend;
|
||||
if (claim_rrs_reloc(r, sp, &relocation))
|
||||
continue;
|
||||
break;
|
||||
|
@ -27,7 +27,7 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: rrs.c,v 1.2 1993/10/21 00:52:59 pk Exp $
|
||||
* $Id: rrs.c,v 1.3 1993/10/22 21:00:13 pk Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
@ -310,7 +310,6 @@ printf("claim_rrs_reloc: %s\n", sp->name);
|
||||
return 0;
|
||||
} else {
|
||||
RELOC_EXTERN_P(r) = 1;
|
||||
*relocation = 0;
|
||||
return md_make_reloc(rp, r, RELTYPE_EXTERN);
|
||||
}
|
||||
}
|
||||
|
@ -27,7 +27,7 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: rrs.c,v 1.2 1993/10/21 00:52:59 pk Exp $
|
||||
* $Id: rrs.c,v 1.3 1993/10/22 21:00:13 pk Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
@ -310,7 +310,6 @@ printf("claim_rrs_reloc: %s\n", sp->name);
|
||||
return 0;
|
||||
} else {
|
||||
RELOC_EXTERN_P(r) = 1;
|
||||
*relocation = 0;
|
||||
return md_make_reloc(rp, r, RELTYPE_EXTERN);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user