return 0;
 
 err_unpin_maps:
-       while ((map = bpf_map__prev(map, obj))) {
+       while ((map = bpf_object__prev_map(obj, map))) {
                if (!map->pin_path)
                        continue;
 
        return 0;
 
 err_unpin_programs:
-       while ((prog = bpf_program__prev(prog, obj))) {
+       while ((prog = bpf_object__prev_program(obj, prog))) {
                char buf[PATH_MAX];
                int len;
 
        return 0;
 }
 
+static int bpf_program_nth_fd(const struct bpf_program *prog, int n);
+
 int bpf_program__fd(const struct bpf_program *prog)
 {
-       return bpf_program__nth_fd(prog, 0);
+       return bpf_program_nth_fd(prog, 0);
 }
 
 size_t bpf_program__size(const struct bpf_program *prog)
        return 0;
 }
 
-int bpf_program__nth_fd(const struct bpf_program *prog, int n)
+__attribute__((alias("bpf_program_nth_fd")))
+int bpf_program__nth_fd(const struct bpf_program *prog, int n);
+
+static int bpf_program_nth_fd(const struct bpf_program *prog, int n)
 {
        int fd;