36 lines
1.0 KiB
Diff
36 lines
1.0 KiB
Diff
--- misc/nm.c 1969-12-31 16:00:00.000000000 -0800
|
|
+++ misc/nm.c 2012-09-29 12:36:22.000000000 -0700
|
|
@@ -496,7 +496,7 @@ void *cookie)
|
|
uint32_t nsymbols;
|
|
struct value_diff *value_diffs;
|
|
|
|
- char *short_name, *has_suffix;
|
|
+ char *short_name, *suffix;
|
|
enum bool is_framework;
|
|
|
|
cmd_flags = (struct cmd_flags *)cookie;
|
|
@@ -650,9 +650,20 @@ void *cookie)
|
|
process_flags.lib_names[j] =
|
|
(char *)dl + dl->dylib.name.offset;
|
|
short_name = guess_short_name(process_flags.lib_names[j],
|
|
- &is_framework, &has_suffix);
|
|
- if(short_name != NULL)
|
|
- process_flags.lib_names[j] = short_name;
|
|
+ &is_framework, &suffix);
|
|
+ if(short_name != NULL) {
|
|
+ if (suffix) {
|
|
+ char *combined_name;
|
|
+ asprintf(&combined_name, "%s%s", short_name, suffix);
|
|
+ if (combined_name) {
|
|
+ process_flags.lib_names[j] = combined_name;
|
|
+ free(short_name);
|
|
+ free(suffix);
|
|
+ }
|
|
+ } else {
|
|
+ process_flags.lib_names[j] = short_name;
|
|
+ }
|
|
+ }
|
|
j++;
|
|
}
|
|
lc = (struct load_command *)
|