libbpf: Extract internal map names into constants
authorAndrii Nakryiko <andriin@fb.com>
Sat, 14 Dec 2019 01:47:07 +0000 (17:47 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Mon, 16 Dec 2019 00:41:12 +0000 (16:41 -0800)
Instead of duplicating string literals, keep them in one place and consistent.

Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20191214014710.3449601-2-andriin@fb.com
tools/lib/bpf/libbpf.c

index a1a902fa6e0c5e86600e14962f6350496b3abd4b..f6c1358697015f1dcac08ba81e91eb6c0c09d632 100644 (file)
@@ -195,6 +195,10 @@ struct bpf_program {
        __u32 prog_flags;
 };
 
+#define DATA_SEC ".data"
+#define BSS_SEC ".bss"
+#define RODATA_SEC ".rodata"
+
 enum libbpf_map_type {
        LIBBPF_MAP_UNSPEC,
        LIBBPF_MAP_DATA,
@@ -203,9 +207,9 @@ enum libbpf_map_type {
 };
 
 static const char * const libbpf_type_to_btf_name[] = {
-       [LIBBPF_MAP_DATA]       = ".data",
-       [LIBBPF_MAP_BSS]        = ".bss",
-       [LIBBPF_MAP_RODATA]     = ".rodata",
+       [LIBBPF_MAP_DATA]       = DATA_SEC,
+       [LIBBPF_MAP_BSS]        = BSS_SEC,
+       [LIBBPF_MAP_RODATA]     = RODATA_SEC,
 };
 
 struct bpf_map {
@@ -736,13 +740,13 @@ int bpf_object__section_size(const struct bpf_object *obj, const char *name,
        *size = 0;
        if (!name) {
                return -EINVAL;
-       } else if (!strcmp(name, ".data")) {
+       } else if (!strcmp(name, DATA_SEC)) {
                if (obj->efile.data)
                        *size = obj->efile.data->d_size;
-       } else if (!strcmp(name, ".bss")) {
+       } else if (!strcmp(name, BSS_SEC)) {
                if (obj->efile.bss)
                        *size = obj->efile.bss->d_size;
-       } else if (!strcmp(name, ".rodata")) {
+       } else if (!strcmp(name, RODATA_SEC)) {
                if (obj->efile.rodata)
                        *size = obj->efile.rodata->d_size;
        } else {
@@ -1684,10 +1688,10 @@ static int bpf_object__elf_collect(struct bpf_object *obj)
                                                name, obj->path, cp);
                                        return err;
                                }
-                       } else if (strcmp(name, ".data") == 0) {
+                       } else if (strcmp(name, DATA_SEC) == 0) {
                                obj->efile.data = data;
                                obj->efile.data_shndx = idx;
-                       } else if (strcmp(name, ".rodata") == 0) {
+                       } else if (strcmp(name, RODATA_SEC) == 0) {
                                obj->efile.rodata = data;
                                obj->efile.rodata_shndx = idx;
                        } else {
@@ -1717,7 +1721,8 @@ static int bpf_object__elf_collect(struct bpf_object *obj)
 
                        obj->efile.reloc_sects[nr_sects].shdr = sh;
                        obj->efile.reloc_sects[nr_sects].data = data;
-               } else if (sh.sh_type == SHT_NOBITS && strcmp(name, ".bss") == 0) {
+               } else if (sh.sh_type == SHT_NOBITS &&
+                          strcmp(name, BSS_SEC) == 0) {
                        obj->efile.bss = data;
                        obj->efile.bss_shndx = idx;
                } else {