* sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Set

_dl_profile_map only if the name matches. 
(_dl_start_user): Remember stack address. 
* sysdeps/m68k/elf/start.S: Pass new argument to 
__libc_start_user.
Wed Jun 10 10:32:11 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Set
	_dl_profile_map only if the name matches.
	(_dl_start_user): Remember stack address.
	* sysdeps/m68k/elf/start.S: Pass new argument to
	__libc_start_user.
This commit is contained in:
Andreas Schwab 1998-06-10 01:35:06 +00:00
parent 04a96fd464
commit 9e2c0dae9b
3 changed files with 22 additions and 3 deletions

View File

@ -1,3 +1,11 @@
Wed Jun 10 10:32:11 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Set
_dl_profile_map only if the name matches.
(_dl_start_user): Remember stack address.
* sysdeps/m68k/elf/start.S: Pass new argument to
__libc_start_user.
1998-06-09 18:16 Ulrich Drepper <drepper@cygnus.com>
* math/Makefile (libm-calls): Add w_exp10 and e_exp10.

View File

@ -1,5 +1,5 @@
/* Machine-dependent ELF dynamic relocation inline functions. m68k version.
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
Copyright (C) 1996, 1997, 1998 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
@ -92,8 +92,13 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
if (profile)
{
got[2] = (Elf32_Addr) &_dl_runtime_profile;
/* Say that we really want profiling and the timers are started. */
_dl_profile_map = l;
if (_dl_name_match_p (_dl_profile, l))
{
/* This is the object we are looking for. Say that we really
want profiling and the timers are started. */
_dl_profile_map = l;
}
}
else
/* This function will get called to fix up the GOT entry indicated by
@ -161,6 +166,8 @@ _dl_start_user:
move.l %d0, %a4
| Point %a5 at the GOT.
lea _GLOBAL_OFFSET_TABLE_@GOTPC(%pc), %a5
| Remember the highest stack address.
move.l %sp, ([__libc_stack_end@GOT.w, %a5])
| See if we were run as a command with the executable file
| name as an extra leading argument.
move.l ([_dl_skip_args@GOT.w, %a5]), %d0

View File

@ -50,6 +50,10 @@ _start:
move.l %sp, %a0 /* The argument vector starts just at the
current stack top. */
/* Provide the highest stack address to the user code (for stacks
which grow downward). */
pea (%sp)
pea (%a1) /* Push address of the shared library
termination function. */