|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.21 |
04-Dec-2021 |
skrll |
Add a newline
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base tls-maxphys-base
|
| 1.20 |
10-Jul-2013 |
matt |
Simplify ELFSIZE by using _MIPS_SZPTR
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
| 1.19 |
11-Jul-2010 |
mrg |
branches: 1.19.6; 1.19.12; make sure to look in CFLAGS, COPTS and CPPFLAGS for abi options.
fixes sgimips64 build of n64 ld.elf_so.
|
| 1.18 |
18-Dec-2009 |
mrg |
use COPTS for -G0. replace ${CPUFLAGS:M-mabi=64:M-mabi=o64} with two constructs. the former doesn't seem to work anymore.
|
| 1.17 |
14-Dec-2009 |
matt |
Merge from matt-nb5-mips64: Add N32/N64 support for mips dynamic loader.
|
|
Revision tags: matt-premerge-20091211
|
| 1.16 |
04-Nov-2009 |
skrll |
Fix start symbols for new binutils.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking wrstuden-fixsa-base-1 netbsd-4-0-RELEASE cube-autoconf-base netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 matt-armv6-base matt-mips64-base hpcarm-cleanup-base wrstuden-fixsa-base abandoned-netbsd-4-base netbsd-4-base
|
| 1.15 |
04-Jun-2005 |
lukem |
branches: 1.15.32; Explicitly prefix ld(1) options in LDFLAGS with "-Wl," rather than using the ${LDFLAGS:@F@-Wl,$F@} make substitution because that breaks if LDFLAGS is already set.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-3-base netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
| 1.14 |
21-Feb-2004 |
skrll |
Move common LDFLAGS into Makefile from arch/*/Makefile.inc
|
| 1.13 |
20-Feb-2004 |
skrll |
Whitespace.
|
|
Revision tags: fvdl_fs64_base
|
| 1.12 |
24-Sep-2002 |
mycroft |
-I${.CURDIR} is done at the top-level, so there's no need to do it here.
|
| 1.11 |
12-Sep-2002 |
mycroft |
This ld script is now unnecessary.
|
| 1.10 |
12-Sep-2002 |
mycroft |
Snapshot of work to make MIPS ld.elf_so relocatable.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.9 |
20-Dec-2001 |
thorpej |
branches: 1.9.2; Grumble. Put compiler options back into CPPFLAGS for now, since they're needed to build .S files with the correct PIC options.
XXX Really needs cleanup in <bsd.*.mk> to do this properly.
|
| 1.8 |
14-Dec-2001 |
thorpej |
Don't put compiler options into CPPFLAGS.
|
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base
|
| 1.7 |
07-Jun-1999 |
castor |
This should use MACHINE_ARCH and test on "mipseb" instead of MACHINE and "newsmips"
|
| 1.6 |
16-Apr-1999 |
simonb |
Remove the ld.so link for ld.elf_so - the compat13 package takes care of this.
|
|
Revision tags: netbsd-1-4-base
|
| 1.5 |
27-Feb-1999 |
pk |
branches: 1.5.2; Introduce pre-preocessor symbol RTLD_INHIBIT_COPY_RELOCS. Currently, only mips does not include COPY_RELOCs code.
|
| 1.4 |
16-Jan-1999 |
christos |
PR/6824: Erik Bertelsen: Missed arch directory in recent move.
|
| 1.3 |
11-May-1998 |
mhitch |
${DESTDIR} isn't needed - which isn't what the example in /usr/share/mk/bsd.README seems to indicate.
|
| 1.2 |
26-Mar-1998 |
thorpej |
branches: 1.2.2; Make this work with objdirs.
|
| 1.1 |
25-Mar-1998 |
mhitch |
Add support for mips.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421 phil-wifi-20200411 phil-wifi-20200406 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base bouyer-quota2-nbase bouyer-quota2-base matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base mjf-devfs2-base yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-pf42-base keiichi-mipv6-base cube-autoconf-base hpcarm-cleanup-base
|
| 1.4 |
12-Sep-2002 |
mycroft |
This ld script is now unnecessary.
|
| 1.3 |
12-Sep-2002 |
mycroft |
Snapshot of work to make MIPS ld.elf_so relocatable.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
|
| 1.2 |
26-Mar-2000 |
mycroft |
branches: 1.2.6; Don't try to get libc_pic from the libc compile directory. If we're doing a build, libc has already been installed.
|
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
|
| 1.1 |
25-Mar-1998 |
mhitch |
branches: 1.1.2; Add support for mips.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.78 |
30-Nov-2024 |
christos |
Create a new header lwp_private.h to contain _lwp_getprivate_fast, _lwp_gettcb_fast, _lwp_settcb and remove them from mcontext.h, so that: 1. we don't need special hacks to hide them 2. we can include <lwp.h> where needed to get the necessary prototypes without redefining them locally.
|
| 1.77 |
06-Aug-2024 |
riastradh |
ld.elf_so(1): Cite reference for MIPS ELF relocations.
This doesn't cover everything -- it's missing the thread-local storage relocations -- but it's a start.
PR lib/58455: Missing references for processor-specific ELF relocation semantics
|
| 1.76 |
03-Aug-2024 |
riastradh |
ld.elf_so(1): Nix trailing whitespace.
No functional change intended.
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.75 |
04-Jun-2023 |
joerg |
branches: 1.75.2; Fix interactions of initial-exec TLS model and dlopen
(1) If an initial-exec relocation was used for a non-local symbol (i.e. the definition of the symbol is in a different DSO), the computation of the static TLS offset used the wrong DSO. This would effectively mean the wrong address was computed (PR toolchain/50277, PR pkg/57445).
Fix this by forcing the computation of the correct DSO (the one defining the symbol).
This code uses __UNCONST to avoid the vast interface changes for this special case.
(2) If symbols from a DSO loaded via dlopen are used with both global-dynamic/local-dynamic and initial-exec relocations AND a initial-exec relocation was resolved first in a thread, a split brain situation could exist where the dynamic relocations would use one memory block (separate allocation) and the initial-exec relocations the static per-thread TLS space.
(3) If the initial-exec relocation in (2) is seen after any thread has already used a GD/LD allocation, bail out. Since IE relocations are used only in the GOT, this will prevent the dlopen. This is a bit more aggressive than necessary, but a full blown reference counting doesn't seem to be justified.
|
|
Revision tags: netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
| 1.74 |
06-Mar-2021 |
christos |
branches: 1.74.6; Don't or the got object in, just assign it. Fixes cc -mabi=64 hello.c -lcrypto Now all 64 bit binaries work, and I tested that we did not break the 32 bit ones XXX: That 0x80000000 seems wrong for 64 bit stuff.
|
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
|
| 1.73 |
03-Nov-2019 |
christos |
simplify pointer gymnastics that sprained gcc-8
|
|
Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.72 |
19-Jan-2018 |
christos |
branches: 1.72.4; 1.72.6; don't forget to eat the high bits.
|
| 1.71 |
25-Dec-2017 |
maya |
Fix typo in comment
from freebsd
|
| 1.70 |
24-Dec-2017 |
maya |
fix debug build
|
| 1.69 |
10-Aug-2017 |
joerg |
Add IRELATIVE support for ARM, X86 and PowerPC.
|
|
Revision tags: perseant-stdc-iso10646-base
|
| 1.68 |
21-Jun-2017 |
joerg |
Replace last use of r_type.
|
| 1.67 |
20-Jun-2017 |
joerg |
Fix C&P bug. Deal with more MIPS hacks overriding def.
|
| 1.66 |
19-Jun-2017 |
joerg |
Replace COMBREL with just-in-time check in _rtld_relocate_nonplt_objects.
The COMBREL logic predates thread-safety of the dynamic linker and breaks the use of shared locks for the common symbol lookup case. It is unlikely to provide any benefit for lazy binding or PLT lookups, so provide equivalent functionality in the non-PLT relocation handling loop by checking if the symbol used by the current relocation is the same as the one used during the last lookup. No inter-object cachine is done as it is also unlikely to be benefical.
Testing with Firefox startup on AMD64 shows a small performance gain by the new method.
|
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.65 |
20-Feb-2016 |
christos |
branches: 1.65.8; where is already void *
|
| 1.64 |
19-Feb-2016 |
macallan |
make debug code compile again from christos
|
| 1.63 |
25-Aug-2014 |
joerg |
Add basic support for indirect functions. It allows providing a public function symbol with an implementation choosen at run time. Refactor calls to functions by address in ld.elf_so to create temporary function descriptors on the stack, if the address is not leaked outside.
Limitations: - no support for initialising static storage with function pointers - no support for unnamed resolver functions
Inspired by FreeBSD's r228435 by kib@freebsd.org.
|
|
Revision tags: netbsd-7-0-2-RELEASE netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base
|
| 1.62 |
25-Mar-2011 |
joerg |
branches: 1.62.22; Add basic locking to ld.elf_so.
|
| 1.61 |
15-Mar-2011 |
matt |
Add support for the MIPS TLS reloc types in shared libraries.
|
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
| 1.60 |
24-Sep-2010 |
matt |
Make the GOT1_MASK 64-bit clean.
|
| 1.59 |
06-Aug-2010 |
joerg |
Reduce header pollution for mdreloc.c. Make Obj_Entry argument of _rtld_relocate_nonplt_objects non-const in preparation for TLS support.
|
| 1.58 |
14-Jan-2010 |
skrll |
Shut gcc up.
|
| 1.57 |
13-Jan-2010 |
christos |
PR/39240: Satoshi Suetake: Don't fail when attempting to resolve weak symbols when we are doing immediate binding, leave them alone and they will be dealt with later during lazy binding. From skrll@
|
| 1.56 |
14-Dec-2009 |
matt |
Merge from matt-nb5-mips64: Add N32/N64 support for mips dynamic loader.
|
|
Revision tags: matt-premerge-20091211
|
| 1.55 |
29-Aug-2009 |
jmmv |
Remove trailing \n in calls to _rtld_error: a newline is automatically added by a call to the function.
|
| 1.54 |
20-May-2009 |
christos |
fix signed/unsigned comparisons and const cast away (untested)
|
|
Revision tags: netbsd-5-1-5-RELEASE netbsd-5-1-4-RELEASE netbsd-5-1-3-RELEASE netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
| 1.53 |
24-Jul-2008 |
matt |
branches: 1.53.4; 1.53.10; Refactor common code to _rtld_relocate_plt_object to i386 and arm so they act like the other versions. In _rtld_bind, if the result is 0, call _rtld_die. Initialize _rtld_sym_zero.st_value to -_rtld_objself.maprelocbase. Now when the symbol is resolved, st_value + maprelocbase will equal 0 and the above check in _rtld_bind will fire and a call to NULL will be avoided.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking wrstuden-fixsa-base-1 netbsd-4-0-RELEASE cube-autoconf-base netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 matt-armv6-base matt-mips64-base hpcarm-cleanup-base wrstuden-fixsa-base abandoned-netbsd-4-base netbsd-4-base
|
| 1.52 |
28-Jun-2006 |
simonb |
branches: 1.52.20; Fix unaligned loads and stores generated by gcc4. Problem described in http://mail-index.NetBSD.org/tech-toolchain/2006/06/27/0001.html. This cleaner version of the patch from Christos - thanks!
|
| 1.51 |
03-Apr-2006 |
skrll |
Remove empty lines.
|
| 1.50 |
04-Mar-2006 |
skrll |
Add LD_BIND_NOW support for mips.
This is the last arch to be done so remove the large ugly #if defined() stuff in reloc.c.
|
| 1.49 |
24-Dec-2005 |
perry |
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
| 1.48 |
20-Aug-2005 |
skrll |
Add __RCSID.
|
| 1.47 |
07-Jun-2005 |
he |
Initialize a bunch of local variables in _rtld_relocate_nonplt_self(). Found by -Wuninitialized while compiling for newsmips.
Reviewed by lukem.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
|
| 1.46 |
15-Dec-2004 |
skrll |
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.
|
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
| 1.45 |
19-Nov-2003 |
simonb |
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.
|
| 1.44 |
24-Sep-2003 |
mycroft |
Make the effect of the hack clearer.
|
| 1.43 |
24-Sep-2003 |
mycroft |
One more tweak...
|
| 1.42 |
24-Sep-2003 |
mycroft |
Make the comment a little more accurate.
|
| 1.41 |
24-Sep-2003 |
mycroft |
Temporary workaround for some binutils/ld lossage. See the comment for more information.
|
| 1.40 |
26-Jul-2003 |
mrg |
include <string.h> or <stdlib.h> for all prototypes
|
| 1.39 |
24-Jul-2003 |
skrll |
ANSIfy and de-__P().
|
| 1.38 |
17-Jul-2003 |
skrll |
Correct the in_plt parameter of a couple of _rtld_find_symdef calls.
The mips_reloc.c case is a no-op as _rtld_symlook_obj ignores in_plt for MIPS.
OK'ed by Charles.
|
|
Revision tags: fvdl_fs64_base
|
| 1.37 |
05-Oct-2002 |
mycroft |
Minor cleanup.
|
| 1.36 |
26-Sep-2002 |
mycroft |
Add an iffy heuristic that allows us to do lazy binding with new objects, but detect old objects and deal with them.
|
| 1.35 |
25-Sep-2002 |
mycroft |
Minor cleanup, for clarity.
|
| 1.34 |
25-Sep-2002 |
mycroft |
Resolve the GOT before doing relocations. Then, when doing relocations, for symbols in the global part of the symbol table, use the updated GOT entry rather than doing a lookup. (This provides the same effect as `-z combreloc' on other platforms -- at most one lookup is done per symbol.)
Unfortunately, it is necessary to turn off lazy binding on MIPS. As the comment says:
* XXX DANGER WILL ROBINSON! * You might think this is stupid, as it intentionally * defeats lazy binding -- and you'd be right. * Unfortunately, for lazy binding to work right, we * need to a way to force the GOT slots used for * function pointers to be resolved immediately. This * is supposed to be done automatically by the linker, * by not outputting a PLT slot and setting st_value * to 0, but GNU ld does not do so reliably.
|
| 1.33 |
14-Sep-2002 |
thorpej |
It is possible for reloc entries to point to unaligned locations; handle this.
|
| 1.32 |
13-Sep-2002 |
mycroft |
In _rtld_bind_mips(), if the symbol is undefined, die.
|
| 1.31 |
13-Sep-2002 |
mycroft |
Add an explanatory comment.
|
| 1.30 |
13-Sep-2002 |
mycroft |
The sense of the SHN_ABS test has always been reversed. Fortunately nobody ever tried to reference stuff like _DYNAMIC_LINK and _gp_disp in C code...
|
| 1.29 |
13-Sep-2002 |
mycroft |
Put back the lazy binding. For some bizarre reason, the linker occasionally does not create a PLT entry for a symbol, so we test st_value!=0 to see whether we can do a PLT fixup.
|
| 1.28 |
13-Sep-2002 |
mycroft |
Er, turn off lazy binding for the moment. It doesn't seem to be fully working.
|
| 1.27 |
13-Sep-2002 |
mycroft |
Simplify the GOT relocation code somewhat.
|
| 1.26 |
13-Sep-2002 |
mycroft |
Actually do lazy binding on this platform.
|
| 1.25 |
13-Sep-2002 |
mycroft |
Remove an old comment.
|
| 1.24 |
13-Sep-2002 |
mycroft |
_rtld_bind() is not used on MIPS. Should probably move it to MD code.
|
| 1.23 |
12-Sep-2002 |
mycroft |
Nuke -DRTLD_RELOCATE_SELF and `dodebug' from orbit.
|
| 1.22 |
12-Sep-2002 |
mycroft |
_rtld_bind_start() is not used in MI code, so declare it in the MD code.
|
| 1.21 |
12-Sep-2002 |
mycroft |
Slight tweak.
|
| 1.20 |
12-Sep-2002 |
mycroft |
The GOT is Elf_Addr[], not Elf_Word[]...
|
| 1.19 |
12-Sep-2002 |
mycroft |
Clean up a little.
|
| 1.18 |
12-Sep-2002 |
mycroft |
Move GOT relocation code from _rtld_setup_pltgot() to _rtld_relocate_nonplt_objects(). Add GOT self-relocation in _rtld_relocate_nonplt_self(). MIPS ld.elf_so can now relocate itself.
|
| 1.17 |
12-Sep-2002 |
mycroft |
Snapshot of work to make MIPS ld.elf_so relocatable.
|
| 1.16 |
06-Sep-2002 |
mycroft |
Pass down an additional flag to _rtld_relocate_nonplt_objects() which indicates whether we're relocating ld.elf_so itself. Use this in some places rather than hackish tests on `dodebug'. (The Alpha and HPPA `dodebug' tests were actually noops, because RTLD_RELOCATE_SELF is not set, and therefore dodebug is always true.)
|
| 1.15 |
06-Sep-2002 |
mycroft |
Introduce a new flag, `isdynamic', which is used to remember whether the executable was of type ET_DYN. Use this instead of `mainprog' to determine whether we need to do base-relative fixups of the PLT. (This allows loading non-relocatable objects, should we desire to do that at some point...)
|
| 1.14 |
06-Sep-2002 |
mycroft |
More const poisoning. Now the entire _rtld_bind() path useds a const Obj_Entry.
|
| 1.13 |
06-Sep-2002 |
mycroft |
Re-poison a lot of consts, now that the mark shite is gone.
|
| 1.12 |
06-Sep-2002 |
mycroft |
Split _rtld_relocate_plt_object() into two MD functions: * _rtld_relocate_plt_lazy() fixes up all the relocs pointing to the PLT. (On most platforms it just does a simple base-relative fixup; on SPARC it does nothing.) * _rtld_relocate_plt_object() does immediate binding for a PLT entry. The basic gist is that this saves a bit of time on SPARC (where the iteration through the pltrela table was gratuitous), and a little less time on all other platforms. A whole lot of #ifdef'ed crap is moved out of reloc.c, too.
NOT tested on: hppa sh x86_64
|
| 1.11 |
05-Sep-2002 |
mycroft |
Partially fix up some debug printf()s that don't need to use defobj.
|
| 1.10 |
05-Sep-2002 |
mycroft |
A few things: * Pass a symbol number to _rtld_find_symdef(), not a r_info. * Don't try to do a symbol lookup when we find an unsupported relocation; instead get the symbol name from the referencing object's strtab. * Add preliminary support for `-z combreloc'-style startup optimization on i386, `#ifdef COMBRELOC'.
|
| 1.9 |
05-Sep-2002 |
mycroft |
Rename _rtld_relocate_nonplt_object() to _rtld_relocate_nonplt_objects(), and push the outer loop into it. This actually shaves a couple % off startup time at least on PCs.
|
| 1.8 |
05-Sep-2002 |
mycroft |
Split MIPS relocation goo into mips_reloc.c.
|
| 1.7 |
05-Sep-2002 |
junyoung |
Remove unused arguments of _rtld_find_symdef().
|
| 1.6 |
05-Sep-2002 |
mycroft |
Make _rtld_setup_pltgot() a consistent interface on all platforms.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.5 |
24-Nov-2001 |
rafal |
branches: 1.5.2; Fix bug found by Izumi Tsutsui -- if _rtld_find_symdef returned NULL, the runtime linker would crash. Restore behavior similar to version 1.3, where the runtime linker continues on, ignoring the symbol.
|
| 1.4 |
14-Oct-2001 |
rafal |
Fix how underfined weak symbols are treated -- before, ld.so would do nothing with them, rather than defaulting them to zero. This caused breakage with the drawf EH stuff and init/fini code when they weren't used by the caller (and hence the appropriate handlers were left undefined). Also fix an un- initialized variable in symbol.c that only MIPS MD code tripped over.
|
|
Revision tags: netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base wrstuden-devbsize-19991221 wrstuden-devbsize-base
|
| 1.3 |
07-Nov-1999 |
mycroft |
branches: 1.3.4; Make this more likely to compile with ld.elf_so changes. (But this is untested.)
|
|
Revision tags: comdex-fall-1999-base
|
| 1.2 |
25-Oct-1999 |
kleink |
Update to match new SVR4-style definition names in <sys/exec_elf.h>.
|
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
|
| 1.1 |
25-Mar-1998 |
mhitch |
branches: 1.1.2; 1.1.6; Add support for mips.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.11 |
03-Aug-2024 |
riastradh |
ld.elf_so(1): Nix trailing whitespace.
No functional change intended.
|
|
Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
| 1.10 |
14-Dec-2009 |
matt |
branches: 1.10.58; Merge from matt-nb5-mips64: Add N32/N64 support for mips dynamic loader.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-premerge-20091211 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking wrstuden-fixsa-base-1 netbsd-4-0-RELEASE cube-autoconf-base netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 matt-armv6-base matt-mips64-base hpcarm-cleanup-base netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE wrstuden-fixsa-base abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-4-base netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-3-base netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base fvdl_fs64_base
|
| 1.9 |
05-Oct-2002 |
mycroft |
branches: 1.9.44; Minor cleanup.
|
| 1.8 |
26-Sep-2002 |
mycroft |
Add an iffy heuristic that allows us to do lazy binding with new objects, but detect old objects and deal with them.
|
| 1.7 |
24-Sep-2002 |
mycroft |
DOH! Adjust all the stack slots in _rtld_bind_start() so that the saved $a0 is not in _rtld_bind_mips()'s $a3 argument save area.
|
| 1.6 |
12-Sep-2002 |
mycroft |
Update comments.
|
| 1.5 |
12-Sep-2002 |
mycroft |
Snapshot of work to make MIPS ld.elf_so relocatable.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-4-PATCH003 netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
|
| 1.4 |
28-Mar-1999 |
simonb |
branches: 1.4.12; Don't include <machine/regdef.h>.
|
| 1.3 |
18-Jan-1999 |
castor |
Avoid confusing various C preprocessors by avoiding # [0-9]
|
| 1.2 |
09-Apr-1998 |
mhitch |
branches: 1.2.2; Oops - when assembled with PIC, the jal gets expanded, so what used to be in the branch delay slot was no longer getting executed at the proper time. This resulted in a corrupt ps_strings pointer and caused programs trying to use ps_strings to fail.
|
| 1.1 |
25-Mar-1998 |
mhitch |
Add support for mips.
|