Commit Graph

227 Commits

Author SHA1 Message Date
Maciej W. Rozycki 95e7cf295e Fix static-binary lazy FPU context allocation
Long ago static startup did not parse the auxiliary vector and therefore
could not get at any `AT_FPUCW' tag to check whether upon FPU context
allocation the kernel would use a FPU control word setting different to
that provided by the `__fpu_control' variable.  Static startup therefore
always initialized the FPU control word, forcing immediate FPU context
allocation even for binaries that otherwise never used the FPU.

As from GIT commit f8f900ecb9 static
startup supports parsing the auxiliary vector, so now it can avoid
explicit initialization of the FPU control word, just as can dynamic
startup, in the usual case where the setting written to the FPU control
word would be the same as the kernel uses.  This defers FPU context
allocation until the binary itself actually pokes at the FPU.

Note that the `AT_FPUCW' tag is usually absent from the auxiliary vector
in which case _FPU_DEFAULT is assumed to be the kernel default.
2013-09-09 22:36:57 +01:00
Ondřej Bílka f24a6d086b Fix then/than typos. 2013-08-30 18:10:31 +02:00
Ondřej Bílka c0c3f78afb Fix typos. 2013-08-21 19:48:48 +02:00
Maciej W. Rozycki ae9552cf7b Declare __ehdr_start with hidden visibility.
This avoids a linker bug triggering for MIPS SVR4 binaries:

http://sourceware.org/bugzilla/show_bug.cgi?id=15365

and regardless serves as a documentation of intent.
2013-04-25 16:14:49 +01:00
Roland McGrath 288f7d79fe Use __ehdr_start, if available, as fallback for AT_PHDR. 2013-03-28 16:15:48 -07:00
Roland McGrath dc0a026385 Make _dl_phdr pointer to const. 2013-03-28 15:39:32 -07:00
Roland McGrath 3d3436ae68 Consolidate declarations of _dl_phdr, _dl_phnum. 2013-03-28 15:33:57 -07:00
Roland McGrath 9967e003b3 Add sysdeps/init_array to produce empty crt[in].o and use .preinit_array for gcrt1.o 2013-03-12 12:50:13 -07:00
Carlos O'Donell 4e9b599577 Revert GLIBC_PTHREAD_DEFAULT_STACKSIZE changes.
This reverts the change that allows the POSIX Thread default stack size
to be changed by the environment variable
GLIBC_PTHREAD_DEFAULT_STACKSIZE. It has been requested that more
discussion happen before this change goes into 2.18.
2013-03-01 16:18:08 -05:00
Siddhesh Poyarekar e23872c8db Set default stack size from program environment
New environment variable GLIBC_PTHREAD_DEFAULT_STACKSIZE to do this.
2013-03-01 14:15:39 +05:30
Roland McGrath 85bd816a60 Add license exception text to gmon-start. 2013-02-27 14:59:25 -08:00
Joseph Myers daaa7713e9 Remove bounded-pointers build system support. 2013-02-15 15:07:54 +00:00
Joseph Myers e97ed6ddbe Remove bp-sym.h and BP_SYM uses from C code. 2013-02-14 13:12:02 +00:00
Joseph Myers 70d9946a44 Remove __ptrvalue, __bounded and __unbounded. 2013-02-13 23:30:40 +00:00
Roland McGrath f1d70dad53 Remove lots of inline keywords. 2013-02-07 14:44:18 -08:00
Joseph Myers 3a7ac8a0f5 Remove bp-start.h and INIT_ARGV_and_ENVIRON. 2013-02-01 00:06:18 +00:00
Joseph Myers 568035b787 Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
David S. Miller 0549fbba96 Update copyright years.
* catgets/gencat.c: Update copyright year.
	* csu/version.c: Likewise.
	* debug/catchsegv.sh: Likewise.
	* debug/pcprofiledump.c: Likewise.
	* debug/xtrace.sh: Likewise.
	* elf/ldconfig.c: Likewise.
	* elf/ldd.bash.in: Likewise.
	* elf/pldd.c: Likewise.
	* elf/sotruss.ksh: Likewise.
	* elf/sprof.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* login/programs/pt_chown.c: Likewise.
	* malloc/memusage.sh: Likewise.
	* malloc/memusagestat.c: Likewise.
	* malloc/mtrace.pl: Likewise.
	* nscd/nscd.c: Likewise.
	* nss/getent.c: Likewise.
	* nss/makedb.c: Likewise.
	* posix/getconf.c: Likewise.
2013-01-01 00:11:43 -08:00
Joseph Myers 8b748aed2a Support --with-pkgversion and --with-bugurl. 2012-11-09 22:13:45 +00:00
Thomas Schwinge e10bb1072c [BZ #5246] Conditionalize use of PTR_DEMANGLE. 2012-11-04 21:46:30 +01:00
Roland McGrath 93c65d4384 Clean up init-first.c files. 2012-10-01 12:55:34 -07:00
H.J. Lu b1dc5912f8 Update copyright years in csu/libc-tls.c 2012-09-11 06:27:51 -07:00
H.J. Lu b80af2f406 Remove _dl_initial_dtv
* csu/libc-tls.c (static_dtv): Renamed to ...
	(_dl_static_dtv): This.  Make it global.
	(_dl_initial_dtv): Removed.
	(__libc_setup_tls): Updated.
	* elf/dl-tls.c (DL_INITIAL_DTV): New macro.
	(_dl_deallocate_tls): Replace GL(dl_initial_dtv) with
	DL_INITIAL_DTV.
2012-09-06 16:03:32 -07:00
H.J. Lu 0948c3af9d Always check dtv before freeing dtv[-1] 2012-09-06 11:51:52 -07:00
Roland McGrath 35a5b08bd4 Fix libc-start change for IRELless machines. 2012-08-22 12:53:38 -07:00
Roland McGrath 21ad055803 Support static IFUNC calls irrespective of USE_MULTIARCH. 2012-08-21 15:01:27 -07:00
Andreas Jaeger 9eae47cb5b Delete unused csu/.gitignore 2012-05-19 11:35:20 +02:00
Thomas Schwinge 228c019e63 Call __ctype_init in early glibc startup.
This adds the bits missing from fd5bdc0924.
2012-04-02 22:26:43 +02:00
Ulrich Drepper a4300c7a4d Remove distribute variable from Makefiles 2012-03-07 05:17:13 -05:00
Joseph Myers 0e7dfaef51 Remove old initfini mechanism. 2012-02-21 00:46:01 +00:00
Paul Eggert 59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
Andreas Schwab 26ecc33a02 Remove have-initfini and need-nopic-initfini 2012-02-08 20:31:55 +01:00
Joseph Myers 3add8e1353 Support crti.S and crtn.S provided directly by architectures. 2012-02-08 01:45:26 +00:00
Ulrich Drepper a0da5fe1e4 More fallout from supporting only ELF 2012-01-08 00:45:01 -05:00
Ulrich Drepper 0269750ca6 Remove non-ELF support 2012-01-07 20:30:26 -05:00
Ulrich Drepper 81fb02b046 Update copyright year 2012-01-01 05:50:05 -05:00
Ulrich Drepper d063d16433 Remove support for !USE___THREAD 2011-09-10 16:50:28 -04:00
Ulrich Drepper 3ce1f29594 Cleanup of configuration options
Make several tool features mandatory and simplify the code.
2011-09-10 14:34:15 -04:00
Roland McGrath 23bee3e867 Comment typo fix. 2011-07-10 14:58:51 -07:00
Ulrich Drepper c0dafcf176 Update copyright year. 2011-01-17 15:08:10 -05:00
Ulrich Drepper 9e37946dba Fix retrieving of kernel header version. 2010-04-04 01:02:09 -07:00
Richard Henderson b1c1949e60 Don't take the address of a void object.
GCC 4.5 warns about "extern void _end; &end;".
Use char[] instead, as that also doesn't fall foul
of a target's .sdata optimizations.

Signed-off-by: Richard Henderson <rth@twiddle.net>
2010-03-26 09:16:21 -07:00
Ulrich Drepper 92ad15a8f1 Implement handling of libc ABI in ELF header. 2010-03-15 11:44:58 -07:00
Ulrich Drepper 1c3c269b55 Fix startup to security-relevant statically linked binaries.
Before the change they crash on startup.  Perform IREL relocations
earlier to prevent this.
2009-11-24 11:17:06 -08:00
Andreas Schwab 4bb04b1fb6 Fix USE_MULTIARCH conditional 2009-10-13 16:12:47 +02:00
Ulrich Drepper 9655389317 Fix bookkeeping of static TLS block for TLS_TCB_AT_TP architectures. 2009-07-28 21:58:32 -07:00
Ulrich Drepper 443caceb35 Fix build problems with old binutils.
Old binutils don't provide IFUNC and don't generate the section start/end
symbols we expect.  At least for now only add the initializer code for
static IFUNC relocations if multi-arch support is requested.
2009-06-05 09:42:32 -07:00
Ulrich Drepper 7441470835 Finish IFUNC support for x86 and x86-64.
Add support for the IRELAIVE relocation and IFUNC in static executables.
2009-05-31 23:45:33 -07:00
Jim Meyering edeabc047e remove subsumed .gitignore entries and files 2009-05-16 10:41:40 +02:00
Jim Meyering bb87237534 remove COPYING* from .gitignore files 2009-05-16 10:38:53 +02:00