mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-05 19:35:52 +03:00
Update.
1998-03-14 11:47 H.J. Lu <hjl@gnu.org> * elf/dl-close.c (_dl_close): Stop unmapping the segments after unmapping the last loaded segment. 1998-03-14 15:54 Ulrich Drepper <drepper@cygnus.com> * configure.in: Set base_os for Irix6. Correct test for .weakext. 1998-03-14 Andreas Jaeger <aj@arthur.rhein-neckar.de> * elf/dl-deps.c (_dl_map_object_deps): Add first parameter (new_line) to _dl_debug_message call. * locale/programs/linereader.c (lr_token): Return EOF token at EOF.
This commit is contained in:
18
ChangeLog
18
ChangeLog
@@ -1,3 +1,18 @@
|
|||||||
|
1998-03-14 11:47 H.J. Lu <hjl@gnu.org>
|
||||||
|
|
||||||
|
* elf/dl-close.c (_dl_close): Stop unmapping the segments after
|
||||||
|
unmapping the last loaded segment.
|
||||||
|
|
||||||
|
1998-03-14 15:54 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
|
* configure.in: Set base_os for Irix6.
|
||||||
|
Correct test for .weakext.
|
||||||
|
|
||||||
|
1998-03-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||||||
|
|
||||||
|
* elf/dl-deps.c (_dl_map_object_deps): Add first parameter
|
||||||
|
(new_line) to _dl_debug_message call.
|
||||||
|
|
||||||
1998-03-14 00:52 Tim Waugh <tim@cyberelk.demon.co.uk>
|
1998-03-14 00:52 Tim Waugh <tim@cyberelk.demon.co.uk>
|
||||||
|
|
||||||
* posix/wordexp.c (parse_param): Perform field-splitting after
|
* posix/wordexp.c (parse_param): Perform field-splitting after
|
||||||
@@ -11,8 +26,7 @@
|
|||||||
|
|
||||||
1998-03-14 Ulrich Drepper <drepper@cygnus.com>
|
1998-03-14 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
* locale/programs/linereader.c (lr_token): Return EOF token at
|
* locale/programs/linereader.c (lr_token): Return EOF token at EOF.
|
||||||
EOF.
|
|
||||||
(get_toplvl_escape): Correctly terminate loop at EOF.
|
(get_toplvl_escape): Correctly terminate loop at EOF.
|
||||||
Patch by Cristian Gafton <gafton@redhat.com>.
|
Patch by Cristian Gafton <gafton@redhat.com>.
|
||||||
|
|
||||||
|
@@ -234,6 +234,8 @@ osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
|
|||||||
base_os=unix/bsd ;;
|
base_os=unix/bsd ;;
|
||||||
sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
|
sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
|
||||||
base_os=unix/sysv ;;
|
base_os=unix/sysv ;;
|
||||||
|
irix6*)
|
||||||
|
base_os=unix/sysv/irix6/$os ;;
|
||||||
solaris[2-9]*)
|
solaris[2-9]*)
|
||||||
base_os=unix/sysv/sysv4 ;;
|
base_os=unix/sysv/sysv4 ;;
|
||||||
none)
|
none)
|
||||||
@@ -800,8 +802,9 @@ cat > conftest.s <<EOF
|
|||||||
.text
|
.text
|
||||||
${libc_cv_asm_global_directive} foo
|
${libc_cv_asm_global_directive} foo
|
||||||
foo:
|
foo:
|
||||||
.weakext foo
|
.weakext bar foo
|
||||||
.weakext foo, bar
|
.weakext baz
|
||||||
|
${libc_cv_asm_global_directive} baz
|
||||||
EOF
|
EOF
|
||||||
if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
|
if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
|
||||||
libc_cv_asm_weakext_directive=yes
|
libc_cv_asm_weakext_directive=yes
|
||||||
|
@@ -80,6 +80,7 @@ _dl_close (struct link_map *map)
|
|||||||
/* That was the last reference, and this was a dlopen-loaded
|
/* That was the last reference, and this was a dlopen-loaded
|
||||||
object. We can unmap it. */
|
object. We can unmap it. */
|
||||||
const ElfW(Phdr) *ph;
|
const ElfW(Phdr) *ph;
|
||||||
|
const ElfW(Phdr) *eph;
|
||||||
|
|
||||||
if (imap->l_info[DT_FINI])
|
if (imap->l_info[DT_FINI])
|
||||||
/* Call its termination function. */
|
/* Call its termination function. */
|
||||||
@@ -99,9 +100,14 @@ _dl_close (struct link_map *map)
|
|||||||
_dl_global_scope_end[1] = NULL;
|
_dl_global_scope_end[1] = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Find the first entry specifying a load command. We have
|
||||||
|
to determine this now since the table itself is also loaded. */
|
||||||
|
for (eph = imap->l_phdr; eph < imap->l_phdr + imap->l_phnum; ++eph)
|
||||||
|
if (eph->p_type == PT_LOAD)
|
||||||
|
break;
|
||||||
|
|
||||||
/* Unmap the segments. */
|
/* Unmap the segments. */
|
||||||
for (ph = imap->l_phdr + (imap->l_phnum - 1);
|
for (ph = imap->l_phdr + (imap->l_phnum - 1); ph >= eph; --ph)
|
||||||
ph >= imap->l_phdr; --ph)
|
|
||||||
if (ph->p_type == PT_LOAD)
|
if (ph->p_type == PT_LOAD)
|
||||||
{
|
{
|
||||||
ElfW(Addr) mapstart = ph->p_vaddr & ~(ph->p_align - 1);
|
ElfW(Addr) mapstart = ph->p_vaddr & ~(ph->p_align - 1);
|
||||||
|
@@ -203,7 +203,7 @@ _dl_map_object_deps (struct link_map *map,
|
|||||||
|
|
||||||
/* Say that we are about to load an auxiliary library. */
|
/* Say that we are about to load an auxiliary library. */
|
||||||
if (_dl_debug_libs)
|
if (_dl_debug_libs)
|
||||||
_dl_debug_message ("load auxiliary object=",
|
_dl_debug_message (1, "load auxiliary object=",
|
||||||
strtab + d->d_un.d_val,
|
strtab + d->d_un.d_val,
|
||||||
" requested by file=",
|
" requested by file=",
|
||||||
l->l_name[0]
|
l->l_name[0]
|
||||||
@@ -226,7 +226,7 @@ _dl_map_object_deps (struct link_map *map,
|
|||||||
{
|
{
|
||||||
/* Say that we are about to load an auxiliary library. */
|
/* Say that we are about to load an auxiliary library. */
|
||||||
if (_dl_debug_libs)
|
if (_dl_debug_libs)
|
||||||
_dl_debug_message ("load filtered object=",
|
_dl_debug_message (1, "load filtered object=",
|
||||||
strtab + d->d_un.d_val,
|
strtab + d->d_un.d_val,
|
||||||
" requested by file=",
|
" requested by file=",
|
||||||
l->l_name[0]
|
l->l_name[0]
|
||||||
|
Reference in New Issue
Block a user