lkml.org 
[lkml]   [2010]   [Nov]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] initramfs: Fix build break on symbol-prefixed archs
On Wed, 24 Nov 2010 03:40:51 -0500
Mike Frysinger <vapier.adi@gmail.com> wrote:

> On Sat, Nov 13, 2010 at 18:17, Mike Frysinger wrote:
> > On Thu, Oct 28, 2010 at 17:19, Michal Marek wrote:
> >> On 28.10.2010 22:35, Sam Ravnborg wrote:
> >>> On Thu, Oct 28, 2010 at 12:46:31AM +0200, Michal Marek wrote:
> >>>> On 27.10.2010 20:23, Mike Frysinger wrote:
> >>>>> can we get this change dropped from linux-next until someone gets a
> >>>>> chance to fix it ?
> >>>>
> >>>> Sorry I missed this thread. So your last patch
> >>>> (http://lkml.org/lkml/2010/10/19/488) did fix the Blackfin build
> >>>> failure? Can you submit it with a proper Signed-off-by and changelog?
> >>>
> >>> Did you see the patch I posted in: http://lkml.org/lkml/2010/10/19/534
> >>>
> >>> The one that fix up the cppflags usage.
> >>>
> >>> I think this will solve the issue with blackfin nicely - and
> >>> make use of cppflags more as expected.
> >>
> >> As Mike noted - your patch does not strip the double quotes. And Mike's
> >> patch is really minimal, it just adds the SYMBOL_PREFIX definition to
> >> _a_flags. I'll look at your patch after this merge window.
> >
> > why am i seeing __initramfs_size failures in mainline now ?
>
> ping ... it looks like no one merged the VMLINUX_SYMBOL() changes in
> usr/initramfs_data.S proposed by Hendrik

Well I found and forward-ported the below, from October.

Problem is, the changelog didn't describe the alleged "build break" and
it's unclear whether the fix is needed in mainline, in 2.6.36 or is
just fixing some bug which was introduced by some other
perhaps-not-applied patch.

Help? What's going on here?


From: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>

Define the __initramfs_size variable using VMLINUX_SYMBOL() to take care
of symbol-prefixed architectures, for example, blackfin.

Depending on the CONFIG_SYMBOL_PREFIX configuration option, define the
SYMBOL_PREFIX symbol which is evaluated by VMLINUX_SYMBOL().

Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Cc: Mike Frysinger <vapier.adi@gmail.com>
Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>,
Cc: Michal Marek <mmarek@suse.cz>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

usr/Makefile | 3 +++
usr/initramfs_data.S | 5 +++--
2 files changed, 6 insertions(+), 2 deletions(-)

diff -puN usr/Makefile~initramfs-fix-build-break-on-symbol-prefixed-archs usr/Makefile
--- a/usr/Makefile~initramfs-fix-build-break-on-symbol-prefixed-archs
+++ a/usr/Makefile
@@ -19,6 +19,9 @@ suffix_$(CONFIG_INITRAMFS_COMPRESSION_LZ
suffix_$(CONFIG_INITRAMFS_COMPRESSION_LZO) = .lzo

AFLAGS_initramfs_data.o += -DINITRAMFS_IMAGE="usr/initramfs_data.cpio$(suffix_y)"
+ifdef CONFIG_SYMBOL_PREFIX
+AFLAGS_initramfs_data.o += -DSYMBOL_PREFIX=$(patsubst "%",%,$(CONFIG_SYMBOL_PREFIX))
+endif

# Generate builtin.o based on initramfs_data.o
obj-$(CONFIG_BLK_DEV_INITRD) := initramfs_data.o
diff -puN usr/initramfs_data.S~initramfs-fix-build-break-on-symbol-prefixed-archs usr/initramfs_data.S
--- a/usr/initramfs_data.S~initramfs-fix-build-break-on-symbol-prefixed-archs
+++ a/usr/initramfs_data.S
@@ -22,14 +22,15 @@
*/

#include <linux/stringify.h>
+#include <asm-generic/vmlinux.lds.h>

.section .init.ramfs,"a"
__irf_start:
.incbin __stringify(INITRAMFS_IMAGE)
__irf_end:
.section .init.ramfs.info,"a"
-.globl __initramfs_size
-__initramfs_size:
+.globl VMLINUX_SYMBOL(__initramfs_size)
+VMLINUX_SYMBOL(__initramfs_size):
#ifdef CONFIG_64BIT
.quad __irf_end - __irf_start
#else
_


\
 
 \ /
  Last update: 2010-11-29 23:41    [W:0.100 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site