Steve Ellcey [Thu, 27 Sep 2012 21:07:15 +0000 (14:07 -0700)]
Remove sysdeps/ieee754/ldbl-128/bits/huge_vall.h and let builds use
bits/huge_vall.h instead. There is no longer any need for the special
huge_vall.h file.
Steve Ellcey [Thu, 27 Sep 2012 21:06:11 +0000 (14:06 -0700)]
Remove sysdeps/ieee754/ldbl-128/bits/huge_vall.h and let builds
use bits/huge_vall.h instead. There is no longer any need for
the special huge_vall.h file.
Release barriers are needed to ensure that any memory written by
init_routine is seen by other threads before *once_control changes.
In the case of clear_once_control we need to flush any partially
written state.
Using madvise with MADV_DONTNEED to release memory back to the kernel
is not sufficient to change the commit charge accounted against the
process on Linux. It is OK however, when overcommit is enabled or is
heuristic. However, when overcommit is restricted to a percentage of
memory setting the contents of /proc/sys/vm/overcommit_memory as 2, it
makes a difference since memory requests will fail. Hence, we do what
we do with secure exec binaries, which is to call mmap on the region
to be dropped with MAP_FIXED. This internally unmaps the pages in
question and reduces the amount of memory accounted against the
process.
Carlos O'Donell [Thu, 20 Sep 2012 14:39:27 +0000 (10:39 -0400)]
hppa: Use __prlimit64 as the internal name.
Fix a build failure by using __prlimit64 as the internal
function name for the versioned symbol prlimit64. Without
this patch the build system attempts to alias prlimit64
to itself and that is invalid.
Dmitry V. Levin [Wed, 22 Aug 2012 00:43:21 +0000 (00:43 +0000)]
rtld: limit self loading check to normal mode only
Commit glibc-2.14~10 disallowed rtld self loading to avoid a segfault
that used to happen when rtld was loading itself in normal mode.
Unfortunately, that commit disallowed all modes of self loading,
including those that used to work before. This change limits the check
for self loading to normal mode only, so that instruments like ldd could
handle rtld properly.
The convert_bit macro allows the compiler to translate the bit
positions more efficiently. The assumption of only running at
program startup allows eliding the __ieee_get_fp_control call.
* sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S: Fix
unwind info if defined PIC. Fix special cases description.
* sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S: Likewise.
H.J. Lu [Thu, 6 Sep 2012 23:03:32 +0000 (16:03 -0700)]
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.
Chris Metcalf [Thu, 6 Sep 2012 15:43:56 +0000 (11:43 -0400)]
tile: fix type of prfpregset_t in <sys/procfs.h>
The previous dummy definition (as type int) was fine in general, since
tile doesn't have floating-point registers, but it confused gdb's
configure, leading to later compile errors. This change also makes
prfpregset_t parallel to prgregset_t, which seems like generally the
right thing regardless of the non-existence of the actual registers :-)
Return requested size for malloc_usable_size when MALLOC_CHECK_ > 0
[BZ #1349]
malloc_usable_size returns the usable size in an allocated chunk,
which may be >= the requested size. In the case of MALLOC_CHECK_ being
exported to > 0 however, only the requested size is usable, since a
magic value is written at the end of the request size to trap writes
beyond request bounds. Hence, when MALLOC_CHECK_ is exported to > 0,
malloc_usable_size() should return the request size.
David S. Miller [Wed, 5 Sep 2012 02:20:03 +0000 (19:20 -0700)]
Use sparcv8 GMP routines when building 32-bit sparcv9.
* sysdeps/sparc/sparc32/sparcv9/addmul_1.S: New file.
* sysdeps/sparc/sparc32/sparcv9/submul_1.S: New file.
* sysdeps/sparc/sparc32/sparcv9/mul_1.S: New file.