All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org, arm@kernel.org,
	Arnd Bergmann <arnd@arndb.de>, Shawn Guo <shawn.guo@linaro.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Dinh Nguyen <dinguyen@altera.com>, Pavel Machek <pavel@denx.de>,
	Stephen Warren <swarren@nvidia.com>,
	Simon Horman <horms+renesas@verge.net.au>
Subject: [PATCH 8/9] [HACK] ARM: imx: work around v7_cpu_resume link error
Date: Thu, 14 Feb 2013 23:47:50 +0100	[thread overview]
Message-ID: <1360882071-4072668-9-git-send-email-arnd@arndb.de> (raw)
In-Reply-To: <1360882071-4072668-1-git-send-email-arnd@arndb.de>

Patch c08e20d24 "arm: Add v7_invalidate_l1 to cache-v7.S"
moves the v7_invalidate_l1 symbol out of imx/headsmp.S,
which seems to cause a link error because it is now
too far away from v7_cpu_resume when building an
allyesconfig kernel.

If we move the v7_cpu_resume function from the .data
section to .text, that creates another link error
for the reference to phys_l2x0_saved_regs, but we
can move all of the above to .text.

I believe that this is not a correct bug fix but just
a bad workaround, so I'm open to ideas from people
who understand the bigger picture.

Without this patch, building allyesconfig results in:

arch/arm/mach-imx/built-in.o: In function `v7_cpu_resume':
arch/arm/mach-imx/headsmp.S:55:(.data+0x87f8): relocation truncated to fit: R_ARM_CALL against symbol `v7_invalidate_l1' defined in .text section in arch/arm/mm/built-in.o

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Dinh Nguyen <dinguyen@altera.com>
Cc: Pavel Machek <pavel@denx.de>
Cc: Stephen Warren <swarren@nvidia.com>
Cc: Simon Horman <horms+renesas@verge.net.au>
---
 arch/arm/mach-imx/headsmp.S | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-imx/headsmp.S b/arch/arm/mach-imx/headsmp.S
index 921fc15..0de76cc 100644
--- a/arch/arm/mach-imx/headsmp.S
+++ b/arch/arm/mach-imx/headsmp.S
@@ -30,7 +30,7 @@ ENDPROC(v7_secondary_startup)
  * allow phys_l2x0_saved_regs to be accessed with a relative load
  * as we are running on physical address here.
  */
-	.data
+	.text
 	.align
 
 #ifdef CONFIG_CACHE_L2X0
@@ -51,6 +51,8 @@ phys_l2x0_saved_regs:
 	.endm
 #endif
 
+	.text
+
 ENTRY(v7_cpu_resume)
 	bl	v7_invalidate_l1
 	pl310_resume
-- 
1.8.1.2


WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 8/9] [HACK] ARM: imx: work around v7_cpu_resume link error
Date: Thu, 14 Feb 2013 23:47:50 +0100	[thread overview]
Message-ID: <1360882071-4072668-9-git-send-email-arnd@arndb.de> (raw)
In-Reply-To: <1360882071-4072668-1-git-send-email-arnd@arndb.de>

Patch c08e20d24 "arm: Add v7_invalidate_l1 to cache-v7.S"
moves the v7_invalidate_l1 symbol out of imx/headsmp.S,
which seems to cause a link error because it is now
too far away from v7_cpu_resume when building an
allyesconfig kernel.

If we move the v7_cpu_resume function from the .data
section to .text, that creates another link error
for the reference to phys_l2x0_saved_regs, but we
can move all of the above to .text.

I believe that this is not a correct bug fix but just
a bad workaround, so I'm open to ideas from people
who understand the bigger picture.

Without this patch, building allyesconfig results in:

arch/arm/mach-imx/built-in.o: In function `v7_cpu_resume':
arch/arm/mach-imx/headsmp.S:55:(.data+0x87f8): relocation truncated to fit: R_ARM_CALL against symbol `v7_invalidate_l1' defined in .text section in arch/arm/mm/built-in.o

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Dinh Nguyen <dinguyen@altera.com>
Cc: Pavel Machek <pavel@denx.de>
Cc: Stephen Warren <swarren@nvidia.com>
Cc: Simon Horman <horms+renesas@verge.net.au>
---
 arch/arm/mach-imx/headsmp.S | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-imx/headsmp.S b/arch/arm/mach-imx/headsmp.S
index 921fc15..0de76cc 100644
--- a/arch/arm/mach-imx/headsmp.S
+++ b/arch/arm/mach-imx/headsmp.S
@@ -30,7 +30,7 @@ ENDPROC(v7_secondary_startup)
  * allow phys_l2x0_saved_regs to be accessed with a relative load
  * as we are running on physical address here.
  */
-	.data
+	.text
 	.align
 
 #ifdef CONFIG_CACHE_L2X0
@@ -51,6 +51,8 @@ phys_l2x0_saved_regs:
 	.endm
 #endif
 
+	.text
+
 ENTRY(v7_cpu_resume)
 	bl	v7_invalidate_l1
 	pl310_resume
