diff options
| author | Petr Machata <[email protected]> | 2013-11-26 03:10:31 +0100 |
|---|---|---|
| committer | Petr Machata <[email protected]> | 2013-11-26 03:10:31 +0100 |
| commit | 98c8a7395b4e5e7bed233397148b15c1f8c66490 (patch) | |
| tree | e9fe459b4320c3045cc6bf7fc3e97baa85f5f5c9 /backends/aarch64_symbol.c | |
| parent | a47a096e2b8105326c5c58d1f50afcaefff968a0 (diff) | |
Support AArch64 architecture
Signed-off-by: Petr Machata <[email protected]>
Diffstat (limited to 'backends/aarch64_symbol.c')
| -rw-r--r-- | backends/aarch64_symbol.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/backends/aarch64_symbol.c b/backends/aarch64_symbol.c new file mode 100644 index 00000000..b0f3377e --- /dev/null +++ b/backends/aarch64_symbol.c @@ -0,0 +1,56 @@ +/* AArch64 specific symbolic name handling. + Copyright (C) 2013 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of either + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at + your option) any later version + + or + + * the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at + your option) any later version + + or both in parallel, as here. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received copies of the GNU General Public License and + the GNU Lesser General Public License along with this program. If + not, see <http://www.gnu.org/licenses/>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <elf.h> +#include <stddef.h> + +#define BACKEND aarch64_ +#include "libebl_CPU.h" + + +/* Check for the simple reloc types. */ +Elf_Type +aarch64_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type) +{ + switch (type) + { + case R_AARCH64_ABS64: + return ELF_T_XWORD; + case R_AARCH64_ABS32: + return ELF_T_WORD; + case R_AARCH64_ABS16: + return ELF_T_HALF; + + default: + return ELF_T_NUM; + } +} |
