|
@@ -11,12 +11,13 @@ void die(char *fmt, ...)
|
|
|
|
|
|
static void usage(void)
|
|
|
{
|
|
|
- die("relocs [--abs-syms|--abs-relocs|--text|--realmode] vmlinux\n");
|
|
|
+ die("relocs [--abs-syms|--abs-relocs|--reloc-info|--text|--realmode]" \
|
|
|
+ " vmlinux\n");
|
|
|
}
|
|
|
|
|
|
int main(int argc, char **argv)
|
|
|
{
|
|
|
- int show_absolute_syms, show_absolute_relocs;
|
|
|
+ int show_absolute_syms, show_absolute_relocs, show_reloc_info;
|
|
|
int as_text, use_real_mode;
|
|
|
const char *fname;
|
|
|
FILE *fp;
|
|
@@ -25,6 +26,7 @@ int main(int argc, char **argv)
|
|
|
|
|
|
show_absolute_syms = 0;
|
|
|
show_absolute_relocs = 0;
|
|
|
+ show_reloc_info = 0;
|
|
|
as_text = 0;
|
|
|
use_real_mode = 0;
|
|
|
fname = NULL;
|
|
@@ -39,6 +41,10 @@ int main(int argc, char **argv)
|
|
|
show_absolute_relocs = 1;
|
|
|
continue;
|
|
|
}
|
|
|
+ if (strcmp(arg, "--reloc-info") == 0) {
|
|
|
+ show_reloc_info = 1;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
if (strcmp(arg, "--text") == 0) {
|
|
|
as_text = 1;
|
|
|
continue;
|
|
@@ -67,10 +73,12 @@ int main(int argc, char **argv)
|
|
|
rewind(fp);
|
|
|
if (e_ident[EI_CLASS] == ELFCLASS64)
|
|
|
process_64(fp, use_real_mode, as_text,
|
|
|
- show_absolute_syms, show_absolute_relocs);
|
|
|
+ show_absolute_syms, show_absolute_relocs,
|
|
|
+ show_reloc_info);
|
|
|
else
|
|
|
process_32(fp, use_real_mode, as_text,
|
|
|
- show_absolute_syms, show_absolute_relocs);
|
|
|
+ show_absolute_syms, show_absolute_relocs,
|
|
|
+ show_reloc_info);
|
|
|
fclose(fp);
|
|
|
return 0;
|
|
|
}
|