* elf/dl-runtime.c: Inlcude <sys/param.h>.

	* elf/Makefile (headers): Add bits/link.h.

2005-01-09  Andreas Schwab  <schwab@suse.de>

	* elf/rtld.c (dl_main): Create main_map with __RTLD_OPENEXEC.

2005-01-09  Andreas Jaeger  <aj@suse.de>

	* time/strptime_l.c (__strptime_internal): Add braces to avoid
	warning.

	* sysdeps/x86_64/bits/link.h: Use vector_size for GCC 4.0.

	* elf/rtld.c (dl_main): Call _dl_add_to_slotinfo only if USE_TLS.

2005-01-08  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile (generated): Add tst-pie1{,.out,.o}.

2005-01-09  Ulrich Drepper  <drepper@redhat.com>
This commit is contained in:
Ulrich Drepper 2005-01-09 20:23:44 +00:00
parent 217fc747ff
commit 9fbdeb410d
6 changed files with 44 additions and 9 deletions

View File

@ -1,3 +1,26 @@
2005-01-09 Ulrich Drepper <drepper@redhat.com>
* elf/dl-runtime.c: Inlcude <sys/param.h>.
* elf/Makefile (headers): Add bits/link.h.
2005-01-09 Andreas Schwab <schwab@suse.de>
* elf/rtld.c (dl_main): Create main_map with __RTLD_OPENEXEC.
2005-01-09 Andreas Jaeger <aj@suse.de>
* time/strptime_l.c (__strptime_internal): Add braces to avoid
warning.
* sysdeps/x86_64/bits/link.h: Use vector_size for GCC 4.0.
* elf/rtld.c (dl_main): Call _dl_add_to_slotinfo only if USE_TLS.
2005-01-08 Jakub Jelinek <jakub@redhat.com>
* elf/Makefile (generated): Add tst-pie1{,.out,.o}.
2005-01-09 Ulrich Drepper <drepper@redhat.com>
* elf/dl-fini.c (_dl_fini): Call destructors of audit DSOs after

View File

@ -20,7 +20,7 @@
subdir := elf
headers = elf.h bits/elfclass.h link.h
headers = elf.h bits/elfclass.h link.h bits/link.h
routines = $(dl-routines) dl-support dl-iteratephdr \
dl-addr enbl-secure dl-profstub \
dl-origin dl-libc dl-sym dl-tsd

View File

@ -22,6 +22,7 @@
#include <alloca.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/param.h>
#include <ldsodefs.h>
#include "dynamic-link.h"

View File

@ -995,8 +995,8 @@ of this helper program; chances are you did not intend to run this program.\n\
{
/* Create a link_map for the executable itself.
This will be what dlopen on "" returns. */
main_map
= _dl_new_object ((char *) "", "", lt_executable, NULL, 0, LM_ID_BASE);
main_map = _dl_new_object ((char *) "", "", lt_executable, NULL,
__RTLD_OPENEXEC, LM_ID_BASE);
assert (main_map != NULL);
assert (main_map == GL(dl_ns)[LM_ID_BASE]._ns_loaded);
main_map->l_phdr = phdr;
@ -2117,9 +2117,11 @@ ERROR: ld.so: object '%s' from %s cannot be preloaded: ignored.\n",
if (l->l_relro_size)
_dl_protect_relro (l);
#ifdef USE_TLS
/* Add object to slot information data if necessasy. */
if (l->l_tls_blocksize != 0 && tls_init_tp_called)
_dl_add_to_slotinfo (l);
#endif
}
_dl_sysdep_start_cleanup ();
@ -2167,9 +2169,11 @@ ERROR: ld.so: object '%s' from %s cannot be preloaded: ignored.\n",
_dl_relocate_object (l, l->l_scope, GLRO(dl_lazy),
consider_profiling);
#ifdef USE_TLS
/* Add object to slot information data if necessasy. */
if (l->l_tls_blocksize != 0 && tls_init_tp_called)
_dl_add_to_slotinfo (l);
#endif
l = l->l_prev;
}

View File

@ -63,7 +63,12 @@ __END_DECLS
#else
/* Registers for entry into PLT on x86-64. */
# if __GNUC_PREREQ (4,0)
typedef float La_x86_64_xmm __attribute__ ((vector_size (16)));
# else
typedef float La_x86_64_xmm __attribute__ ((__mode__ (__V4SF__)));
# endif
typedef struct La_x86_64_regs
{
uint64_t lr_rdx;

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2002, 2004 Free Software Foundation, Inc.
/* Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -539,11 +539,13 @@ __strptime_internal (rp, fmt, tm, decided, era_cnt LOCALE_PARAM)
}
#endif
if (!match_string (HERE_AM_STR, rp))
if (match_string (HERE_PM_STR, rp))
is_pm = 1;
else
return NULL;
break;
{
if (match_string (HERE_PM_STR, rp))
is_pm = 1;
else
return NULL;
break;
}
case 'r':
#ifdef _NL_CURRENT
if (*decided != raw)