IPA: Move getauxval out of #ifndef IN_PROCESS_AGENT

The getauxval code was wrongly included in code area only compiled for
gdbserver.  Move it to a #ifdef IN_PROCESS_AGENT area that already
contains lots of IPA-only code.

gdb/gdbserver/ChangeLog:

	* tracepoint.c (getauxval): Move to #ifdef IN_PROCESS_AGENT.
This commit is contained in:
Marcin Kościelnicki 2016-04-05 15:23:35 +02:00
parent 8ddf6b2a13
commit 4dca19f828
2 changed files with 32 additions and 28 deletions

View File

@ -1,3 +1,7 @@
2016-04-05 Marcin Kościelnicki <koriakin@0x04.net>
* tracepoint.c (getauxval): Move to #ifdef IN_PROCESS_AGENT.
2016-04-03 Marcin Kościelnicki <koriakin@0x04.net>
* linux-aarch64-ipa.c: Add <elf.h> include.

View File

@ -216,34 +216,6 @@ static struct ipa_sym_addresses ipa_sym_addrs;
static int read_inferior_integer (CORE_ADDR symaddr, int *val);
#if !defined HAVE_GETAUXVAL && defined IN_PROCESS_AGENT
/* Retrieve the value of TYPE from the auxiliary vector. If TYPE is not
found, 0 is returned. This function is provided if glibc is too old. */
unsigned long
getauxval (unsigned long type)
{
unsigned long data[2];
FILE *f = fopen ("/proc/self/auxv", "r");
unsigned long value = 0;
if (f == NULL)
return 0;
while (fread (data, sizeof (data), 1, f) > 0)
{
if (data[0] == type)
{
value = data[1];
break;
}
}
fclose (f);
return value;
}
#endif
/* Returns true if both the in-process agent library and the static
tracepoints libraries are loaded in the inferior, and agent has
capability on static tracepoints. */
@ -7395,6 +7367,34 @@ initialize_tracepoint_ftlib (void)
gdb_agent_init ();
}
#ifndef HAVE_GETAUXVAL
/* Retrieve the value of TYPE from the auxiliary vector. If TYPE is not
found, 0 is returned. This function is provided if glibc is too old. */
unsigned long
getauxval (unsigned long type)
{
unsigned long data[2];
FILE *f = fopen ("/proc/self/auxv", "r");
unsigned long value = 0;
if (f == NULL)
return 0;
while (fread (data, sizeof (data), 1, f) > 0)
{
if (data[0] == type)
{
value = data[1];
break;
}
}
fclose (f);
return value;
}
#endif
#endif /* IN_PROCESS_AGENT */
/* Return a timestamp, expressed as microseconds of the usual Unix