1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00
Mirror of the FreeBSD src repository https://git.FreeBSD.org/src.git .
Go to file
Nate Williams 1e37fc9d59 Changed the terminology for what used to be called the "memorizing"
vector.  Now it is called the "symbol caching" vector.  This was made
possible and unconfusing by other changes that allowed me to localize
everything having to do with the caching vector in the function
reloc_map().

Switched to alloca() for allocating the caching vector, and eliminated
the special mmap-based allocation routines.  Although this was motivated
by performance reasons, it led to significant simplification of the
code, and made it possible to confine the symbol caching code to the
single function reloc_map().

Got rid of the unnecessary and inefficient division loop at the
beginning of rtld().

Reduced the number of calls to getenv("LD_LIBRARY_PATH") to just 1, on
suggestion from <davidg@root.com>.

Added breaks out of the relocation loops when the relocation address is
found to be 0.  A relocation address of 0 is caused by an unused
relocation entry.  Unused relocation entries are caused by linking a
shared object with the "-Bsymbolic" switch.  The runtime linker itself
is linked that way, and the last 40% of its relocation entries are
unused.  Thus, breaking out of the loop on the first such entry is a
performance win when ld.so relocates itself.  As a side benefit, it
permits removing a test from md_relocate_simple() in
../i386/md-static-funcs.c.

Unused relocation entries in other shared objects (linked with
"-Bsymbolic") caused even bigger problems in previous versions of the
runtime linker. The runtime linker interpreted the unused entries as if
they were valid. That caused it to perform repeated relocations of the
first byte of the shared object.  In order to do that, it had to remap
the text segment writable.  Breaking out of the loop on the first unused
relocation entry solves that.

Submitted by:	John Polstra <jdp@polstra.com>
1995-11-02 18:48:15 +00:00
bin I add #include <sys/user.h> 1995-10-28 20:11:18 +00:00
eBones Add the man directory to the SUBDIR list - some pages were bing lost. 1995-11-01 13:38:22 +00:00
etc Remove startup_locale reference 1995-11-02 12:46:20 +00:00
games Prototype atof() so that the -speed option works. Closes bin/733. 1995-09-23 09:44:11 +00:00
gnu Changed the terminology for what used to be called the "memorizing" 1995-11-02 18:48:15 +00:00
include Submitted by: john hay 1995-10-27 06:51:02 +00:00
lib Remove my locale hack. Sigh. 1995-11-02 12:42:42 +00:00
libexec Changed the terminology for what used to be called the "memorizing" 1995-11-02 18:48:15 +00:00
lkm Update if_ppp lkm to pull in the new files... 1995-10-31 20:54:15 +00:00
release Merge in Coranth's latest Apache setup fixes. 1995-10-30 08:04:58 +00:00
sbin Define TRUE & FALSE rather than depending on bogus #includes. 1995-10-29 09:44:09 +00:00
secure Remove LD_NOSTD_PATH unsetenv, it isn't exist anymore 1995-10-24 06:52:36 +00:00
share Remove startup_locale reference. 1995-11-02 12:53:26 +00:00
sys When the sync-on-shutdown fails to clear all buffers, this bit of code 1995-11-02 09:52:40 +00:00
tools malloc.c A program to benchmark and test malloc. 1995-10-15 12:29:12 +00:00
usr.bin Fix the :S modifier to substitute in each word of the variable, according 1995-11-01 12:18:32 +00:00
usr.sbin Merge pppstats from ppp-2.2 onto mainline.. 1995-10-31 21:41:59 +00:00
COPYRIGHT This is the official 4.4 Lite copyright. 1994-09-11 07:53:28 +00:00
CVS-INFO Update the CVS template. 1995-07-23 17:37:22 +00:00
HW.TROUBLE Added the first three entries. Changed the intro a bit. 1994-08-28 20:48:37 +00:00
Makefile Changed "tools" to "build-tools". 1995-10-26 09:24:59 +00:00
README Small tweak - I said that ESC-ESC aborted the install. It actually only 1994-11-10 04:28:15 +00:00
TODO Removed the ps through a pipe project since we decided this was 1995-04-23 21:34:23 +00:00

   -----------------------------------------
       FreeBSD 2.0  ---  ALPHA Release                 ,        ,
   -----------------------------------------          /(        )`
                                                      \ \___   / |
Welcome to the ALPHA release of FreeBSD 2.0 - the     /- _  `-/  '
first public snapshot of our new 4.4BSD Lite based   (/\/ \ \   /\
operating system environment.  This install proce-   / /   | `    \
dure is also at the ALPHA stage, and contains only   O O   ) /    |
the minimum functionality required by an             `-^--'`<     '
*EXPERIENCED* person to install the system.         (_.)  _  )   /
It is our hope, of course, that the feedback         `.___/`    /
provided from this snapshot will                       `-----' /
greatly assist us in making the release   <----.     __ / __   \
of 2.0 much more user friendly.  Your     <----|====O)))==) \) /====
comments and criticisms are very          <----'    `--' `.__,' \
valuable to us, so please don't hesitate               |        |
in contacting us!  Full details on where and            \       /	/\
how to provide feedback are given below.           ______( (_  / \______/
                                                 ,'  ,-----'   |
This install procedure is ALPHA code, and        `--{__________)
may very possibly *DESTROY* the contents of your
ENTIRE DISK!  Please do not proceed with this installation
unless you've adequately backed up your data first!

If any errors occur during this installation, you can see them
by toggling over to the alternate screen - type ALT-F2 to switch
over, ALT-F1 to switch back to the install screen.  The debugging
output on the second screen may be very valuable to us in understanding
your bug report, so please be sure to take note of it when reporting
any failures in the installation!  Thanks!

Menus and scrolling output windows may be traversed with the arrow
and Page Up/Page Down keys.  To suspend the installation at any point,
hit ESC twice.  Hitting TAB will move the focus to different controls.
If you've ever dealt with a DOS installation, you'll know how to deal
with this.

For a more complete description of what's new in this release, please
see the release notes.

For more documentation on this system, it is recommended that you purchase
the 4.4BSD Document Set from O'Reilly Associates and the USENIX Association.
ISBN 1-56592-082-1  We have no connection with O'Reilly, we're just
satisfied customers!

Have fun, and please let us know of any problems you encounter with
this release!

Comments should be sent to:

	hackers@FreeBSD.org

Bug reports should be sent using the `send-pr' utility, if you
were able to get the system installed, otherwise to:

	bugs@FreeBSD.org

And general questions to:

	questions@FreeBSD.org


Please have patience if your questions are not answered right away -
this is an especially busy time for us, and our volunteer resources
are often strained to the limit (if not somewhat past!).

Thanks!

				The FreeBSD Project