Commit Graph

2859 Commits

Author SHA1 Message Date
matt 5d1d1ac212 Print out &_DYNAMIC too. 2013-05-02 21:11:18 +00:00
matt 6b1442b03a Print out PT_DYNAMIC address for objmain.
Print out &_DYNAMIC too.
2013-05-02 21:11:03 +00:00
matt 25c44086c9 Changes for MKCOMPAT for earm. 2013-04-27 06:24:22 +00:00
matt 3498abfd33 Use __printflike and __dead instead of __attributes__ 2013-04-25 14:16:37 +00:00
matt 0504785998 Use phdr as start of phdrs (duh) 2013-04-25 13:45:15 +00:00
matt f0744dd4e8 Use ph, not phdr, consistently. 2013-04-25 13:26:17 +00:00
matt e4c78a6811 Use relocbase, not mapbase. 2013-04-25 13:15:26 +00:00
matt b469c1cb35 Don't assume that PT_PHDR is always first. 2013-04-25 13:14:41 +00:00
skrll afe1984da4 Adjust exidx_start by relocbase 2013-04-25 12:28:59 +00:00
skrll d4d42c7f62 Handle PT_ARM_EXIDX when mapping objects. 2013-04-25 09:01:23 +00:00
matt 44eef346cd Only include unwind.h if _RTLD_SOURCE 2013-04-25 06:37:40 +00:00
matt 5417f425b2 Add support for PT_ARM_EXIDX and __gnu_Unwind_Find_exidx for libgcc's support
of the ARM EHABI.
2013-04-24 22:37:20 +00:00
matt e3feeaa73b Add a ld.elf_so internals version of __gnu_Unwind_Find_exidx for that the
libgcc EHABI can find the exception tables for a supplied PC.
2013-04-24 22:32:29 +00:00
christos f903624708 split debug info for rtld 2013-04-05 20:16:40 +00:00
lukem 1baf19f383 Convert from __attribute__(foo) to the __foo equiv in <sys/cdefs.h> 2013-03-21 05:53:01 +00:00
lukem f4ec715007 Update version to 20110904 for the user-visible change I made back then:
Reduce priority of syslog message if getpeername returns ENOTCONN.
   PR bin/18934 by Greg A. Woods (with supplied fix).
2013-03-21 00:17:26 +00:00
mrg 5dc860cdbb fix PR 47629, using a slightly different patch to the one in the PR.
this modifies escape_rfc3986() to escape '%' itself, and to properly
track the buffer size and nul out the final byte, not some random
byte that may actually be unmapped.
2013-03-09 21:36:04 +00:00
ryoon f29f0747d4 Fix typo, releaases. 2013-03-02 16:45:31 +00:00
martin b7c828d16f Make sure UUDECODE_FILES is empty if we do not have an old ld.so_aout
(on architectures that never used a.out)
2013-02-05 15:19:18 +00:00
matt 2f0a3a2017 There are other little endian arm machine_arches other than "arm" 2013-02-05 07:22:59 +00:00
christos f7f3399458 don't free cp before we copy it! 2013-01-24 17:57:29 +00:00
matt f11367c485 Handle CPUFLAGS being empty 2013-01-23 02:31:54 +00:00
matt 69c1ba57d9 Make sure CFLAGS is not empty. 2013-01-23 02:18:50 +00:00
matt 552187152c If you are using aapcs, you must be using INITFINI 2013-01-22 22:49:09 +00:00
dholland dcd34a91c5 Stuff UFS_ in front of a few of ufs's symbols to reduce namespace
pollution. Specifically:
   ROOTINO -> UFS_ROOTINO
   WINO -> UFS_WINO
   NXADDR -> UFS_NXADDR
   NDADDR -> UFS_NDADDR
   NIADDR -> UFS_NIADDR
   MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN
   MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency)

Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have
the same values in ext2fs and ffs.

