linux/arch/arm
Pawel Moll dc810efb0c ARM: 6740/1: Place correctly notes section in the linker script
Commit 18991197b4 added --build-id
linker option when toolchain supports it. ARM one does, but for some
reason places the section at 0 when linker script doesn't mention it
explicitly.

The 1e621a8e37 worked around the problem
removing this section from binary image with explicit objcopy options,
but it still exists in vmlinux, confusing tools like debuggers and perf.

This problem was discussed here:
http://lists.infradead.org/pipermail/linux-arm-kernel/2010-May/015994.html
http://lists.infradead.org/pipermail/linux-arm-kernel/2010-May/015994.html
but the proposed changes to the linker script were substantial.

This patch simply places NOTES (36 bytes long, at least when compiled
with CodeSourcery toolchain) between data and bss, which seem to be
the right place (and suggested by the sample linker script in
include/asm-generic/vmlinux.lds.h).

It is enough to place it correctly in vmlinux (so debuggers are happy):

Section Headers:
  [11] .data             PROGBITS        c07ce000 7ce000 020fc0 00  WA  0   0 32
  [12] .notes            NOTE            c07eefc0 7eefc0 000024 00  AX  0   0  4
  [13] .bss              NOBITS          c07ef000 7eefe4 01e628 00  WA  0   0 32
Program Headers:
  LOAD           0x008000 0xc0008000 0xc0008000 0x7e6fe4 0x805628 RWE 0x8000
  NOTE           0x7eefc0 0xc07eefc0 0xc07eefc0 0x00024 0x00024 R E 0x4
Section to Segment mapping:
  Segment Sections...
   00     <...> .data .notes .bss
   01     .notes

