Skip to content

Commit

Permalink
Update.
Browse files Browse the repository at this point in the history
	* po/el.po: New file.

1999-02-07  Andreas Schwab  <[email protected]>

	* elf/dl-load.c (_dl_map_object_from_fd): Replace magic constant
	when processing DT_SYMBOLIC objects.

1999-02-07  Andreas Schwab  <[email protected]>

	* elf/dl-load.c (_dl_map_object_from_fd): When looking for the
	program headers without PT_PHDR only require that they are
	contained within one of the loaded segments.  Don't use assert,
	since that would be a bug in the object, not the dynamic linker.

1999-02-08  Richard Henderson  <[email protected]>

	* sysdeps/alpha/dl-machine.h (TRAMPOLINE_TEMPLATE): Save and
	restore all call-clobbered fp regs.

1999-02-08  Ulrich Drepper  <[email protected]>
  • Loading branch information
Ulrich Drepper committed Feb 8, 1999
1 parent c18cec5 commit 82d0c09
Show file tree
Hide file tree
Showing 4 changed files with 3,051 additions and 52 deletions.
21 changes: 21 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
1999-02-08 Ulrich Drepper <[email protected]>

* po/el.po: New file.

1999-02-07 Andreas Schwab <[email protected]>

* elf/dl-load.c (_dl_map_object_from_fd): Replace magic constant
when processing DT_SYMBOLIC objects.

1999-02-07 Andreas Schwab <[email protected]>

* elf/dl-load.c (_dl_map_object_from_fd): When looking for the
program headers without PT_PHDR only require that they are
contained within one of the loaded segments. Don't use assert,
since that would be a bug in the object, not the dynamic linker.

1999-02-08 Richard Henderson <[email protected]>

* sysdeps/alpha/dl-machine.h (TRAMPOLINE_TEMPLATE): Save and
restore all call-clobbered fp regs.

1999-02-08 Ulrich Drepper <[email protected]>

* po/cs.po: New file.
Expand Down
19 changes: 13 additions & 6 deletions elf/dl-load.c
Original file line number Diff line number Diff line change
Expand Up @@ -864,11 +864,18 @@ _dl_map_object_from_fd (const char *name, int fd, char *realname,
{
/* There was no PT_PHDR specified. We need to find the phdr in the
load image ourselves. We assume it is in fact in the load image
somewhere, and that the first load command starts at the
beginning of the file and thus contains the ELF file header. */
ElfW(Addr) bof = l->l_addr + loadcmds[0].mapstart;
assert (loadcmds[0].mapoff == 0);
l->l_phdr = (void *) (bof + ((const ElfW(Ehdr) *) bof)->e_phoff);
somewhere. */
for (c = loadcmds; c < &loadcmds[nloadcmds]; c++)
if (c->mapoff <= header->e_phoff
&& (c->mapend - c->mapstart + c->mapoff
>= header->e_phoff + header->e_phnum * sizeof (ElfW(Phdr))))
{
ElfW(Addr) bof = l->l_addr + c->mapstart;
l->l_phdr = (void *) (bof + header->e_phoff - c->mapoff);
break;
}
if (l->l_phdr == 0)
LOSE ("program headers not contained in any loaded segment");
}
else
/* Adjust the PT_PHDR value by the runtime load address. */
Expand Down Expand Up @@ -948,7 +955,7 @@ _dl_map_object_from_fd (const char *name, int fd, char *realname,

/* Now move the existing entries one back. */
memmove (&l->l_scope[1], &l->l_scope[0],
3 * sizeof (struct r_scope_elem *));
sizeof (l->l_scope) - sizeof (l->l_scope[0]));

/* Now add the new entry. */
l->l_scope[0] = &l->l_symbolic_searchlist;
Expand Down
Loading

0 comments on commit 82d0c09

Please sign in to comment.