obj->efile.fd = open(obj->path, O_RDONLY);
                if (obj->efile.fd < 0) {
                        char errmsg[STRERR_BUFSIZE];
-                       char *cp = str_error(errno, errmsg, sizeof(errmsg));
+                       char *cp = libbpf_strerror_r(errno, errmsg,
+                                                    sizeof(errmsg));
 
                        pr_warning("failed to open %s: %s\n", obj->path, cp);
                        return -errno;
                                                      data->d_size, name, idx);
                        if (err) {
                                char errmsg[STRERR_BUFSIZE];
-                               char *cp = str_error(-err, errmsg, sizeof(errmsg));
+                               char *cp = libbpf_strerror_r(-err, errmsg,
+                                                            sizeof(errmsg));
 
                                pr_warning("failed to alloc program %s (%s): %s",
                                           name, obj->path, cp);
 
                *pfd = bpf_create_map_xattr(&create_attr);
                if (*pfd < 0 && create_attr.btf_key_type_id) {
-                       cp = str_error(errno, errmsg, sizeof(errmsg));
+                       cp = libbpf_strerror_r(errno, errmsg, sizeof(errmsg));
                        pr_warning("Error in bpf_create_map_xattr(%s):%s(%d). Retrying without BTF.\n",
                                   map->name, cp, errno);
                        create_attr.btf_fd = 0;
                        size_t j;
 
                        err = *pfd;
-                       cp = str_error(errno, errmsg, sizeof(errmsg));
+                       cp = libbpf_strerror_r(errno, errmsg, sizeof(errmsg));
                        pr_warning("failed to create map (name: '%s'): %s\n",
                                   map->name, cp);
                        for (j = 0; j < i; j++)
        }
 
        ret = -LIBBPF_ERRNO__LOAD;
-       cp = str_error(errno, errmsg, sizeof(errmsg));
+       cp = libbpf_strerror_r(errno, errmsg, sizeof(errmsg));
        pr_warning("load bpf program failed: %s\n", cp);
 
        if (log_buf && log_buf[0] != '\0') {
 
        dir = dirname(dname);
        if (statfs(dir, &st_fs)) {
-               cp = str_error(errno, errmsg, sizeof(errmsg));
+               cp = libbpf_strerror_r(errno, errmsg, sizeof(errmsg));
                pr_warning("failed to statfs %s: %s\n", dir, cp);
                err = -errno;
        }
        }
 
        if (bpf_obj_pin(prog->instances.fds[instance], path)) {
-               cp = str_error(errno, errmsg, sizeof(errmsg));
+               cp = libbpf_strerror_r(errno, errmsg, sizeof(errmsg));
                pr_warning("failed to pin program: %s\n", cp);
                return -errno;
        }
                err = -errno;
 
        if (err) {
-               cp = str_error(-err, errmsg, sizeof(errmsg));
+               cp = libbpf_strerror_r(-err, errmsg, sizeof(errmsg));
                pr_warning("failed to mkdir %s: %s\n", path, cp);
        }
        return err;
        }
 
        if (bpf_obj_pin(map->fd, path)) {
-               cp = str_error(errno, errmsg, sizeof(errmsg));
+               cp = libbpf_strerror_r(errno, errmsg, sizeof(errmsg));
                pr_warning("failed to pin map: %s\n", cp);
                return -errno;
        }