| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.in: Add --enable-stackguard-randomization option.
(ENABLE_STACKGUARD_RANDOMIZE): New define.
* config.h.in (ENABLE_STACKGUARD_RANDOMIZE): Add.
* sysdeps/unix/sysv/linux/dl-osinfo.h: Include stdint.h.
(_dl_setup_stack_chk_guard): New inline function.
* sysdeps/generic/dl-osinfo.h: Include stdint.h.
(_dl_setup_stack_chk_guard): New inline function.
* elf/rtld.c (__stack_chk_guard): New variable.
(dl_main): Remove all traces of TLS_INIT_TP_EXPENSIVE.
Set __stack_chk_guard to _dl_setup_stack_chk_guard (),
use THREAD_SET_STACK_GUARD if defined.
* elf/Versions (ld): Export __stack_chk_guard@@GLIBC_2.4.
* sysdeps/generic/libc-start.c (__stack_chk_guard): New variable.
(__libc_start_main): Set __stack_chk_guard to
_dl_setup_stack_chk_guard (), use THREAD_SET_STACK_GUARD if defined.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Remove all
traces of TLS_INIT_TP_EXPENSIVE.
* debug/Versions (libc): Export __stack_chk_fail@@GLIBC_2.4.
* debug/Makefile (routines): Add stack_chk_fail.
(static-only-routines): Add stack_chk_fail_local.
* debug/stack_chk_fail_local.c: New file.
* debug/stack_chk_fail.c: New file.
* elf/Makefile: Add rules to build and run tst-stackguard1{,-static}
tests.
* elf/tst-stackguard1.c: New file.
* elf/tst-stackguard1-static.c: New file.
* elf/stackguard-macros.h: New file.
|
|
|
|
| |
smaller than _dl_discover_osversion (), don't overwrite it here.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[(NEED_DL_SYSINFO || NEED_DL_SYSINFO_DSO) && SHARED]: Scan
GLRO(dl_sysinfo_map) for PT_NOTE giving Linux kernel version,
we can skip the uname call if it's there.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Don't use
DL_SYSDEP_OSCHECK here.
* elf/rtld.c (dl_main) [DL_SYSDEP_OSCHECK]: Do it here instead.
* sysdeps/generic/ldsodefs.h (struct rtld_global_ro):
Add _dl_sysinfo_map.
* elf/rtld.c (dl_main): Don't call _dl_init_paths early in the
rtld_is_main case. Call it unconditionally later.
Move GLRO(dl_sysinfo_dso) handling earlier, before _dl_init_paths call.
Initialize GLRO(dl_sysinfo_map).
* elf/dl-load.c (open_path): Bail out if _dl_init_paths wasn't called.
* sysdeps/generic/dl-sysdep.c (_DL_FIRST_EXTRA): New macro.
(_dl_important_hwcaps)
[(NEED_DL_SYSINFO || NEED_DL_SYSINFO_DSO) && SHARED]: Scan
GLRO(dl_sysinfo_map) for PT_NOTE giving synthetic hwcap names
and bit values.
* elf/ldconfig.c (_DL_FIRST_EXTRA): New macro.
(hwcap_extra): New static variable.
(is_hwcap_platform): Check hwcap_extra for a matching name.
Remove tls special case.
(path_hwcap): Likewise.
(parse_conf): Parse "hwcap" directive to define synthetic hwcap bits
and their names, stored in hwcap_extra.
(main) [USE_TLS]: Initialize final synthetic hwcap bit as "tls".
* sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Use uint64_t for
_dl_hwcap and _dl_hwcap_mask.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Cast a_val for
AT_HWCAP to unsigned long int.
* elf/dl-support.c (_dl_aux_init): Likewise.
(_dl_hwcap): Update defn.
* elf/cache.c (print_entry): Pad hwcap value with 0s in diagnostic.
* elf/ldconfig.c (search_dir): Likewise.
|
| |
|
| |
|
|
|
|
|
|
|
| |
function, inline broken out of ...
(DL_SYSDEP_OSCHECK): ... here. Use that.
Do the discovery and set GLRO(dl_osversion) if successful,
if __LINUX_KERNEL_VERSION <= 0.
|
| |
|
| |
|
|
|
|
| |
vague message.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
* sysdeps/s390/s390-64/dl-machine.h: Likewise.
* sysdeps/s390/s390-32/dl-machine.h: Likewise.
* sysdeps/powerpc/powerpc64/dl-machine.h: Likewise.
* sysdeps/powerpc/powerpc32/dl-machine.c: Likewise.
* sysdeps/m68k/dl-machine.h: Likewise.
* sysdeps/ia64/dl-machine.h: Likewise.
* sysdeps/arm/dl-machine.h: Likewise.
* sysdeps/alpha/dl-machine.h: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DL_SYSDEP_OSCHECK here.
* sysdeps/unix/sysv/linux/init-first.c (init): Not here.
* sysdeps/unix/sysv/linux/dl-osinfo.h: Include <fcntl.h>.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Bail if
argument TCBSIZE <= TLS_INIT_TCB_SIZE, not just if it's zero.
* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Check l_tls_offset
instead of l_type to decide whether to use TLS_DTV_UNALLOCATED.
* include/link.h: Comment typo fix.
2002-12-01 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_FSYNC): Set to 200112L.
(_POSIX_SPAWN, _POSIX_MAPPED_FILES, _POSIX_MEMLOCK_RANGE,
_POSIX_MEMORY_PROTECTION): Likewise.
(_POSIX_POLL, _POSIX_SELECT): Removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-30 Ulrich Drepper <drepper@redhat.com>
* Versions.def [ld]: Add GLIBC_2.3.
* elf/dl-addr.c: Move global variables for SHARED code in struct
_rtld_global. Export this struct, remove all exports for the
signal variables.
* elf/dl-close.c: Likewise.
* elf/dl-conflict.c: Likewise.
* elf/dl-debug.c: Likewise.
* elf/dl-deps.c: Likewise.
* elf/dl-dst.h: Likewise.
* elf/dl-error.c: Likewise.
* elf/dl-fini.c: Likewise.
* elf/dl-init.c: Likewise.
* elf/dl-iteratephdr.c: Likewise.
* elf/dl-libc.c: Likewise.
* elf/dl-load.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-minimal.c: Likewise.
* elf/dl-object.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-profile.c: Likewise.
* elf/dl-profstub.c: Likewise.
* elf/dl-reloc.c: Likewise.
* elf/dl-runtime.c: Likewise.
* elf/dl-support.c: Likewise.
* elf/dl-sym.c: Likewise.
* elf/dl-version.c: Likewise.
* elf/do-lookup.h: Likewise.
* elf/do-rel.h: Likewise.
* elf/dynamic-link.h: Likewise.
* elf/rtld.c: Likewise.
* sysdeps/generic/dl-cache.c: Likewise.
* sysdeps/generic/dl-sysdep.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/generic/libc-start.c: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
* sysdeps/ia64/dl-fptr.c: Likewise.
* sysdeps/ia64/dl-machine.h: Likewise.
* sysdeps/unix/sysv/linux/dl-librecon.h: Likewise.
* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
* sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
* sysdeps/unix/sysv/linux/getclktck.c: Likewise.
* sysdeps/unix/sysv/linux/getpagesize.c: Likewise.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise.
* sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise.
* malloc/thread-m.h: Spinlock definitions for x86/x86_64.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-12 Jakub Jelinek <jakub@redhat.com>
* csu/Makefile (abi-tag.h): Define OS and version separately, allow
version to be overriden from config.h.
* csu/abi-note.S: Use OS and version separately, include config.h.
* elf/dl-load.c (_dl_osversion): New.
(_dl_map_object_from_fd): Kill some warnings.
(open_verify): Check .note.ABI-tag of the library if present.
* elf/Makefile (CPPFLAGS-dl-load.c): Add -I$(csu-objpfx).
* elf/cache.c (struct cache_entry): Add osversion.
(print_entry): Print osversion.
(print_cache): Pass osversion to it.
(compare): Sort according to osversion.
(save_cache): Set osversion.
(add_to_cache): Add osversion argument.
* sysdeps/generic/ldconfig.h (add_to_cache, process_file,
process_elf_file): Add osversion argument.
* elf/readlib.c (process_file): Likewise.
* sysdeps/generic/readelflib.c (process_elf_file): Likewise.
* sysdeps/unix/sysv/linux/ia64/readelflib.c (process_elf_file,
process_elf32_file, process_elf64_file): Likewise.
* sysdeps/unix/sysv/linux/i386/readelflib.c (process_elf_file,
process_elf32_file, process_elf64_file): Likewise.
* sysdeps/unix/sysv/linux/sparc/readelflib.c (process_elf_file,
process_elf32_file, process_elf64_file): Likewise.
* elf/ldconfig.c (manual_link): Pass it.
(search_dir): Issue diagnostic if two libs with the same soname in
the same directory have different .note.ABI-tag. Record osversion in
dlib_entry and use it from there.
(struct lib_entry): Remove.
(struct dlib_entry): Add osversion.
* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Check
osversion.
* sysdeps/generic/dl-cache.h (struct file_entry_new): Replace __unused
field with osversion.
* sysdeps/generic/ldsodefs.h (_dl_osversion): Declare.
* sysdeps/unix/sysv/linux/init-first.c: Include ldsodefs.h.
* sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Save kernel
version in _dl_osversion.
* sysdeps/unix/sysv/linux/configure.in: Define __ABI_TAG_VERSION.
* Makerules (build-shlib-helper, build-module-helper): New.
(build-shlib, build-module-helper): Make sure .note.ABI-tag comes
early.
* config.h.in (__ABI_TAG_VERSION): Add.
* elf/dl-minimal.c (__strtoul_internal): Set endptr on return.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS):
Handle LD_ASSUME_KERNEL.
* sysdeps/unix/sysv/linux/dl-librecon.h: New.
|
|
|
|
|
|
|
|
|
| |
* sysdeps/arm/dl-machine.h: Likewise.
* sysdeps/hppa/dl-machine.h: Likewise.
* sysdeps/m68k/dl-machine.h: Likewise.
* sysdeps/powerpc/dl-machine.h: Likewise.
* sysdeps/s390/dl-machine.h: Likewise.
* sysdeps/sh/dl-machine.h: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-01-24 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/init-first.c: Remove extra __sysctl
prototype.
* sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
* include/sys/sysctl.h: New.
* stdlib/Makefile ($(objpfx)isomac.out): Also pass sysincludes to
isomac.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-11-20 Ulrich Drepper <drepper@redhat.com>
* csu/gmon-start.c: Always have prototype for __gmon_start.
* csu/version.c: Add prototypes for __libc_print_version and
__libc_main.
* iconv/gconv.c: Include gconv_int.h and gconv.h.
* iconv/gconv.h (struct __gconv_step): Remove const from __from_name
and __to_name.
* iconv/gconv_builtin.h: Add ASCII module definitions.
* iconv/gconv_conf.c (__gconv_path_elem): Remove const.
(add_module): Add cast to avoid warning. Rework construction of
strings for new module.
* iconv/gconv_db.c (__gconv_alias_compare): Make s1 and s2 const.
(derivation_compare): Likewise.
* iconv/gconv_dl.c (do_release_shlib): Remove const from nodep.
(__gconv_release_shlib): Cast do_release_shlib as parameter for twalk.
* iconv/gconv_int.h (__gconv_path_elem): Remove const.
(struct gconv_alias): Remove const from fromname and toname.
* iconv/gconv_simple.c: Include gconv_builtin.h to get prototypes
for loop functions.
(internal_ucs4_loop): Use correct const-ness.
(ucs4_internal_loop): Likewise.
(internal_ucs4le_loop): Likewise.
(ucs4le_internal_loop_single): Likewise.
* iconv/gconv_trans.c (__gconv_transliterate): Make from_idx, from_tbl,
to_idx, to_tbl, winbuf, winbufend const. Change casts in
assignments appropriately.
(struct known_trans): Remove const from fname.
(trans_compare): Make s1 and s2 const.
* iconv/loop.c (LOOPFC): Make outend parameter const. Add cast to
avoid warning.
* iconv/skeleton.c: Remove cast in calls of loop functions.
* iconvdata/gconv-modules: Remove US-ASCII definitions.
* iconvdata/iso646.c: Remove US_ASCII support.
* include/set-hooks.h (DEFINE_HOOK): Also generate prototype.
* include/unistd.h: Add __libc_check_standard_fds prototype.
* string/bits/string2.h (__mempcpy_args): Add const to casts.
* sysdeps/generic/initfini.c: Add prototypes for dummy, _init, and
_fini.
* sysdeps/generic/libc-start.c: Add prototype for __libc_start_main.
* sysdeps/i386/i486/bits/string.h (strcmp): Add const to casts.
* sysdeps/unix/sysv/linux/dl-osinfo.h (dl_fatal): Add cast to avoid
warning.
* sysdeps/unix/sysv/linux/init-first.c: Add prototypes for
__libc_init_first and _dl_start.
* sysdeps/unix/sysv/linux/mips/clone.S: Fix comments.
|
|
|
|
| |
have problems with it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-09-09 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Use uname
before trying to read /proc.
Patch by Matt Wilson <msw@redhat.com>.
* include/sys/utsname.h: Declare __uname.
* sysdeps/generic/uname.c: Make uname a weak alias of __uname.
* sysdeps/mach/hurd/uname.c: Likewise.
* sysdeps/unix/syscalls.list: Likewise.
* iconv/gconv_dl.c (do_release_shlib): Rewrite condition for
unloading a bit.
2000-09-08 Ulrich Drepper <drepper@redhat.com>
* posix/getopt.c (_getopt_internal): When long_only is set always
recognize conflicts just like before.
2000-09-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/ia64/Makefile (sysdep-rtld-routines): New variable.
|
|
|
|
|
|
|
|
| |
2000-08-23 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/dl-osinfo.h: Include "kernel-features.h",
otherwise __LINUX_KERNEL_VERSION might not be defined.
(MIN): Define if not already defined.
|
|
|
|
| |
system call.
|
|
* elf/Makefile (distribute): Add dl-osinfo.h.
* sysdeps/generic/dl-osinfo.h: New file.
* sysdeps/unix/sysv/linux/dl-osinfo.h: New file.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Use DL_SYSDEP_OSCHECK
if defined.
* sysdeps/unix/sysv/linux/init-first.c: Perform kernel version test
only for !SHARED case. Get the code from dl-osinfo.h.
|