+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>
* posix/wordexp.c (parse_param): Perform field-splitting after
1998-03-14 Ulrich Drepper <drepper@cygnus.com>
- * locale/programs/linereader.c (lr_token): Return EOF token at
- EOF.
+ * locale/programs/linereader.c (lr_token): Return EOF token at EOF.
(get_toplvl_escape): Correctly terminate loop at EOF.
Patch by Cristian Gafton <gafton@redhat.com>.
base_os=unix/bsd ;;
sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
base_os=unix/sysv ;;
+irix6*)
+ base_os=unix/sysv/irix6/$os ;;
solaris[2-9]*)
base_os=unix/sysv/sysv4 ;;
none)
.text
${libc_cv_asm_global_directive} foo
foo:
-.weakext foo
-.weakext foo, bar
+.weakext bar foo
+.weakext baz
+${libc_cv_asm_global_directive} baz
EOF
if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
libc_cv_asm_weakext_directive=yes
/* That was the last reference, and this was a dlopen-loaded
object. We can unmap it. */
const ElfW(Phdr) *ph;
+ const ElfW(Phdr) *eph;
if (imap->l_info[DT_FINI])
/* Call its termination function. */
_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. */
- for (ph = imap->l_phdr + (imap->l_phnum - 1);
- ph >= imap->l_phdr; --ph)
+ for (ph = imap->l_phdr + (imap->l_phnum - 1); ph >= eph; --ph)
if (ph->p_type == PT_LOAD)
{
ElfW(Addr) mapstart = ph->p_vaddr & ~(ph->p_align - 1);
/* Say that we are about to load an auxiliary library. */
if (_dl_debug_libs)
- _dl_debug_message ("load auxiliary object=",
+ _dl_debug_message (1, "load auxiliary object=",
strtab + d->d_un.d_val,
" requested by file=",
l->l_name[0]
{
/* Say that we are about to load an auxiliary library. */
if (_dl_debug_libs)
- _dl_debug_message ("load filtered object=",
+ _dl_debug_message (1, "load filtered object=",
strtab + d->d_un.d_val,
" requested by file=",
l->l_name[0]