Branch data Line data Source code
1 : : /* Register names and numbers for BPF DWARF. 2 : : This file is part of elfutils. 3 : : 4 : : This file is free software; you can redistribute it and/or modify 5 : : it under the terms of either 6 : : 7 : : * the GNU Lesser General Public License as published by the Free 8 : : Software Foundation; either version 3 of the License, or (at 9 : : your option) any later version 10 : : 11 : : or 12 : : 13 : : * the GNU General Public License as published by the Free 14 : : Software Foundation; either version 2 of the License, or (at 15 : : your option) any later version 16 : : 17 : : or both in parallel, as here. 18 : : 19 : : elfutils is distributed in the hope that it will be useful, but 20 : : WITHOUT ANY WARRANTY; without even the implied warranty of 21 : : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 : : General Public License for more details. 23 : : 24 : : You should have received copies of the GNU General Public License and 25 : : the GNU Lesser General Public License along with this program. If 26 : : not, see <http://www.gnu.org/licenses/>. */ 27 : : 28 : : #ifdef HAVE_CONFIG_H 29 : : # include <config.h> 30 : : #endif 31 : : 32 : : #include <stdio.h> 33 : : #include <string.h> 34 : : 35 : : #include "bpf.h" 36 : : 37 : : #define BACKEND bpf_ 38 : : #include "libebl_CPU.h" 39 : : 40 : : ssize_t 41 : 0 : bpf_register_info (Ebl *ebl __attribute__ ((unused)), 42 : : int regno, char *name, size_t namelen, 43 : : const char **prefix, const char **setname, 44 : : int *bits, int *type) 45 : : { 46 : 0 : ssize_t len; 47 : : 48 [ # # ]: 0 : if (name == NULL) 49 : : return MAX_BPF_REG; 50 [ # # ]: 0 : if (regno < 0 || regno >= MAX_BPF_REG) 51 : : return -1; 52 : : 53 : 0 : *prefix = ""; 54 : 0 : *setname = "integer"; 55 : 0 : *bits = 64; 56 : 0 : *type = DW_ATE_signed; 57 : : 58 [ # # ]: 0 : len = snprintf(name, namelen, "r%d", regno); 59 [ # # ]: 0 : return ((size_t)len < namelen ? len : -1); 60 : : }