From: Thorsten Kranzkowski on
On Tue, Mar 16, 2010 at 12:50:32AM -0500, Will L Givens wrote:
> > > �GEN � � .version
> > > �CHK � � include/generated/compile.h
> > > �UPD � � include/generated/compile.h
> > > �CC � � �init/version.o
> > > �LD � � �init/built-in.o
> > > �LD � � �.tmp_vmlinux1
> > > kernel/built-in.o: In function `kthread_create':
> > > (.text+0x1ece4): relocation truncated to fit: GPREL16 against symbol
> > > `kthreadd_task' defined in .sbss section in kernel/built-in.o
> > > kernel/built-in.o: In function `check_cpu_itimer':
> > > (.text+0x21784): relocation truncated to fit: GPREL16 against `.sbss'
> > > kernel/built-in.o: In function `check_cpu_itimer':
> > > (.text+0x2179c): relocation truncated to fit: GPREL16 against `.sbss'
> > > kernel/built-in.o: In function `free_nsproxy':
> > > (.text+0x23064): relocation truncated to fit: GPREL16 against `.sbss'
> > > kernel/built-in.o: In function `create_new_namespaces':
> > > (.text+0x230a4): relocation truncated to fit: GPREL16 against `.sbss'
> > > kernel/built-in.o: In function `create_new_namespaces':
> > > (.text+0x23254): relocation truncated to fit: GPREL16 against `.sbss'
> > > kernel/built-in.o: In function `notify_die':
> > > (.text+0x2413c): relocation truncated to fit: GPREL16 against `.sbss'
> > > kernel/built-in.o: In function `register_die_notifier':
> > > (.text+0x241a4): relocation truncated to fit: GPREL16 against `.sbss'
> > > kernel/built-in.o: In function `unregister_die_notifier':
> > > (.text+0x241bc): relocation truncated to fit: GPREL16 against `.sbss'
> > > kernel/built-in.o: In function `sched_clock_init':
> > > (.text+0x24ba4): relocation truncated to fit: GPREL16 against `.sbss'
> > > kernel/built-in.o: In function `sched_clock_cpu':
> > > (.text+0x24bb4): additional relocation overflows omitted from the
> > output
> > > make: *** [.tmp_vmlinux1] Error 1
>
> It seems the problem, GPREL16, is pretty wide spread. I've tried building
> the drivers as modules, since that doesn't appear to be a problem *knock on
> wood* but one driver after another, after another, after another generates a
> new GPREL16 error! Raid0 drivers, numerous NetFilter modules, IR drivers
> (guess I can't use a Hauppauge card), and various other components. I'm
> going to try a few more configurations... then hit the sack. I'm pretty sure
> this is going to be a long process.

when I hit the relocation overflow a couple of releases before, I locally
applied this patch, which fixes it for me. I assume the kernel is slightly
bigger this way, but I didn't measure it.

ev6, everything built in, gcc 4.4 I think

Thorsten


diff --git a/arch/alpha/Makefile b/arch/alpha/Makefile
index 4759fe7..2cc3cc5 100644
--- a/arch/alpha/Makefile
+++ b/arch/alpha/Makefile
@@ -12,7 +12,7 @@ NM := $(NM) -B

LDFLAGS_vmlinux := -static -N #-relax
CHECKFLAGS += -D__alpha__ -m64
-cflags-y := -pipe -mno-fp-regs -ffixed-8 -msmall-data
+cflags-y := -pipe -mno-fp-regs -ffixed-8
cflags-y += $(call cc-option, -fno-jump-tables)

cpuflags-$(CONFIG_ALPHA_EV4) := -mcpu=ev4


--
| Thorsten Kranzkowski Internet: dl8bcu(a)dl8bcu.de |
| Mobile: ++49 170 1876134 Snail: Kiebitzstr. 14, 49324 Melle, Germany |
| Ampr: dl8bcu(a)db0lj.#rpl.deu.eu, dl8bcu(a)marvin.dl8bcu.ampr.org [44.130.8.19] |
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Raúl Porcel on
On 03/16/2010 12:09 AM, Matt Turner wrote:
> Your email was entirely unrelated to the previous thread, so I split it off.
>
> On Mon, Mar 15, 2010 at 6:54 PM, Will L Givens <wlgivens(a)gmail.com> wrote:
>> Thanks for the patch... now it brings me right back the same error I get
>> with the release 'stable' and 'git snapshot, respectfully 2.33.1 and
>> 2.6.34-rc1. I've tried several different builds of GCC (3.2.3, 3.4.3, 4.3.4,
>> 4.4.2) and various releases of binutils (2.15 - no go, 2.17.90, and 2.20.1).
>> This was after several failed builds after adjusting the CFLAGS and adding
>> either -Wl,--no-relax and -relax.
>
> If you can reproduce this with such a wide variety versions, send your
> .config and I'll see if I can reproduce it locally.
>
>> [root(a)jericho linux]# as -v
>> GNU assembler version 2.20.1 (alphaev5-alpha-linux) using BFD version (GNU
>> Binutils) 2.20.1.20100303
>>
>> [root(a)jericho linux]# gcc-3.4.3 -v
>> Reading specs from /usr/lib/gcc/alphaev5-alpha-linux/3.4.3/specs
>> Configured with: ../gcc-3.4.3/configure --prefix=/usr --sysconfdir=/etc
>> --mandir=/usr/share/man --infodir=/usr/share/info
>> --build=alphaev5-alpha-linux --host=alphaev5-alpha-linux
>> --target=alphaev5-alpha-linux --program-suffix=-3.4.3 --enable-languages=all
>>
>> Thread model: posix
>> gcc version 3.4.3
>> [root(a)jericho linux]# make -v
>> GNU Make 3.80
>> Copyright (C) 2002 Free Software Foundation, Inc.
>> This is free software; see the source for copying conditions.
>> There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
>> PARTICULAR PURPOSE.
>>
>> gcc-3.4.3 -Wp,-MD,arch/alpha/lib/.__remqu.o.d -nostdinc -isystem
>> /usr/lib/gcc/alphaev5-alpha-linux/3.4.3/include
>> -I/usr/src/linux-2.6.34-rc1/arch/alpha/include -Iinclude -include
>> include/generated/autoconf.h -D__KERNEL__ -D__ASSEMBLY__ -Wall -Wundef
>> -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
>> -Werror-implicit-function-declaration -Wno-format-security
>> -fno-delete-null-pointer-checks -pipe -Os -pipe -mno-fp-regs -ffixed-8
>> -msmall-data -mcpu=ev67 -Wa,-mev6 -fomit-frame-pointer
>> -Wdeclaration-after-statement -DREM -c -o arch/alpha/lib/__remqu.o
>> arch/alpha/lib/ev6-divide.S
>
> Why is your CHOST alphaev5-alpha-linux but you're compiling for EV67?
>
>> AS arch/alpha/lib/callback_srm.o
>> CC arch/alpha/lib/checksum.o
>> CC arch/alpha/lib/csum_partial_copy.o
>> AS arch/alpha/lib/ev6-clear_page.o
>> AS arch/alpha/lib/ev6-clear_user.o
>> AS arch/alpha/lib/ev6-copy_page.o
>> AS arch/alpha/lib/ev6-copy_user.o
>> AS arch/alpha/lib/ev6-csum_ipv6_magic.o
>> AS arch/alpha/lib/ev6-memchr.o
>> AS arch/alpha/lib/ev6-memcpy.o
>> AS arch/alpha/lib/ev6-memset.o
>> AS arch/alpha/lib/ev6-strncpy_from_user.o
>> AS arch/alpha/lib/ev6-stxcpy.o
>> AS arch/alpha/lib/ev6-stxncpy.o
>> AS arch/alpha/lib/ev67-strcat.o
>> AS arch/alpha/lib/ev67-strchr.o
>> AS arch/alpha/lib/ev67-strlen.o
>> AS arch/alpha/lib/ev67-strlen_user.o
>> AS arch/alpha/lib/ev67-strncat.o
>> AS arch/alpha/lib/ev67-strrchr.o
>> CC arch/alpha/lib/fls.o
>> CC arch/alpha/lib/fpreg.o
>> AS arch/alpha/lib/memmove.o
>> CC arch/alpha/lib/srm_printk.o
>> CC arch/alpha/lib/srm_puts.o
>> AS arch/alpha/lib/strcpy.o
>> AS arch/alpha/lib/strncpy.o
>> CC arch/alpha/lib/udelay.o
>> AR arch/alpha/lib/lib.a
>> LD vmlinux.o
>> MODPOST vmlinux.o
>> WARNING: modpost: Found 1 section mismatch(es).
>> To see full details build your kernel with:
>> 'make CONFIG_DEBUG_SECTION_MISMATCH=y'
>> GEN .version
>> CHK include/generated/compile.h
>> UPD include/generated/compile.h
>> CC init/version.o
>> LD init/built-in.o
>> LD .tmp_vmlinux1
>> kernel/built-in.o: In function `kthread_create':
>> (.text+0x1ece4): relocation truncated to fit: GPREL16 against symbol
>> `kthreadd_task' defined in .sbss section in kernel/built-in.o
>> kernel/built-in.o: In function `check_cpu_itimer':
>> (.text+0x21784): relocation truncated to fit: GPREL16 against `.sbss'
>> kernel/built-in.o: In function `check_cpu_itimer':
>> (.text+0x2179c): relocation truncated to fit: GPREL16 against `.sbss'
>> kernel/built-in.o: In function `free_nsproxy':
>> (.text+0x23064): relocation truncated to fit: GPREL16 against `.sbss'
>> kernel/built-in.o: In function `create_new_namespaces':
>> (.text+0x230a4): relocation truncated to fit: GPREL16 against `.sbss'
>> kernel/built-in.o: In function `create_new_namespaces':
>> (.text+0x23254): relocation truncated to fit: GPREL16 against `.sbss'
>> kernel/built-in.o: In function `notify_die':
>> (.text+0x2413c): relocation truncated to fit: GPREL16 against `.sbss'
>> kernel/built-in.o: In function `register_die_notifier':
>> (.text+0x241a4): relocation truncated to fit: GPREL16 against `.sbss'
>> kernel/built-in.o: In function `unregister_die_notifier':
>> (.text+0x241bc): relocation truncated to fit: GPREL16 against `.sbss'
>> kernel/built-in.o: In function `sched_clock_init':
>> (.text+0x24ba4): relocation truncated to fit: GPREL16 against `.sbss'
>> kernel/built-in.o: In function `sched_clock_cpu':
>> (.text+0x24bb4): additional relocation overflows omitted from the output
>> make: *** [.tmp_vmlinux1] Error 1
> --
> To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
> the body of a message to majordomo(a)vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html


