diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-06 19:50:35 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-06 19:50:35 -0500 |
commit | 3c0cb7c31c206aaedb967e44b98442bbeb17a6c4 (patch) | |
tree | 3ecba45d7ffae4fba4a5aafaef4af5b0b1105bde /scripts | |
parent | f70f5b9dc74ca7d0a64c4ead3fb28da09dc1b234 (diff) | |
parent | 404a02cbd2ae8bf256a2fa1169bdfe86bb5ebb34 (diff) |
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (416 commits)
ARM: DMA: add support for DMA debugging
ARM: PL011: add DMA burst threshold support for ST variants
ARM: PL011: Add support for transmit DMA
ARM: PL011: Ensure IRQs are disabled in UART interrupt handler
ARM: PL011: Separate hardware FIFO size from TTY FIFO size
ARM: PL011: Allow better handling of vendor data
ARM: PL011: Ensure error flags are clear at startup
ARM: PL011: include revision number in boot-time port printk
ARM: vexpress: add sched_clock() for Versatile Express
ARM i.MX53: Make MX53 EVK bootable
ARM i.MX53: Some bug fix about MX53 MSL code
ARM: 6607/1: sa1100: Update platform device registration
ARM: 6606/1: sa1100: Fix platform device registration
ARM i.MX51: rename IPU irqs
ARM i.MX51: Add ipu clock support
ARM: imx/mx27_3ds: Add PMIC support
ARM: DMA: Replace page_to_dma()/dma_to_page() with pfn_to_dma()/dma_to_pfn()
mx51: fix usb clock support
MX51: Add support for usb host 2
arch/arm/plat-mxc/ehci.c: fix errors/typos
...
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/recordmcount.c | 7 | ||||
-rw-r--r-- | scripts/recordmcount.h | 5 |
2 files changed, 8 insertions, 4 deletions
diff --git a/scripts/recordmcount.c b/scripts/recordmcount.c index f2f32eee2c5b..038b3d1e2981 100644 --- a/scripts/recordmcount.c +++ b/scripts/recordmcount.c | |||
@@ -38,6 +38,7 @@ static void *ehdr_curr; /* current ElfXX_Ehdr * for resource cleanup */ | |||
38 | static char gpfx; /* prefix for global symbol name (sometimes '_') */ | 38 | static char gpfx; /* prefix for global symbol name (sometimes '_') */ |
39 | static struct stat sb; /* Remember .st_size, etc. */ | 39 | static struct stat sb; /* Remember .st_size, etc. */ |
40 | static jmp_buf jmpenv; /* setjmp/longjmp per-file error escape */ | 40 | static jmp_buf jmpenv; /* setjmp/longjmp per-file error escape */ |
41 | static const char *altmcount; /* alternate mcount symbol name */ | ||
41 | 42 | ||
42 | /* setjmp() return values */ | 43 | /* setjmp() return values */ |
43 | enum { | 44 | enum { |
@@ -299,7 +300,9 @@ do_file(char const *const fname) | |||
299 | fail_file(); | 300 | fail_file(); |
300 | } break; | 301 | } break; |
301 | case EM_386: reltype = R_386_32; break; | 302 | case EM_386: reltype = R_386_32; break; |
302 | case EM_ARM: reltype = R_ARM_ABS32; break; | 303 | case EM_ARM: reltype = R_ARM_ABS32; |
304 | altmcount = "__gnu_mcount_nc"; | ||
305 | break; | ||
303 | case EM_IA_64: reltype = R_IA64_IMM64; gpfx = '_'; break; | 306 | case EM_IA_64: reltype = R_IA64_IMM64; gpfx = '_'; break; |
304 | case EM_MIPS: /* reltype: e_class */ gpfx = '_'; break; | 307 | case EM_MIPS: /* reltype: e_class */ gpfx = '_'; break; |
305 | case EM_PPC: reltype = R_PPC_ADDR32; gpfx = '_'; break; | 308 | case EM_PPC: reltype = R_PPC_ADDR32; gpfx = '_'; break; |
@@ -357,7 +360,7 @@ do_file(char const *const fname) | |||
357 | int | 360 | int |
358 | main(int argc, char const *argv[]) | 361 | main(int argc, char const *argv[]) |
359 | { | 362 | { |
360 | const char ftrace[] = "kernel/trace/ftrace.o"; | 363 | const char ftrace[] = "/ftrace.o"; |
361 | int ftrace_size = sizeof(ftrace) - 1; | 364 | int ftrace_size = sizeof(ftrace) - 1; |
362 | int n_error = 0; /* gcc-4.3.0 false positive complaint */ | 365 | int n_error = 0; /* gcc-4.3.0 false positive complaint */ |
363 | 366 | ||
diff --git a/scripts/recordmcount.h b/scripts/recordmcount.h index 39667174971d..baf187bee983 100644 --- a/scripts/recordmcount.h +++ b/scripts/recordmcount.h | |||
@@ -275,11 +275,12 @@ static uint_t *sift_rel_mcount(uint_t *mlocp, | |||
275 | Elf_Sym const *const symp = | 275 | Elf_Sym const *const symp = |
276 | &sym0[Elf_r_sym(relp)]; | 276 | &sym0[Elf_r_sym(relp)]; |
277 | char const *symname = &str0[w(symp->st_name)]; | 277 | char const *symname = &str0[w(symp->st_name)]; |
278 | char const *mcount = '_' == gpfx ? "_mcount" : "mcount"; | ||
278 | 279 | ||
279 | if ('.' == symname[0]) | 280 | if ('.' == symname[0]) |
280 | ++symname; /* ppc64 hack */ | 281 | ++symname; /* ppc64 hack */ |
281 | if (0 == strcmp((('_' == gpfx) ? "_mcount" : "mcount"), | 282 | if (0 == strcmp(mcount, symname) || |
282 | symname)) | 283 | (altmcount && 0 == strcmp(altmcount, symname))) |
283 | mcountsym = Elf_r_sym(relp); | 284 | mcountsym = Elf_r_sym(relp); |
284 | } | 285 | } |
285 | 286 | ||