No functional change intended.
2013-01-22 09:39:11 +00:00
dsl c8b3cc05d4 Fix the other lwp_park() to pass 0 for the 'unpark' lwp. 2012-12-16 23:00:46 +00:00
dsl 1ba527af78 You need to pass 0 (not -1) to lwp_park() if you don't also
want to do an unpark.
Clearly this code path was never tested!
Needs pullup to netbsd-6
2012-12-16 11:15:21 +00:00
pgoyette 866736a181 Minor typo 2012-12-04 22:42:14 +00:00
apb 6e8c6cbb85 Add support for R_386_TLS_TPOFF32. This patch was created by
Nick Hudson for PR 47061.
2012-11-07 07:24:46 +00:00
christos 5d69c93985 Only include the headers we use and remove useless variable. 2012-11-04 21:57:40 +00:00
christos 7dd937fd24 if you are going to use utmpx.h, include it. 2012-11-04 21:35:45 +00:00
christos 92227bd148 remove useless include (sys/stat.h) and add useful one (stdio.h) 2012-11-04 21:14:59 +00:00
christos bef47ea987 include pwd.h for password stuff 2012-11-04 20:46:46 +00:00
dholland 9d2c006837 Improve the diagnostic messages for invalid/non-ELF files. Proposed a
while back; I forget the context. Has been sitting in one of my trees
awaiting a test run since, apparently, August 2011.
2012-10-13 21:13:07 +00:00
riastradh 6f24a346a4 On failure in _rtld_dlcheck, call _rtld_error, not xwarnx.
Callers need not call _rtld_error themselves now.