Have one.

My error is as follows:

net/built-in.o: In function `svc_auth_unregister':
(.text+0xb822c): relocation truncated to fit: GPREL16 against `.sbss'
net/built-in.o: In function `svc_auth_unregister':
(.text+0xb8268): relocation truncated to fit: GPREL16 against `.sbss'
net/built-in.o: In function `svc_auth_register':
(.text+0xb829c): relocation truncated to fit: GPREL16 against `.sbss'
net/built-in.o: In function `svc_auth_register':
(.text+0xb82d4): relocation truncated to fit: GPREL16 against `.sbss'
net/built-in.o: In function `auth_domain_lookup':
(.text+0xb83ac): relocation truncated to fit: GPREL16 against `.sbss'
net/built-in.o: In function `auth_domain_lookup':
(.text+0xb8430): relocation truncated to fit: GPREL16 against `.sbss'
net/built-in.o: In function `auth_domain_lookup':
(.text+0xb8480): relocation truncated to fit: GPREL16 against `.sbss'
net/built-in.o: In function `auth_domain_put':
(.text+0xb84e4): relocation truncated to fit: GPREL16 against `.sbss'
net/built-in.o: In function `auth_domain_put':
(.text+0xb854c): relocation truncated to fit: GPREL16 against `.sbss'
net/built-in.o: In function `svc_authenticate':
(.text+0xb864c): relocation truncated to fit: GPREL16 against `.sbss'
net/built-in.o: In function `svc_authenticate':
(.text+0xb864c): relocation truncated to fit: GPREL16 against `.sbss'
net/built-in.o: In function `svc_authenticate':
(.text+0xb8678): additional relocation overflows omitted from the output

From: Will L Givens on
> >
> > It seems the problem, GPREL16, is pretty wide spread. I've tried
> building
> > the drivers as modules, since that doesn't appear to be a problem
> *knock on
> > wood* but one driver after another, after another, after another
> generates a
> > new GPREL16 error! Raid0 drivers, numerous NetFilter modules, IR
> drivers
> > (guess I can't use a Hauppauge card), and various other components.
> I'm
> > going to try a few more configurations... then hit the sack. I'm
> pretty sure
> > this is going to be a long process.
>
> when I hit the relocation overflow a couple of releases before, I
> locally
> applied this patch, which fixes it for me. I assume the kernel is
> slightly
> bigger this way, but I didn't measure it.
>
> ev6, everything built in, gcc 4.4 I think
>
> Thorsten
>
>
> diff --git a/arch/alpha/Makefile b/arch/alpha/Makefile
> index 4759fe7..2cc3cc5 100644
> --- a/arch/alpha/Makefile
> +++ b/arch/alpha/Makefile
> @@ -12,7 +12,7 @@ NM := $(NM) -B
>
> LDFLAGS_vmlinux := -static -N #-relax
> CHECKFLAGS += -D__alpha__ -m64
> -cflags-y := -pipe -mno-fp-regs -ffixed-8 -msmall-data
> +cflags-y := -pipe -mno-fp-regs -ffixed-8
> cflags-y += $(call cc-option, -fno-jump-tables)
>
> cpuflags-$(CONFIG_ALPHA_EV4) := -mcpu=ev4
>
>
> --
> | Thorsten Kranzkowski Internet: dl8bcu(a)dl8bcu.de
> |
> | Mobile: ++49 170 1876134 Snail: Kiebitzstr. 14, 49324 Melle,
> Germany |
> | Ampr: dl8bcu(a)db0lj.#rpl.deu.eu, dl8bcu(a)marvin.dl8bcu.ampr.org
> [44.130.8.19] |

That patch did the trick!!!! Everything built without issue... I'll post
your patch at bugzilla.kernel.org. Now, just have to test the AIC7xxx driver
and see if it works! Nope it doesn't, same error as before... aic7xxx
unable to handle kernel paging address at 036b***** I'm going to try
swapping some memory around and see what happens if anything.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Matt Turner on
On Tue, Mar 16, 2010 at 5:23 PM, Will L Givens <wlgivens(a)gmail.com> wrote:
>> >
>> > It seems the problem, GPREL16, is pretty wide spread. I've tried
>> building
>> > the drivers as modules, since that doesn't appear to be a problem
>> *knock on
>> > wood* but one driver after another, after another, after another
>> generates a
>> > new GPREL16 error! Raid0 drivers, numerous NetFilter modules, IR
>> drivers
>> > (guess I can't use a Hauppauge card), and various other components.
>> I'm
>> > going to try a few more configurations... then hit the sack. I'm
>> pretty sure
>> > this is going to be a long process.
>>
>> when I hit the relocation overflow a couple of releases before, I
>> locally
>> applied this patch, which fixes it for me. I assume the kernel is
>> slightly
>> bigger this way, but I didn't measure it.
>>
>> ev6, everything built in, gcc 4.4 I think
>>
>> Thorsten
>>
>>
>> diff --git a/arch/alpha/Makefile b/arch/alpha/Makefile
>> index 4759fe7..2cc3cc5 100644
>> --- a/arch/alpha/Makefile
>> +++ b/arch/alpha/Makefile
>> @@ -12,7 +12,7 @@ NM := $(NM) -B
>>
>> �LDFLAGS_vmlinux � � �:= -static -N #-relax
>> �CHECKFLAGS � += -D__alpha__ -m64
>> -cflags-y � � := -pipe -mno-fp-regs -ffixed-8 -msmall-data
>> +cflags-y � � := -pipe -mno-fp-regs -ffixed-8
>> �cflags-y � � += $(call cc-option, -fno-jump-tables)
>>
>> �cpuflags-$(CONFIG_ALPHA_EV4) � � � � := -mcpu=ev4
>>
>>
>> --
>> | Thorsten Kranzkowski � � � �Internet: dl8bcu(a)dl8bcu.de
>> |
>> | Mobile: ++49 170 1876134 � � � Snail: Kiebitzstr. 14, 49324 Melle,
>> Germany �|
>> | Ampr: dl8bcu(a)db0lj.#rpl.deu.eu, dl8bcu(a)marvin.dl8bcu.ampr.org
>> [44.130.8.19] |
>
> That patch did the trick!!!! Everything built without issue... I'll post
> your patch at bugzilla.kernel.org. Now, just have to test the AIC7xxx driver
> and see if it works! �Nope it doesn't, same error as before... aic7xxx
> unable to handle kernel paging address at 036b***** I'm going to try
> swapping some memory around and see what happens if anything.
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
> the body of a message to majordomo(a)vger.kernel.org
> More majordomo info at �http://vger.kernel.org/majordomo-info.html
>

Don't post it to bugzilla. It'll just rot there.

The author should mail linux-alpha@ to get it reviewed.

Matt
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Michael Cree on
On 17/03/2010, at 10:39 AM, Matt Turner wrote:
> On Tue, Mar 16, 2010 at 5:23 PM, Will L Givens <wlgivens(a)gmail.com>
> wrote:
>>
>>> when I hit the relocation overflow a couple of releases before, I
>>> locally
>>> applied this patch, which fixes it for me. I assume the kernel is
>>> slightly
>>> bigger this way, but I didn't measure it.
>>>
>>> diff --git a/arch/alpha/Makefile b/arch/alpha/Makefile
>>> index 4759fe7..2cc3cc5 100644
>>> --- a/arch/alpha/Makefile
>>> +++ b/arch/alpha/Makefile
>>> @@ -12,7 +12,7 @@ NM := $(NM) -B
>>>
>>> LDFLAGS_vmlinux := -static -N #-relax
>>> CHECKFLAGS += -D__alpha__ -m64
>>> -cflags-y := -pipe -mno-fp-regs -ffixed-8 -msmall-data
>>> +cflags-y := -pipe -mno-fp-regs -ffixed-8
>>> cflags-y += $(call cc-option, -fno-jump-tables)
>>>
>>> cpuflags-$(CONFIG_ALPHA_EV4) := -mcpu=ev4
>>
>> That patch did the trick!!!! Everything built without issue... I'll
>> post
>> your patch at bugzilla.kernel.org.
>
> Don't post it to bugzilla. It'll just rot there.
>
> The author should mail linux-alpha@ to get it reviewed.


The patch is not suitable, IMHO, for the kernel as it stands. Some of
us prefer the small-data model as we must boot off a slow medium that
is supported by SRM. Using large-data results in a larger code size.

It would be nice if the build system could detect the need for the
large-data model before compilation but I can't see how to do that
without actually compiling the kernel.

Therefore I suggest a kernel config item be added to optionally remove
the -msmall-data compiler option for those who are building kernels
with data areas greater than 64kB. I'll drum up a patch later today.

Cheers
Michael.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/