Commit b3b3a9b63f2deacfd59137e3781211d21a568ca9

Authored by Anand Gadiyar
Committed by Robert Richter
1 parent 277dd98417

oprofile: fix linker errors

Commit e9677b3ce (oprofile, ARM: Use oprofile_arch_exit() to
cleanup on failure) caused oprofile_perf_exit to be called
in the cleanup path of oprofile_perf_init. The __exit tag
for oprofile_perf_exit should therefore be dropped.

The same has to be done for exit_driverfs as well, as this
function is called from oprofile_perf_exit. Else, we get
the following two linker errors.

  LD      .tmp_vmlinux1
`oprofile_perf_exit' referenced in section `.init.text' of arch/arm/oprofile/built-in.o: defined in discarded section `.exit.text' of arch/arm/oprofile/built-in.o
make: *** [.tmp_vmlinux1] Error 1

  LD      .tmp_vmlinux1
`exit_driverfs' referenced in section `.text' of arch/arm/oprofile/built-in.o: defined in discarded section `.exit.text' of arch/arm/oprofile/built-in.o
make: *** [.tmp_vmlinux1] Error 1

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Robert Richter <robert.richter@amd.com>

Showing 2 changed files with 2 additions and 2 deletions Side-by-side Diff

drivers/oprofile/oprofile_perf.c
... ... @@ -236,7 +236,7 @@
236 236 return ret;
237 237 }
238 238  
239   -static void __exit exit_driverfs(void)
  239 +static void exit_driverfs(void)
240 240 {
241 241 platform_device_unregister(oprofile_pdev);
242 242 platform_driver_unregister(&oprofile_driver);
include/linux/oprofile.h
... ... @@ -188,7 +188,7 @@
188 188  
189 189 #ifdef CONFIG_PERF_EVENTS
190 190 int __init oprofile_perf_init(struct oprofile_operations *ops);
191   -void __exit oprofile_perf_exit(void);
  191 +void oprofile_perf_exit(void);
192 192 char *op_name_from_perf_id(void);
193 193 #endif /* CONFIG_PERF_EVENTS */
194 194