and to get it exposed as /sys/kernel/notes used by perf tools.

Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-02-21 19:29:25 +00:00
..
boot ARM: 6739/1: update .gitignore for boot/compressed 2011-02-19 11:24:25 +00:00
common Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
configs kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
include/asm ARM: 6722/1: SPEAr: sp810: switch to slow mode before reset 2011-02-21 19:29:24 +00:00
kernel ARM: 6740/1: Place correctly notes section in the linker script 2011-02-21 19:29:25 +00:00
lib ARM: udelay: prevent math rounding resulting in short udelays 2011-01-10 23:55:59 +00:00
mach-aaec2000 ARM: aaec2000: irq_data conversion. 2011-01-13 17:18:21 +01:00
mach-at91 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-bcmring Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-clps711x ARM: clps711x: irq_data conversion. 2011-01-13 17:18:24 +01:00
mach-cns3xxx Merge branch 'devel-stable' into devel 2011-01-06 22:33:32 +00:00
mach-davinci Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-dove ARM: dove: irq_data conversion. 2011-01-13 17:18:27 +01:00
mach-ebsa110 ARM: ebsa110: irq_data conversion. 2011-01-13 17:18:28 +01:00
mach-ep93xx ARM: 6652/1: ep93xx: correct the end address of the AC97 memory resource 2011-02-05 09:50:44 +00:00
mach-footbridge ARM: footbridge: fix debug macros 2011-01-31 10:53:39 +00:00
mach-gemini Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-h720x Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-imx ARM: mach-imx/mach-mx25_3ds: Fix section type 2011-01-24 09:02:03 +01:00
mach-integrator Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-iop13xx ARM: iop13xx: irq_data conversion. 2011-01-13 17:18:35 +01:00
mach-iop32x ARM: iop32x: irq_data conversion. 2011-01-13 17:18:36 +01:00
mach-iop33x ARM: iop33x: irq_data conversion. 2011-01-13 17:18:37 +01:00
mach-ixp4xx arm/ixp4xx: Rename FREQ macro to avoid collisions 2011-02-06 16:49:48 +01:00
mach-ixp23xx ARM: ixp23xx: irq_data conversion. 2011-01-13 17:18:39 +01:00
mach-ixp2000 ARM: ixp2000: irq_data conversion. 2011-01-13 17:18:38 +01:00
mach-kirkwood Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2011-01-13 10:32:54 -08:00
mach-ks8695 ARM: ks8695: irq_data conversion. 2011-01-13 17:18:41 +01:00
mach-l7200/include/mach arm: return both physical and virtual addresses from addruart 2010-10-20 00:27:33 -04:00
mach-lh7a40x ARM: lh7a40x: irq_data conversion. 2011-01-13 17:18:43 +01:00
mach-loki arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-lpc32xx Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-mmp ARM: mmp: PXA910 drive strength FAST using wrong value 2011-01-15 04:29:20 -06:00
mach-msm Merge branch 'for-38-rc2' of git://codeaurora.org/quic/kernel/davidb/linux-msm 2011-01-20 16:30:22 -08:00
mach-mv78xx0 [ARM] mv78xx: wrong cpu1 window base register address 2010-11-29 10:42:05 -05:00
mach-mx3 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-mx5 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable 2011-01-14 12:12:42 +00:00
mach-mxc91231 Merge branch 'devel-stable' into devel 2011-01-06 22:33:32 +00:00
mach-mxs ARM: mxs/imx28: remove now unused clock lookup "fec.0" 2011-02-01 10:44:25 +01:00
mach-netx ARM: netx: irq_data conversion. 2011-01-13 17:18:48 +01:00
mach-nomadik ARM: 6483/1: arm & sh: factorised duplicated clkdev.c 2010-11-26 10:51:04 +00:00
mach-ns9xxx ARM: ns9xxx: irq_data conversion. 2011-01-13 17:18:49 +01:00
mach-nuc93x ARM: nuc93x: irq_data conversion. 2011-01-13 17:18:50 +01:00
mach-omap1 OMAP1: Fix non-working LCD on OMAP310 2011-02-02 12:13:50 -08:00
mach-omap2 arm: omap4: panda: remove usb_nop_xceiv_register(v1) 2011-02-02 12:23:36 -08:00
mach-orion5x Merge branch 'devel-stable' into devel 2011-01-06 22:33:32 +00:00
mach-pnx4008 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-pxa ARM: pxa: Properly configure PWM period for palm27x 2011-02-09 23:05:03 +08:00
mach-realview ARM: realview: name configuration options after actual board names 2011-01-25 15:08:01 +00:00
mach-rpc ARM: rpc: irq_data conversion. 2011-01-13 17:18:57 +01:00
mach-s3c24a0/include/mach Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable 2010-10-28 12:27:34 +01:00
mach-s3c64xx Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-s3c2400
mach-s3c2410 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-s3c2412 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable 2011-01-15 13:24:02 +00:00
mach-s3c2416 Merge branch 'next-s3c24xx' into for-next 2011-01-06 18:44:09 +09:00
mach-s3c2440 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-s3c2443 Merge branch 'next-s3c24xx' into for-next 2011-01-06 18:44:09 +09:00
mach-s5p64x0 ARM: S5P6450: Add missing virtual ASoC DMA device 2011-01-18 14:44:32 +09:00
mach-s5p6442 ARM: S5P6442: Enable I2S device to work on SMDK6442 2011-01-18 14:44:32 +09:00
mach-s5pc100 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-s5pv210 ARM: S5PV210: Add missing virtual ASoC DMA device 2011-01-18 14:45:33 +09:00
mach-s5pv310 ARM: S5PV310: Cleanup System MMU 2011-02-11 10:25:56 +09:00
mach-sa1100 ARM: 6658/1: collie: do actually pass locomo_info to locomo driver 2011-02-11 22:53:40 +00:00
mach-shark ARM: shark: irq_data conversion. 2011-01-13 17:19:00 +01:00
mach-shmobile ARM: mach-shmobile: AG5EVM LCDC / MIPI-DSI platform data 2011-01-20 21:34:32 +09:00
mach-spear3xx ARM: 6700/1: SPEAr: Correct SOC config base address for spear320 2011-02-21 19:29:24 +00:00
mach-spear6xx tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
mach-stmp37xx ARM: stmp37xx: irq_data conversion. 2011-01-13 17:19:02 +01:00
mach-stmp378x ARM: stmp378x: irq_data conversion. 2011-01-13 17:19:01 +01:00
mach-tcc8k ARM: tcc8k: irq_data conversion. 2011-01-13 17:19:03 +01:00
mach-tegra Merge branch 'for-linus' of git://android.git.kernel.org/kernel/tegra 2011-01-31 12:49:26 +10:00
mach-u300 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
mach-ux500 mach-ux500: Updated and connected ab8500 regulator board configuration 2011-01-12 14:33:03 +00:00
mach-versatile ARM: versatile: name configuration options after actual board names 2011-01-25 15:08:02 +00:00
mach-vexpress ARM: 6635/2: Configure reference clock for Versatile Express timers 2011-01-25 16:18:33 +00:00
mach-w90x900 ARM: w90x900: irq_data conversion. 2011-01-13 17:19:07 +01:00
mm ARM: 6743/1: errata: interrupted ICALLUIS may prevent completion of broadcasted operation 2011-02-19 11:24:12 +00:00
nwfpe Update broken web addresses in arch directory. 2010-10-18 11:03:21 +02:00
oprofile Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-02-15 10:18:48 -08:00
plat-iop Merge branch 'clksrc' into devel 2011-01-05 18:09:03 +00:00
plat-mxc ARM: imx: Add VPR200 and MX51_3DS entries to uncompress.h 2011-01-24 09:02:02 +01:00
plat-nomadik Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-01-17 10:54:41 -08:00
plat-omap omap: DMA: clear interrupt status correctly 2011-01-19 14:41:21 -08:00
plat-orion ARM: plat-orion: irq_data conversion. 2011-01-13 17:19:12 +01:00
plat-pxa ARM: pxa: fix mfpr_sync to read from valid offset 2011-02-09 23:05:03 +08:00
plat-s3c24xx Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
plat-s5p ARM: S5PV310: Cleanup System MMU 2011-02-11 10:25:56 +09:00
plat-samsung ARM: SAMSUNG: Ensure struct sys_device is declared in plat/pm.h 2011-02-11 10:25:57 +09:00
plat-spear ARM: 6712/1: SPEAr: replace readl(), writel() with relaxed versions in uncompress.h 2011-02-21 19:29:23 +00:00
plat-stmp3xxx ARM: plat-stmp3xxx: irq_data conversion. 2011-01-13 17:19:14 +01:00
plat-tcc arm: return both physical and virtual addresses from addruart 2010-10-20 00:27:33 -04:00
plat-versatile Merge branch 'clksrc' into devel 2011-01-05 18:09:03 +00:00
tools ARM: Update mach-types 2011-02-07 09:04:48 +00:00
vfp Merge branch 'misc' into devel 2011-01-06 22:32:52 +00:00
Kconfig ARM: 6743/1: errata: interrupted ICALLUIS may prevent completion of broadcasted operation 2011-02-19 11:24:12 +00:00
Kconfig-nommu
Kconfig.debug Merge branch 'misc' into devel 2011-01-06 22:32:52 +00:00
Makefile ARM: 6740/1: Place correctly notes section in the linker script 2011-02-21 19:29:25 +00:00