-- 
1.8.1.2

  parent reply	other threads:[~2013-02-14 22:48 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-14 22:47 [PATCH 0/9] arm-soc/for-next allyesconfig build regressions Arnd Bergmann
2013-02-14 22:47 ` Arnd Bergmann
2013-02-14 22:47 ` [PATCH 1/9] ARM: arch_timer: include linux/errno.h Arnd Bergmann
2013-02-14 22:47   ` Arnd Bergmann
2013-02-15 10:26   ` Mark Rutland
2013-02-15 10:26     ` Mark Rutland
2013-02-15 18:33     ` Arnd Bergmann
2013-02-15 18:33       ` Arnd Bergmann
2013-02-14 22:47 ` [PATCH 2/9] ARM: imx: MACH_MX31ADS_WM1133_EV1 needs REGULATOR_WM8350 Arnd Bergmann
2013-02-14 22:47   ` Arnd Bergmann
2013-02-15 17:21   ` Sascha Hauer
2013-02-15 17:21     ` Sascha Hauer
2013-02-14 22:47 ` [PATCH 3/9] ARM: omap2: include linux/errno.h in hwmod_reset Arnd Bergmann
2013-02-14 22:47   ` Arnd Bergmann
2013-02-14 22:51   ` Tony Lindgren
2013-02-14 22:51     ` Tony Lindgren
2013-02-15 12:38     ` Arnd Bergmann
2013-02-15 12:38       ` Arnd Bergmann
2013-02-14 22:58   ` Paul Walmsley
2013-02-14 22:58     ` Paul Walmsley
2013-02-14 22:47 ` [PATCH 4/9] ARM: omap: add include guard for soc.h Arnd Bergmann
2013-02-14 22:47   ` Arnd Bergmann
2013-02-14 22:55   ` Tony Lindgren
2013-02-14 22:55     ` Tony Lindgren
2013-02-14 23:11     ` Arnd Bergmann
2013-02-14 23:11       ` Arnd Bergmann
2013-02-15 12:40     ` Arnd Bergmann
2013-02-15 12:40       ` Arnd Bergmann
2013-02-14 22:47 ` [PATCH 5/9] drm: export drm_vm_open_locked Arnd Bergmann
2013-02-14 22:47   ` Arnd Bergmann
2013-02-14 22:47 ` [PATCH 6/9] net: cwdavinci_cpdma: export symbols for cpsw Arnd Bergmann
2013-02-14 22:47   ` Arnd Bergmann
2013-02-14 22:52   ` David Miller
2013-02-14 22:52     ` David Miller
2013-02-14 22:47 ` [PATCH 7/9] remoteproc: omap: depend on OMAP_MBOX_FWK Arnd Bergmann
2013-02-14 22:47   ` Arnd Bergmann
2013-02-14 22:55   ` Tony Lindgren
2013-02-14 22:55     ` Tony Lindgren
2013-02-15  6:56     ` Ohad Ben-Cohen
2013-02-15  6:56       ` Ohad Ben-Cohen
2013-02-14 22:47 ` Arnd Bergmann [this message]
2013-02-14 22:47   ` [PATCH 8/9] [HACK] ARM: imx: work around v7_cpu_resume link error Arnd Bergmann
2013-02-14 23:45   ` Stephen Warren
2013-02-14 23:45     ` Stephen Warren
2013-02-15 11:05     ` Arnd Bergmann
2013-02-15 11:05       ` Arnd Bergmann
2013-02-15 11:13       ` Russell King - ARM Linux
2013-02-15 11:13         ` Russell King - ARM Linux
2013-02-15 15:49         ` Arnd Bergmann
2013-02-15 15:49           ` Arnd Bergmann
2013-02-15 11:07   ` Russell King - ARM Linux
2013-02-15 11:07     ` Russell King - ARM Linux
2013-02-16  5:14     ` Nicolas Pitre
2013-02-16  5:14       ` Nicolas Pitre
2013-02-18  5:55       ` Shawn Guo
2013-02-18  5:55         ` Shawn Guo
2013-02-18 17:06         ` Nicolas Pitre
2013-02-18 17:06           ` Nicolas Pitre
2013-02-19  1:42           ` Shawn Guo
2013-02-19  1:42             ` Shawn Guo
2013-02-19  4:11             ` Nicolas Pitre
2013-02-19  4:11               ` Nicolas Pitre
2013-02-19  5:10               ` Shawn Guo
2013-02-19  5:10                 ` Shawn Guo
2013-02-14 22:47 ` [PATCH 9/9] [media] davinci: do not include mach/hardware.h Arnd Bergmann
2013-02-14 22:47   ` Arnd Bergmann
2013-02-14 22:57   ` Tony Lindgren
2013-02-14 22:57     ` Tony Lindgren
2013-02-15  5:06   ` Prabhakar Lad
2013-02-15  5:06     ` Prabhakar Lad

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1360882071-4072668-9-git-send-email-arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=arm@kernel.org \
    --cc=dinguyen@altera.com \
    --cc=horms+renesas@verge.net.au \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pavel@denx.de \
    --cc=s.hauer@pengutronix.de \
    --cc=shawn.guo@linaro.org \
    --cc=swarren@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.