lkml.org 
[lkml]   [2006]   [Jun]   [24]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateFri, 23 Jun 2006 23:15:35 -0700
FromAndrew Morton <>
SubjectRe: [patch] s390: setup.c cleanup + build fix
On Fri, 23 Jun 2006 15:31:22 +0200
Heiko Carstens <heiko.carstens@de.ibm.com> wrote:

> From: Heiko Carstens <heiko.carstens@de.ibm.com>
> 
> Cleanup & fix 31 bit compilation:
> 
>   CC      arch/s390/kernel/setup.o
> arch/s390/kernel/setup.c:83: error: initializer element is not computable at
>                                     load time
> arch/s390/kernel/setup.c:83: error: (near initialization for
>                                     'code_resource.start')
> Not sure which patch in the -mm tree breaks this, but since this can be
> considered a cleanup it can be merged anyway.
> 

That's strange.

>  /*
> - * Setup options
> - */
> -extern int _text,_etext, _edata, _end;
> -
> -/*
>   * This is set up by the setup-routine at boot-time
>   * for S390 need to find out, what we have to setup
>   * using address 0x10400 ...
> @@ -80,15 +76,11 @@ extern int _text,_etext, _edata, _end;
> 
>  static struct resource code_resource = {
>  	.name  = "Kernel code",
> -	.start = (unsigned long) &_text,
> -	.end = (unsigned long) &_etext - 1,
>  	.flags = IORESOURCE_BUSY | IORESOURCE_MEM,
>  };
> 
>  static struct resource data_resource = {
>  	.name = "Kernel data",
> -	.start = (unsigned long) &_etext,
> -	.end = (unsigned long) &_edata - 1,
>  	.flags = IORESOURCE_BUSY | IORESOURCE_MEM,
>  };
> 
> @@ -422,6 +414,11 @@ setup_resources(void)
>  	struct resource *res;
>  	int i;
> 
> +	code_resource.start = (unsigned long) &_text;
> +	code_resource.end = (unsigned long) &_etext - 1;
> +	data_resource.start = (unsigned long) &_etext;
> +	data_resource.end = (unsigned long) &_edata - 1;
> +
>  	for (i = 0; i < MEMORY_CHUNKS && memory_chunk[i].size > 0; i++) {
>  		res = alloc_bootmem_low(sizeof(struct resource));
>  		res->flags = IORESOURCE_BUSY | IORESOURCE_MEM;

The linker should be able to handle all that.  I wonder why it didn't.

And it works for me.  What is "31 bit compilation"?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-06-24 06:18    [from the cache]
©2003-2008