Line data Source code
1 : /* x86_64 specific symbolic name handling.
2 : Copyright (C) 2002, 2005, 2018 Red Hat, Inc.
3 : This file is part of elfutils.
4 : Written by Ulrich Drepper <drepper@redhat.com>, 2002.
5 :
6 : This file is free software; you can redistribute it and/or modify
7 : it under the terms of either
8 :
9 : * the GNU Lesser General Public License as published by the Free
10 : Software Foundation; either version 3 of the License, or (at
11 : your option) any later version
12 :
13 : or
14 :
15 : * the GNU General Public License as published by the Free
16 : Software Foundation; either version 2 of the License, or (at
17 : your option) any later version
18 :
19 : or both in parallel, as here.
20 :
21 : elfutils is distributed in the hope that it will be useful, but
22 : WITHOUT ANY WARRANTY; without even the implied warranty of
23 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24 : General Public License for more details.
25 :
26 : You should have received copies of the GNU General Public License and
27 : the GNU Lesser General Public License along with this program. If
28 : not, see <http://www.gnu.org/licenses/>. */
29 :
30 : #ifdef HAVE_CONFIG_H
31 : # include <config.h>
32 : #endif
33 :
34 : #include <assert.h>
35 : #include <elf.h>
36 : #include <stddef.h>
37 :
38 : #define BACKEND x86_64_
39 : #include "libebl_CPU.h"
40 :
41 : /* Check for the simple reloc types. */
42 : Elf_Type
43 211595 : x86_64_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
44 : int *addsub __attribute__ ((unused)))
45 : {
46 211595 : switch (type)
47 : {
48 : case R_X86_64_64:
49 : return ELF_T_XWORD;
50 : case R_X86_64_32:
51 : return ELF_T_WORD;
52 : case R_X86_64_32S:
53 : return ELF_T_SWORD;
54 : case R_X86_64_16:
55 : return ELF_T_HALF;
56 : case R_X86_64_8:
57 : return ELF_T_BYTE;
58 : default:
59 : return ELF_T_NUM;
60 : }
61 : }
62 :
63 : /* Return symbolic representation of section type. */
64 : const char *
65 198472 : x86_64_section_type_name (int type,
66 : char *buf __attribute__ ((unused)),
67 : size_t len __attribute__ ((unused)))
68 : {
69 198472 : if (type == SHT_X86_64_UNWIND)
70 0 : return "X86_64_UNWIND";
71 :
72 : return NULL;
73 : }
|