Fixes PR lib/41760.  Should add the test case from the PR too.
2012-10-01 03:03:46 +00:00
plunky faaf3691d2 does not need -I${NETBSDSRCDIR}/sys/dist/ipf here, the files are
installed in /usr/include/netinet
2012-09-15 17:45:35 +00:00
joerg 067600c8cf Revert last, it breaks the tricks xsrc uses. 2012-08-23 21:21:14 +00:00
joerg 8e96262375 Remove SHLIBINSTALLDIR and SHLINKINSTALLLIBDIR. Add rpath entries, if
SHLIBDIR differs from /usr/lib.
2012-08-23 15:45:02 +00:00
matt e3dfed33b6 Add .init_array/.fini_array support (conditionalized on HAVE_INITFINI_ARRAY). 2012-08-15 03:46:06 +00:00
matt 4389fd1152 Add a comment for EABI. Use "pop" instructions to save one instruction. 2012-08-13 02:53:25 +00:00
matt e43469a595 Don't abuse DBG, use COPTS instead. 2012-08-04 15:17:16 +00:00
martin 972dd84db2 Try to make dbg() printfs realy ELFSIZE independent 2012-07-25 22:51:04 +00:00
martin 0180ae1c0a Add special handling needed for OLO10 relocations.
First part of fixing PR port-sparc64/46724.
2012-07-22 09:21:03 +00:00
martin e97494f3ca Remove a debug assert that does not hold for PIE (e.g. phdr = 0x40, but
obj has not been mapped at 0, so obj->phdr is 0x100040).
OK: skrll
2012-07-22 09:16:35 +00:00
mrg 1be9745405 when generating URIs escape various characters as specified in RFC 3986.
this makes, among other things, files/dirs with "?" work with dir indexing.
2012-07-19 09:53:06 +00:00
darrenr 3ec957d580 bin/46703: BSD r-commands use wrong source address for stderr
http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=46703
Bump libc minor for the addition of rresvport_af_addr()
2012-07-14 15:06:26 +00:00
roy d56846af22 Don't attempt to parse a termcap/terminfo string ourselves;
always use tputs(3).
2012-06-28 08:55:10 +00:00
wiz df639c6d0d - Remove redundant argument to (successive) `.Nm' macro;
- copy exact line from root's crontab(5) file (and the user name
  is indeed unneeded, as root's crontab(5) file is not the system's
  one);
- reword the warning: cron(8) _is_ running, by default.

From patch by Bug Hunting.

While here, remove xref to itself.
2012-06-20 09:43:51 +00:00
dholland 94ccf4d58b Make WARNS=5 the default here. 2012-06-19 06:10:09 +00:00
dholland c5642eeaf7 Pass WARNS=5 2012-06-19 06:06:34 +00:00
roy 258cf0abec Add capfile(5) to describe the termcap format.
Adjust various man pages and other documentation to point to capfile(5)
instead of termcap(5).
Remove getcap(3) as curses hasn't been building it for a long time.
Punt wrterm.c as tset no longer uses it.
2012-04-21 12:27:24 +00:00
joerg 1736013665 Make load_threshold double and restore original value of 0.2.
From NAKAJIMA Yoshihiro.
2012-04-16 10:48:27 +00:00
joerg 53baf6b85e Don't assign non-integral constants to integral variables. 2012-04-12 11:46:14 +00:00
joerg b25f8d4458 Use the same loop order for freeing as for allocation. Simpler code and
easier to process for analyzers.
2012-04-12 10:30:17 +00:00
joerg ba562931eb This version of __diagssert13 is dead. 2012-03-16 11:44:54 +00:00
joerg 66dd2755f5 Add __printflike attribution to use vprintf and friends with an argument
as format string.
2012-03-15 02:02:20 +00:00
christos 749108f9b9 Add __diagassert13() so that if libc is compiled with _DIAGNOSTIC, it does
not end up bringing in all of stdio.
XXX: This is temporary.
2012-03-15 00:16:07 +00:00
joerg 62451b58c9 Add BOZO_PRINTFLIKE for functions that pass an argument and va_arg to
a vprintf-like function.
2012-03-14 23:47:19 +00:00
joerg 8ae54e9304 Mark _rtld_debug_state as not to be inlined. Add an explicit instruction
barrier to prevent removal of calls to it.
2012-03-13 21:00:31 +00:00
joerg f05babd200 Avoid using computed string as format string, just print it as string. 2012-02-29 23:38:46 +00:00
wiz 00872173ab Bump date for previous. Use more markup. 2012-02-20 09:45:22 +00:00
elric f082d14a0d Check in very basic compressed file support. httpd will now serve
a precompressed .gz file if it exists, the client claims to support
gzip and the request is not ranged.
2012-02-20 09:26:56 +00:00
elric 982f9a199b Use a ``certificate chain file'' rather than a ``certificate file'' so
that bozohttpd can be used with non-toplevel certs.
2012-02-20 08:40:46 +00:00
joerg 52a4c27e3e Add _dlauxinfo helper function to provide access to the ELF auxilary
vector. This can normally be found via __ps_strings, but libc is
initialised too early when linked dynamically and doesn't have access to
it yet, so provide an alternative mechanism via ld.elf_so.
Bump libc minor.
2012-02-16 23:00:38 +00:00
joerg 410d0f4380 Import the new apropos/whatis.
This code has been developed by Abhinav Upadhyay as part of Google's Summer
of Code 2011. It uses libmandoc to parse man pages and builds a Full
Text Index in a SQLite database. The combination of indexing the full
manual page, filtering out stop words and ranking individual matches
based on the section gives a much improved user experience.

The old makewhatis and friends are kept under MKMAKEMANDB=no for now.
2012-02-07 19:13:24 +00:00
perseant ccf39d2d9b Shut down the cleaner earlier if the filesystem is unmounted. 2012-02-02 03:47:11 +00:00
dholland a577f74f5b libquota no longer requires libprop. Also remove some other no-longer-used
.PATH'd-in bits from repquota.
2012-02-01 17:53:01 +00:00
joerg 4c70cdf100 Use __dead 2012-01-10 23:39:11 +00:00
christos 8ec0ca7829 PR/45805: Borodin Oleg: telnet/telnetd with -DAUTHENTICATION -DENCRYPTION
(rfc2941)
- separate MKCRYPTO from USE_KERBEROS
- WARNS=4
2012-01-09 16:36:48 +00:00
dholland 24118eee5e Update rquotad to use the new libquota API. 2012-01-09 15:37:34 +00:00
skrll 1b54bd1886 Implement lazy binding on hppa. rump_server needs it!?!?!
Mostly from OpenBSD.
2012-01-06 10:38:56 +00:00
perseant 72d61f7290 In lfs_cleanerd, check errno earlier, to avoid premature exit when the
real errno was EAGAIN.

When coalescing, check against NULL to avoid seg fault.
2012-01-02 21:35:17 +00:00
christos 1e34420a70 there is a macro for that, use it. 2011-12-23 16:56:54 +00:00
joerg e86a1635be Align in the stack before calling _rtld in the way the x86_64 ABI
specifies. This is necessary to ensure that init functions are always
called with the correct alignment, e.g. in case they use SSE
instructions.
2011-12-11 22:07:26 +00:00
joerg 934a3ac455 Mark xassert as __dead 2011-12-11 11:05:11 +00:00
skrll df83e35987 Remove unused file. 2011-12-05 07:36:32 +00:00
skrll 248fe9e5bd Use the tlsoffset from the correct object. 2011-12-04 16:53:08 +00:00
skrll 8737e6c85f Restore backwards compatibility by removing unnecessary addition of
dlvsym to Obj_Entry.

Add some comments.
2011-12-02 09:06:49 +00:00
joerg 5b3faf1c05 Unbreak RTLD_NEXT and co on platforms that don't inline or tail call
do_dlsym.
2011-11-25 21:27:15 +00:00
dholland 51d1d7e7c4 Rename struct ufs_quota_entry -> struct quotaval. 2011-11-25 16:55:05 +00:00
joerg 7878f85385 Replace if() NADA else if() NADA else continue logic with one explicit
block. Split out the MIPS handling to make it explicit and readable.
2011-11-25 14:39:02 +00:00
joerg 6133e96c53 Add TLS support for m68k. 2011-11-22 15:25:28 +00:00
joerg 10dc456d4b Hook up TLS support on ARM. Tested by martin@, kernel support from matt@ 2011-11-18 16:10:02 +00:00
mrg 41f9e94281 merge bozohttpd 20111118 2011-11-18 09:51:31 +00:00
wiz c54b7cd091 Bump date for previous. 2011-11-17 23:19:30 +00:00
mrg d0ddf3e7e4 allow the -I option to be useful in non-daemon mode, by letting it force
the returned port number
2011-11-17 22:09:12 +00:00
joerg cc2f98ece2 FreeBSD bug report 161344: TLS area for the main thread is set up to
early, if e.g. pointers to functions are used as initializers.
2011-11-17 16:20:11 +00:00
christos 4448e43f58 PR/45542: Henning Petersen: Misplaced parenthesis in rshd.c 2011-10-30 16:54:58 +00:00
chs d7bbed6455 avoid linker warnings with the new binutils by not forcing ld.elf_so
to be soft-float.  the floating-point usage in ld.elf_so is only
because of stdarg functions like printf(), and gcc 4.5 is good
about not actually executing the FP instructions in such functions
unless FP values are passed to them, which ld.elf_so doesn't do.
2011-10-26 15:56:58 +00:00
christos 1f1b5ad097 Don't block SIGTRAP so that on architectures where the debugger needs to
be able to receive sigtrap for breakpoints to work, it can. For example
we are setting breakpoints inside dlopen(), after we've blocked the signal,
so the process keep trapping and looping over the trap instruction without
being able to send the signal. Another way would be to move the
_rtld_debug_state() calls outside the critical section...
2011-10-23 21:06:07 +00:00
plunky f65a48c2ec max WARNS is 4 2011-10-13 17:23:28 +00:00
mrg 4a9d1308c3 obsolete libgcc_pic and friends. all libgcc's are supposed to be pic
for platforms with shlibs already (and are.)

this obsoletes our hacks for the libgcc specs to use libgcc_pic, and
fixes a couple of other issues reported to me directly.
2011-10-07 09:15:21 +00:00
mrg 1862dafe3f match EXIT() with LEAF_ENTRY() so that sizes are actually constants.
fixes binutils 2.21 build issues reported by he and chuq.
2011-09-30 03:05:43 +00:00
mrg b7e0bd3662 match END() with a relevant ENTRY*(). gas 2.21 complains about the
non-constant-ness of the symbol otherwise.
2011-09-26 01:52:22 +00:00
chs b398f9d2e5 gcc 4.5 generates an extra plabel in ld.elf_so,
so expand the array of preallocated ones.
2011-09-25 13:34:54 +00:00
christos 23c075161b add printflike 2011-09-17 14:25:43 +00:00
christos 8017e7237a log to both syslog and stderr. 2011-09-17 01:50:54 +00:00
plunky 2b8aaed8cd NULL does not need a cast, here 2011-09-16 16:13:16 +00:00
lukem 30781daf0c Reduce priority of syslog message if getpeername returns ENOTCONN.
PR bin/18934 by Greg A. Woods (with supplied fix).
2011-09-04 23:16:41 +00:00
plunky 87d4f6076b Apply casts to cases where xdrproc_t is expected but is not
strictly passed, for example because the second argument is
a different kind of pointer.
2011-08-30 17:06:20 +00:00
joerg 9eba1e423c Use __dead 2011-08-29 20:41:06 +00:00
elric 95bd2d4a1e Remove crypto/dist/heimdal and its associated build infrastructure as
it has been replaced by crypto/external/bsd/heimdal.
2011-08-28 16:21:57 +00:00
joerg 0c18f61e04 Use static. Don't manipulate environ directly, just reset it and use
setenv.
2011-08-27 17:46:34 +00:00
joerg 17941b2b14 staticfy. Use __dead. 2011-08-27 15:46:59 +00:00
joerg c59117b957 ANSIfy. staticfy. Bail out on command line error. Use __dead. 2011-08-27 15:45:52 +00:00
joerg 973abb9784 De-__P. staticfy. Use __dead, __printflike. 2011-08-27 15:40:31 +00:00
joerg 43d0646972 Don't check for __attribute__ being defined, it won't. Check for GCC 3.x
or compatible and define BOZO_PRINTFLIKE / BOZO_DEAD. Fix fallout.
2011-08-27 15:33:59 +00:00
joerg 6839411995 Rename err() to avoid overlap with libc. Mark it dead. 2011-08-27 15:08:58 +00:00
hannken 0456a9b514 Fix typo. 2011-08-21 10:45:33 +00:00
christos 2ead252a82 use const char [] for format. 2011-08-21 09:03:20 +00:00
christos 5353040f23 document non-literal format strings 2011-08-16 10:35:03 +00:00
christos 41592955fd remove gcc-4.5 hack 2011-08-14 11:46:28 +00:00
christos a96758e4b9 XXX: gcc avoid non-literal strings 2011-08-14 11:38:11 +00:00
christos c5e4118a6b consistent debugging info for program headers 2011-08-13 22:25:20 +00:00
christos 9813f2c42a printing the pathname of the shared object is much more useful than the
object's address.
2011-08-13 22:24:57 +00:00
christos 89c8b6528a disable debugging that makes us core dump 2011-08-13 22:24:24 +00:00
mbalmer 631d5867a0 According to the Oxford Dictionary of Etymology, a wether is a male sheep
or ram.
2011-08-01 12:28:53 +00:00
joerg 017dd250ef Fix memset usage. 2011-07-01 02:46:24 +00:00
joerg 30dc9201bb Fix memcpy usage. 2011-07-01 02:46:15 +00:00
uwe d1a523b49d sh3 also needs libgcc_pic for millicode (cf. revision 1.107) 2011-06-27 14:27:56 +00:00
nonaka c52f9a5df2 PR/45015: ld.elf_so: support ELF symbol versioning
Applied latest patch.
2011-06-25 05:45:10 +00:00
mrg c111245a78 apply some -Wno-error and/or -fno-strict-aliasing.
all of this should be looked at closer, but some of them are not
very trivial.
2011-06-22 02:49:41 +00:00
mrg 75e42fa7da remove most of the remaining HAVE_GCC tests that are always true in
the modern world.
2011-06-20 07:43:56 +00:00
christos 94e4c3614b Add libgcc_pic for millicode. 2011-06-05 23:08:17 +00:00
joerg 9ad3c16b3a Use -Wl,-Bsymbolic directly for clang 2011-05-30 16:30:01 +00:00
christos b9972d39ce Don't use division since we are only dealing with powers of 2. 2011-05-25 14:41:46 +00:00
joerg 6c5e962381 Disable use of various X86 extensions since _rtld_bind_start doesn't
save the necessary registers.
2011-05-20 22:22:44 +00:00
joerg 5a156c51e2 Explicitly disable linking against libgcc and friends. 2011-05-20 22:21:32 +00:00
elric 07b0c75a48 We no longer need -I/usr/include/krb5. 2011-04-24 21:42:06 +00:00
elric 5e6c3b7a0c #include <com_err.h> -> #include <krb5/com_err.h>. 2011-04-24 21:18:24 +00:00
jmmv 9ef6767558 List myself as a contributor. 2011-04-24 07:18:59 +00:00
jmmv 94a4f45f78 Remove the "This option..." sentence prefix for all option definitions.
Adjust some sentences so that the new text makes sense.  OK mrg@.
2011-04-24 07:17:02 +00:00
joerg c5f8d1393d Fix a Freudian slip found by rmind 2011-04-23 16:40:08 +00:00
elric 98fbe74f8c Upgrade Heimdal to 1.5pre1 by switching the build from crypto/dist/heimdal
to crypto/external/bsd/heimdal.  The latter was just imported as the head
of the Heimdal tree as of a few days ago.
2011-04-15 18:05:42 +00:00
matt f126fa1c9a Add support for TLS relocations.
From Joerg Sonnenberger
2011-04-12 16:40:04 +00:00
matt 14d704c9e9 Add a workaround for older crt0.o that overwrite r2 (tcb pointer).
(save tcb pointer using _lwp_setprivate in ld.elf_so and retrieve the tcb
via _lwp_getprivate in libc and use it to restore the value in r2).
2011-04-07 02:19:28 +00:00
joerg 278d108904 Revert pthread_atfork related change not intended for commit yet. 2011-04-02 16:49:49 +00:00
joerg 241421a0db Unbreak HPPA 2011-04-02 12:30:41 +00:00
mbalmer 17ab36f183 fix typo, bump date 2011-04-02 07:44:15 +00:00
skrll 45f37e968c Enable TLS for alpha - a 2nd class^Wtier system in pookaBSD^WNetBSD
alpha_reloc.c diff from joerg on port-alpha.
2011-03-31 15:30:31 +00:00
nakayama dbbd50a95f Add missing comma. 2011-03-31 12:47:01 +00:00
mrg a45221975c add .mp4 as video/mp4. 2011-03-31 01:19:37 +00:00
martin 9f905ee41c Add support for TLS relocations 2011-03-30 09:22:29 +00:00
martin 3a4af49105 Add support for 64 bit TLS relocations. 2011-03-30 08:37:52 +00:00
joerg 8fa6585514 Block signals when using the exclusive lock. 2011-03-29 20:56:35 +00:00
jmmv 83bb438905 Add pid file support: if the new -P option is provided, it specifies the
location of the pid file to create.

OKed by mrg@.
2011-03-29 07:22:31 +00:00
joerg e49f915c10 Refine locking scheme around init/fini to not hold the exclusive lock.
Use a simple generation count instead and restart looking for work if it
changed (e.g. due to an dlopen call from an init function).
Leave the possible dlclose() race for now.
2011-03-28 00:37:40 +00:00
joerg 7435c9ba49 exit, not enter 2011-03-27 22:20:51 +00:00
joerg 23a805d314 Handle _rtld_exit as full entry point since other threads may still be
running at the time.
2011-03-27 21:58:50 +00:00
joerg 2feaef06e3 Add some debug messages for explicit rtld entry points 2011-03-27 13:15:34 +00:00