Commit Graph

545 Commits

Author SHA1 Message Date
martin d7931a6191 Quote symbol names in a debug message (to make it easier to spot an empty
symbol name, a common failure mode)
2005-01-11 21:58:27 +00:00
martin d977618dcf Backout -DDEBUG that I accidently commited with the last change 2005-01-11 07:47:37 +00:00
martin 0a1196da3e Add LD_BIND_NOW support for sparc and remove some relocation types that
are not supposed to happen in 32bit code.
From Nick Hudson.
2005-01-09 14:58:15 +00:00
simonb c364c98f98 Don't process DT_DEBUG on MIPS as the dynamic section is mapped
read-only.  DT_MIPS_RLD_MAP is used instead.

Patch from Nick Hudson.
2005-01-09 12:43:23 +00:00
martin 995d8a8e4b Add support for unaligned relocs on sparc, from PR 26858.
Should also fix PR 25901 and PR 18296.
2005-01-05 09:18:53 +00:00
martin 35130888e4 Add LD_BIND_NOW support for sparc64. 2005-01-05 09:16:03 +00:00
mycroft ac7236712a ELF32_ST_TYPE -> ELF_ST_TYPE 2004-12-17 10:53:27 +00:00
skrll 38fb01be3a Apply fixes from Charles:
- Fix how _rtld_relocate_nonplt_self deals with REL32 relocations.

- Change the assert so that it is correct for binutils 2.14 and 2.15.

There are still problems with the libraries generated with binutils 2.15,
but at least ld.elf_so doesn't crash.
2004-12-15 10:26:29 +00:00
skrll 2728318e3c Add __RCSIDs.
OK'd by mycroft.
2004-10-22 05:39:56 +00:00
uwe 255de8f40e Preserve r2 in _rtld_bind_start - in r2 functions that return
aggregate types are passed the address of the memory area to store the
returned result to.

Fixes PR port-sh3/26949.
2004-09-14 21:34:01 +00:00
rearnsha 3fa803b523 Check the type of symbols; if it's a Thumb function, then set the Thumb
bit in the relocated value (JUMP_SLOT, ABS32 & GLOB_DAT).
2004-08-21 11:14:07 +00:00
rearnsha c3e148044f Use BX if available. 2004-08-21 11:12:03 +00:00
thorpej 2a63e04007 - Change the strong dlfcn names in libc to ___name, and make the __name
versions used by others in libc weak, so that we have:
	name: weak
	__name: weak
	___name: strong
- Add __name strong aliases of the dlfcn names in ld.elf_so, so that we have:
	name: strong
	__name: strong

This allows ld.elf_so to self-resolve both the name and __name variants
of the dlfcn functions, the former being required for dlfcn support in
applications, the latter being required for dlfcn support in libc.

Fixes the problem described in:

    http://mail-index.netbsd.org/tech-toolchain/2004/07/17/0000.html

Reviewed by Nick.
2004-07-18 17:26:19 +00:00
petrov 1ee4832b70 Don't print relocated content (in DEBUG mode) as it can cause
misaligned access. It needs to be done differently if needed at all.
Fix PR port-sparc64/20907.
2004-07-17 05:03:33 +00:00
cube d1b3d841ee Make ld.elf_so use the new sysctl API. That allows the user to give any
sysctl variable name in /etc/ld.so.conf.  It also makes the ld.elf_so
binary slightly smaller (at least on i386), and has no impact on
performance.

Fixes PR 26100.
2004-07-05 11:50:07 +00:00
skrll 701ae47cdf Fix the dynamic linker for hppa using ELF.
Lazy binding doesn't work 100% of the time so force immediate binding.
One possible reason is that the PLT stub blows away r20 which the
compiler might not take into account.
2004-05-17 13:16:02 +00:00
skrll e88c851d08 Test before commit. 2004-05-17 11:00:01 +00:00
skrll 0556cd7d3c Re-arrange/correct some asserts. 2004-05-17 10:23:58 +00:00
skrll 8431fb3c4c Wrap a couple of lines to <80 columns 2004-05-14 11:59:14 +00:00
skrll c788a1a535 Whitespace. 2004-05-14 11:11:02 +00:00
skrll 212b905081 Garbage collect the RTLD_RELOCATE_SELF error. 2004-05-12 20:23:29 +00:00
skrll c0148a0dfe Add a debug message. 2004-05-12 20:12:37 +00:00
mhitch b6825b1e42 The -symbolic flag in gcc 2.95.3 is not passed to the linker, which is
required.  Restore the -Bsymbolic option in LDFLAGS on the vax.  Fixes
the problem with ld.elf_so mentioned on port-vax.
2004-04-28 02:04:56 +00:00
skrll 236df38503 Be more pedantic about where we use -shared, etc. 2004-03-24 08:01:26 +00:00
atatat 1de60baa7c The <sys/sysctl.h> header already provides a perfectly good struct for
this purpose, so...uh...use it.
2004-03-16 05:25:12 +00:00
enami 76eaac1d6f Whitespace. 2004-02-26 21:45:59 +00:00
skrll 52581467e2 Whitespace. 2004-02-23 21:27:20 +00:00
skrll 4d30716d36 Remove the millicode hack - its not needed anymore.
Get the entry point right.
2004-02-23 21:20:40 +00:00
uwe 8eb5ba6d09 Use CC instead of LD to link the ld.elf_so. This will correctly link
"millicode" from libgcc_pic.a on platforms that need it.

