+2011-03-09 Roland McGrath <roland@redhat.com>
+
+ * alpha_symbol.c (alpha_check_special_symbol): New function.
+ * alpha_init.c (alpha_init): Initialize hook.
+
2010-11-08 Roland McGrath <roland@redhat.com>
* i386_retval.c (loc_intreg): Typo fix.
/* Initialization of Alpha specific backend library.
- Copyright (C) 2002, 2005, 2006, 2007, 2008 Red Hat, Inc.
+ Copyright (C) 2002-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
HOOK (eh, return_value_location);
HOOK (eh, machine_section_flag_check);
HOOK (eh, check_special_section);
+ HOOK (eh, check_special_symbol);
HOOK (eh, register_info);
HOOK (eh, core_note);
HOOK (eh, auxv_info);
/* Alpha specific symbolic name handling.
- Copyright (C) 2002,2005,2007,2008 Red Hat, Inc.
+ Copyright (C) 2002-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
#include <elf.h>
#include <stddef.h>
+#include <string.h>
#define BACKEND alpha_
#include "libebl_CPU.h"
return false;
}
+
+/* Check whether given symbol's st_value and st_size are OK despite failing
+ normal checks. */
+bool
+alpha_check_special_symbol (Elf *elf __attribute__ ((unused)),
+ GElf_Ehdr *ehdr __attribute__ ((unused)),
+ const GElf_Sym *sym __attribute__ ((unused)),
+ const char *name,
+ const GElf_Shdr *destshdr __attribute__ ((unused)))
+{
+ if (name == NULL)
+ return false;
+
+ if (strcmp (name, "_GLOBAL_OFFSET_TABLE_") == 0)
+ /* On Alpha any place in the section is valid. */
+ return true;
+
+ return false;
+}