| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
it and link.h prototypes it
Error of my ways pointed out by Peter
|
|
|
|
| |
will compile without error.
|
|
|
|
|
|
|
|
|
|
| |
and forwards compatable with version 3. This is needed to enable storing
a run-time library path in the dynamic linking headers. The crt startup
tries version 4 first, and falls back to version 3, so an executable that
is linked on -current will work with the ld.so on 2.1.x and less.
Reviewed by: nate, jdp
Obtained from: NetBSD
|
| |
|
|
|
|
|
| |
``rm'' -> ``rm -f''
so mv/rm may not ask for confirmation if you are not root
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to 2. This makes them agree with the declarations in libgcc, and
clears the way once again for linking c++rt0.o into all libraries,
and eliminating CPLUSPLUSLIB from <bsd.lib.mk>. (I have not made
that change yet, because there is still a bootstrapping problem
for "make world".)
Also, removed a check which ensured that the constructor count in
the first word of __CTOR_LIST__ was greater than zero before
traversing the list. I had added that check earlier, but it is no
longer necessary, now that there is guaranteed to be at least 2
words in __CTOR_LIST__.
|
|
|
|
|
|
| |
from -stable, until a better solution is found.
Submitted by: Consensus of mailing list and the almighty Jordan :)
|
|
|
|
|
|
| |
Submitted by: John Birrel(L?)
changes for threadsafe operations
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the loop that invokes the static constructors. That makes it safe
to link c++rt0.o into any shared library, even one that does not
have any static constructors. Formerly, doing that would cause a
bus error. If the library has no static constructors, __CTOR_LIST__
comes out as a simple 4-byte COMMON region, and it does not have
the usual NULL word that terminates the list of constructors. This
caused the old code to "call" a garbage address via the non-existent
entry __CTOR_LIST__[1].
The analogous code that invokes the static destructors was already safe.
This change is fully backward-compatible.
Reviewed by: dfr@render.com (Doug Rabson)
|
|
|
|
| |
which included commits to RCS files with non-trunk default branches.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Build a static gcrt0.o (sgcrt0.o) too. Currently only the dynamic gcrt0.o
is used, although -pg forces -static.
Sorted the .o targets.
|
|
|
|
|
| |
so before somebody screws up royally, make sure this always works by
adding a -fno-omit-frame-pointer here.
|
|
|
|
| |
they are used. Saves a few bytes here and there, nothing major.
|
|
|
|
| |
This will be used for -static programs.
|
|
|
|
|
|
|
|
|
|
|
| |
symbols.
An easy example to see this is to develop an X program which links
against Xt, but doesn't add -lX11 to the link line. It will link fine,
but cause run-time errors by ld.so because of missing symbols used by Xt
defined in X11. This patch makes the errors more readable.
Submitted by: jdp@polstra.com (John Polstra)
|
| |
|
|
|
|
|
|
|
| |
specified in the top level Makefiles.
Previously I missed dozens of Makefiles that skip the install after
using `cmp -s' to decide that the install isn't necessary.
|
|
|
|
|
|
|
|
| |
1) Do dependencies.
2) Install all appropriate links to manual pages.
3) Install header file in `beforeinstall' like all the rest.
4) Install header file only if changed.
5) Install object files only if changed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
on dlclose. Also correctly call constructors and destructors for libraries
linked with /usr/lib/c++rt0.o.
Change interpretation of dlopen manpage to call _init() rather than init()
for dlopened objects.
Change c++rt0.o to avoid using atexit to call destructors, allowing dlclose to
call destructors when an object is unloaded.
Change interface between crt0 and ld.so to allow crt0 to call a function on
exit to call destructors for shared libraries explicitly.
These changes are backwards compatible. Old binaries will work with the new
ld.so and new binaries will work with the old ld.so. A version number has
been introduced in the crt0-ld.so interface to allow for future changes.
Reviewed by: GAWollman, Craig Struble <cstruble@singularity.bevc.blacksburg.va.us>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
handling.
Reviewed by: gj
Submitted by: Mark Diekhans <markd@grizzly.com>
|
| |
|
|
|
|
|
|
| |
to check (via getenv) environment variable "ENABLE_STARTUP_LOCALE" at
runtime.
Submitted by: me per Bruce suggestion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(void) setlocale(LC_ALL, "");
It will be easiest way now to make national chars available
for all ctype-oriented programs at once by simple:
setenv LANG Your_National_Charset
Default case (without "LANG" environment
variable) will be fully ANSI compatible (got "C" locale).
If "LANG" variable present, extention becomes active.
Effect of this extention is great: in one time all ctype
oriented programs can accept/print national characters
without any touching source/binary code, it is big win, IMHO.
This method is fully compatible with ISO8859-* and russian koi8-r
too (in general -- with all 8-bit character sets). I think
it is very useful.
I got this idea from Xenix locale implementation.
This extention is even never compiled in, unless you set
setenv STARTUP_LOCALE
before rebuilding crt0.c or corresponding variable in /etc/make.conf
|
|
|
|
|
|
|
|
|
| |
<machine/profile.h>. The old version was writing an incomplete
header without the profrate field that is necessary to handle the
current faster profiling clock. The counters that are where the
the profrate should be are usually 0 and gprof converts a profrate
of 0 to hz so the old version gave times too large by a factor of
profhz/hz = 10.24.
|
| |
|
|
|
|
| |
like on a sun, so #define it to be 0 if we are running BSD >=199306.
|
|
|
|
|
|
|
|
| |
This fixes the problems Warner's having with ctors not being called
again with the latest round of ld changes and updates the file-names to what
Paul is using now.
The name change will not affect anything as we are not (yet) using it.
|
|
|
|
| |
final solution but at least this gets folks running -current up again.
|
| |
|
|
|
|
| |
output to be QMAGIC.
|
| |
|
|
|
|
| |
it is impossible to make gcrt0.o from moncrt0.o and gmon.o without it.
|
| |
|
|
|
|
|
| |
Can get rid of local symbols with "ld -x -r" again.
Made LDSO #ifdef DEBUG.
|
|
|
|
| |
option.
|
| |
|
|
|
|
|
|
|
| |
program. The idea was that these are 'alignment' crap, but the image
is 16byte-aligned without these. Location 0 still doesn't have a 0,
but who cares, binaries wil be built with page zero unmapped in the
near future.
|
| |
|
|
|
|
| |
(Copied directly from NetBSD verbatim)
|
| |
|
|\
| |
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| |
|