From Nick Hudson <skrll@netbsd>.
2004-02-22 01:39:43 +00:00
skrll b5330c98c7 Add the standard XXX about CPPFLAGS and -fpic here. 2004-02-21 16:02:06 +00:00
skrll d93f13855a Move common LDFLAGS into Makefile from arch/*/Makefile.inc 2004-02-21 15:56:03 +00:00
skrll 151426159b Whitespace. 2004-02-20 20:58:24 +00:00
enami 074a9e8fee Salvage the instruction to save the pointer to ps_strings for later use
so that setproctitle() works again.  The problem reported by Naoki Fukaumi
on japanese mailing list.

Approved by: Ross Harvey
2004-02-18 23:04:49 +00:00
enami f1740378ad Don't assume past the mmaped region is accessible. 2004-02-15 02:59:04 +00:00
enami 63fcb5a042 Fix warning message: the failed operation is not fstat but mmap. 2004-02-15 02:56:53 +00:00
mrauch f06ab72b6e Change the symbol lookup order to search RTLD_GLOBAL objects
before referencing object's DAG. This makes it possible for
C++ exceptions to work across shared libraries.

Patch taken from FreeBSD: src/libexec/rtld-elf/rtld.c: 1.67 -> 1.68,
committed there by kan@FreeBSD.org.
2003-12-07 09:36:06 +00:00
christos 1a2b5965a9 Don't try to preload an empty string. 2003-11-25 14:36:49 +00:00
simonb 28817edd35 Restore handling of reloc entries that point to unaligned locations
that seems to have disappeared in rev 1.34.

Thanks to Jason Thorpe for suggesting where to look.
Fixes the simple test case in PR port-mips/23366.
2003-11-19 19:41:57 +00:00
lukem 130ab7336b Rework how MAKEVERBOSE operates:
*	Don't bother prefixing commands with a line of  ${_MKCMD}\
	and instead rely upon "make -s".  This is less intrusive on
	all the Makefiles than the former.  Idea from David Laight.

    *	Rename the variables use to print messages.  The scheme now is:
	    _MKMSG_FOO		Run  _MKMSG 'foo'
	    _MKTARGET_FOO	Run  _MKMSG_FOO ${.TARGET}
	From discussion with Alistair Crooks.
2003-10-21 10:01:19 +00:00
fvdl d83c6c4294 Don't use NULL for integers. 2003-10-21 01:19:10 +00:00
lukem ddff99b7f4 rework to use the newer _MKMSGCREATE (et al) macros 2003-10-19 04:45:01 +00:00
lukem 6cf0d872cd support MAKEVERBOSE 2003-10-19 01:19:10 +00:00
matt fd1caff7c2 Update to new reality. XXX _rtld_bind still needs to be written. 2003-10-06 16:08:35 +00:00
mycroft 65ed3bdcdd Make the effect of the hack clearer. 2003-09-24 10:25:26 +00:00
mycroft 7242c1114c One more tweak... 2003-09-24 10:18:52 +00:00
mycroft 7b234fd232 Make the comment a little more accurate. 2003-09-24 09:59:45 +00:00
mycroft 89ea37c60a Temporary workaround for some binutils/ld lossage. See the comment for more
information.
2003-09-24 09:55:35 +00:00
mycroft 5fb0b88880 Some notes... 2003-09-24 06:20:33 +00:00
enami 9c2e06fe24 Space after the keyword `if'. 2003-09-22 14:37:57 +00:00
mycroft 5bd33bcad6 Back out revision 1.100. There is something screwier going on. 2003-09-07 22:17:43 +00:00