return libbpf_err(-EINVAL);
 
        attr.map_type = map_type;
-       if (map_name)
+       if (map_name && kernel_supports(NULL, FEAT_PROG_NAME))
                libbpf_strlcpy(attr.map_name, map_name, sizeof(attr.map_name));
        attr.key_size = key_size;
        attr.value_size = value_size;
 
        };
        int ret, map, insn_cnt = ARRAY_SIZE(insns);
 
-       map = bpf_map_create(BPF_MAP_TYPE_ARRAY, NULL, sizeof(int), 32, 1, NULL);
+       map = bpf_map_create(BPF_MAP_TYPE_ARRAY, "libbpf_global", sizeof(int), 32, 1, NULL);
        if (map < 0) {
                ret = -errno;
                cp = libbpf_strerror_r(ret, errmsg, sizeof(errmsg));
        LIBBPF_OPTS(bpf_map_create_opts, opts, .map_flags = BPF_F_MMAPABLE);
        int fd;
 
-       fd = bpf_map_create(BPF_MAP_TYPE_ARRAY, NULL, sizeof(int), sizeof(int), 1, &opts);
+       fd = bpf_map_create(BPF_MAP_TYPE_ARRAY, "libbpf_mmap", sizeof(int), sizeof(int), 1, &opts);
        return probe_fd(fd);
 }
 
        };
        int ret, map, prog, insn_cnt = ARRAY_SIZE(insns);
 
-       map = bpf_map_create(BPF_MAP_TYPE_ARRAY, NULL, sizeof(int), 32, 1, NULL);
+       map = bpf_map_create(BPF_MAP_TYPE_ARRAY, "libbpf_det_bind", sizeof(int), 32, 1, NULL);
        if (map < 0) {
                ret = -errno;
                cp = libbpf_strerror_r(ret, errmsg, sizeof(errmsg));