diff options
| author | Mark Wielaard <[email protected]> | 2017-08-03 12:37:37 +0200 |
|---|---|---|
| committer | Mark Wielaard <[email protected]> | 2017-08-03 14:21:08 +0200 |
| commit | 766df1e15c1e8f8bc9890e7538eb2ef15a6516dc (patch) | |
| tree | 45ae9d0ac821a15fbb9336909671e18efc15f6e8 /backends/arm_symbol.c | |
| parent | 13c3e00ba629586ae42c316ae4ed6c3f04282a82 (diff) | |
| parent | 54ba4ce2973113d8f4315d4fc90e16a9b4476ea6 (diff) | |
Merge tag 'elfutils-0.170' into mjw/RH-DTSdts-0.170
elfutils 0.170 release
Conflicts:
libcpu/Makefile.am
libdw/Makefile.am
tests/Makefile.am
Diffstat (limited to 'backends/arm_symbol.c')
| -rw-r--r-- | backends/arm_symbol.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/backends/arm_symbol.c b/backends/arm_symbol.c index da4a50a7..3edda724 100644 --- a/backends/arm_symbol.c +++ b/backends/arm_symbol.c @@ -1,5 +1,5 @@ /* Arm specific symbolic name handling. - Copyright (C) 2002-2009, 2014, 2015 Red Hat, Inc. + Copyright (C) 2002-2009, 2014, 2015, 2017 Red Hat, Inc. This file is part of elfutils. This file is free software; you can redistribute it and/or modify @@ -32,6 +32,7 @@ #include <elf.h> #include <stddef.h> +#include <string.h> #define BACKEND arm_ #include "libebl_CPU.h" @@ -142,3 +143,15 @@ arm_symbol_type_name (int type, } return NULL; } + +/* A data mapping symbol is a symbol with "$d" name or "$d.<any...>" name, + * STT_NOTYPE, STB_LOCAL and st_size of zero. The indicate the stat of a + * sequence of data items. */ +bool +arm_data_marker_symbol (const GElf_Sym *sym, const char *sname) +{ + return (sym != NULL && sname != NULL + && sym->st_size == 0 && GELF_ST_BIND (sym->st_info) == STB_LOCAL + && GELF_ST_TYPE (sym->st_info) == STT_NOTYPE + && (strcmp (sname, "$d") == 0 || strncmp (sname, "$d.", 3) == 0)); +} |
