Changeset 2109
- Timestamp:
- 11/07/11 22:04:10 (19 months ago)
- Location:
- trunk
- Files:
-
- 2 modified
-
nm/nm.c (modified) (19 diffs)
-
test/nm/ts/nm_option/tc.sh (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/nm/nm.c
r2076 r2109 320 320 321 321 return (strcmp(((const struct sym_entry *)l)->name, 322 ((const struct sym_entry *)r)->name));322 ((const struct sym_entry *)r)->name)); 323 323 } 324 324 … … 441 441 return (ELFTC_DEM_ARM); 442 442 else 443 errx( EX_USAGE, "unknown demangling style '%s'", opt);443 errx(1, "unknown demangling style '%s'", opt); 444 444 445 445 /* NOTREACHED */ … … 487 487 default: 488 488 warnx("%s: Invalid format", optarg); 489 usage( EX_USAGE);489 usage(1); 490 490 } 491 491 … … 540 540 default: 541 541 warnx("%s: Invalid radix", optarg); 542 usage( EX_USAGE);542 usage(1); 543 543 } 544 544 break; … … 569 569 break; 570 570 case 'h': 571 usage( EX_OK);571 usage(0); 572 572 default : 573 usage( EX_USAGE);573 usage(1); 574 574 } 575 575 } … … 585 585 if (nm_opts.undef_only == true) { 586 586 if (nm_opts.sort_fn == &cmp_size) 587 errx(EX_USAGE, "--size-sort with -u is meaningless"); 588 587 errx(1, "--size-sort with -u is meaningless"); 589 588 if (nm_opts.def_only != 0) 590 errx(EX_USAGE, 591 "-u with --defined-only is meaningless"); 589 errx(1, "-u with --defined-only is meaningless"); 592 590 } 593 591 if (nm_opts.print_debug == false) … … 616 614 char type; 617 615 bool filter; 618 int i ;616 int i, j; 619 617 620 618 assert(elf != NULL); … … 639 637 data = NULL; 640 638 while ((data = elf_getdata(scn, data)) != NULL) { 641 intj = 1;639 j = 1; 642 640 while (gelf_getsym(data, j++, &sym) != NULL) { 643 641 … … 735 733 nm_info.name = ELFTC_GETPROGNAME(); 736 734 nm_info.def_filename = "a.out"; 737 738 735 nm_opts.print_symbol = PRINT_SYM_SYM; 739 736 nm_opts.print_name = PRINT_NAME_NONE; … … 742 739 nm_opts.print_armap = false; 743 740 nm_opts.print_size = 0; 744 745 741 nm_opts.debug_line = false; 746 747 742 nm_opts.def_only = 0; 748 743 nm_opts.undef_only = false; 749 750 744 nm_opts.sort_size = 0; 751 745 nm_opts.sort_reverse = false; 752 746 nm_opts.no_demangle = 0; 753 754 747 nm_opts.sort_fn = &cmp_name; 755 748 nm_opts.elem_print_fn = &sym_elem_print_all; 756 749 nm_opts.value_print_fn = &sym_value_dec_print; 757 750 nm_opts.size_print_fn = &sym_size_dec_print; 758 759 751 SLIST_INIT(&nm_out_filter); 760 752 } … … 908 900 print_version(void) 909 901 { 902 910 903 (void) printf("%s (%s)\n", nm_info.name, elftc_version()); 911 exit( EX_OK);904 exit(0); 912 905 } 913 906 … … 1870 1863 sec = "*LOPROC*"; 1871 1864 break; 1872 1873 1865 case SHN_HIPROC: 1874 1866 sec = "*HIPROC*"; 1875 1867 break; 1876 1877 1868 case SHN_LOOS: 1878 1869 sec = "*LOOS*"; 1879 1870 break; 1880 1881 1871 case SHN_HIOS: 1882 1872 sec = "*HIOS*"; 1883 1873 break; 1884 1885 1874 case SHN_ABS: 1886 1875 sec = "*ABS*"; 1887 1876 break; 1888 1889 1877 case SHN_COMMON: 1890 1878 sec = "*COM*"; 1891 1879 break; 1892 1893 1880 case SHN_HIRESERVE: 1894 1881 /* HIRESERVE or XINDEX */ 1895 1882 sec = "*HIRESERVE*"; 1896 1883 break; 1897 1898 1884 default: 1899 1885 if (ep->sym->st_shndx > p->sh_num) 1900 1886 return; 1901 1887 sec = p->s_table[ep->sym->st_shndx]; 1888 break; 1902 1889 }; 1903 1890 … … 1948 1935 1949 1936 assert(sym != NULL && "sym is null"); 1950 1951 1937 printf("%016" PRIo64, sym->st_size); 1952 1938 } … … 1957 1943 1958 1944 assert(sym != NULL && "sym is null"); 1959 1960 1945 if (nm_elfclass == ELFCLASS32) 1961 1946 printf("%08" PRIx64, sym->st_size); … … 1969 1954 1970 1955 assert(sym != NULL && "sym is null"); 1971 1972 1956 printf("%016" PRId64, sym->st_size); 1973 1957 } … … 1978 1962 1979 1963 assert(sym != NULL && "sym is null"); 1980 1981 1964 printf("%016" PRIo64, sym->st_value); 1982 1965 } … … 1987 1970 1988 1971 assert(sym != NULL && "sym is null"); 1989 1990 1972 if (nm_elfclass == ELFCLASS32) 1991 1973 printf("%08" PRIx64, sym->st_value); … … 1999 1981 2000 1982 assert(sym != NULL && "sym is null"); 2001 2002 1983 printf("%016" PRId64, sym->st_value); 2003 1984 } … … 2067 2048 main(int argc, char **argv) 2068 2049 { 2069 int rtn = 1; 2070 2071 assert(argc > 0); 2050 int rtn; 2072 2051 2073 2052 global_init(); 2074 2075 assert(nm_info.name != NULL && "nm_info.name is null");2076 assert(nm_info.def_filename != NULL && "nm_info.def_filename is null");2077 2078 2053 get_opt(argc, argv); 2079 2080 assert(nm_opts.sort_fn != NULL && "nm_opts.sort_fn is null");2081 assert(nm_opts.elem_print_fn != NULL &&2082 "nm_opts.elem_print_fn is null");2083 assert(nm_opts.value_print_fn != NULL &&2084 "nm_opts.value_print_fn is null");2085 2086 2054 rtn = read_files(argc - optind, argv + optind); 2087 2088 2055 global_dest(); 2089 2056 2090 return(rtn);2091 } 2057 exit(rtn); 2058 } -
trunk/test/nm/ts/nm_option/tc.sh
r2085 r2109 39 39 40 40 ERROR_OK="0" 41 ERROR_USAGE=" 64"41 ERROR_USAGE="1" 42 42 43 43 tet_startup=""