int main() { char path[20] = {'\0'}; void *ptr; sprintf(path, "/sys/kernel/notes"); sysfs__read_build_id(path, ptr, 20); printf("main ptr: 0x%X\n",(unsigned int)ptr); printf("ptr: %s\n",(char *)ptr); }
static int sysfs__fprintf_build_id(FILE *fp) { u8 kallsyms_build_id[BUILD_ID_SIZE]; char sbuild_id[BUILD_ID_SIZE * 2 + 1]; if (sysfs__read_build_id("/sys/kernel/notes", kallsyms_build_id, sizeof(kallsyms_build_id)) != 0) return -1; build_id__sprintf(kallsyms_build_id, sizeof(kallsyms_build_id), sbuild_id); fprintf(fp, "%s\n", sbuild_id); return 0; }
static int build_id_cache__kcore_buildid(const char *proc_dir, char *sbuildid) { char root_dir[PATH_MAX]; char notes[PATH_MAX]; u8 build_id[BUILD_ID_SIZE]; char *p; strlcpy(root_dir, proc_dir, sizeof(root_dir)); p = strrchr(root_dir, '/'); if (!p) return -1; *p = '\0'; scnprintf(notes, sizeof(notes), "%s/sys/kernel/notes", root_dir); if (sysfs__read_build_id(notes, build_id, sizeof(build_id))) return -1; build_id__sprintf(build_id, sizeof(build_id), sbuildid); return 0; }