On 7/12/2011, at 7:55 AM, Uros Bizjak wrote:
On Tue, Dec 6, 2011 at 5:46 PM, Raúl Porcel <armin76@xxxxxxxxxx>
wrote:
On 11/13/2011 01:43 AM, Michael Cree wrote:
[snip]
Is there anyone more knowledgeable than I about gcc who can give us
guidance as to why gcc-4.6 should be enlarging the data segment so
much
that the small data model cannot be used? Or is there a fix
required in
the kernel code?
Guess Uros can help here...
Unfortunately, I have no idea... There are similar problems with gcc
build, so I use:
# Prevent GPREL16 relocation truncation
LDFLAGS += -Wl,--no-relax
BOOT_LDFLAGS += -Wl,--no-relax
Yeah, there are a growing number of packages being affected by this
(presumably linker) problem and I have recently seen it with gcc-
snapshot and gnat-4.6 in Debian. However I don't think this is the
issue seen with the Linux kernel, which has the --relax argument
commented out of the linker flags in the Makefile.
What we see is that gcc-4.4 successfully compiles the Linux kernel.
Using gcc-4.6 results in relocation errors. The kernel Makefile adds -
msmall-data to the compiler flags. If this is change to -mlarge-data
then compilation with gcc-4.6 succeeds. What I am wondering about is
what is the change in gcc-4.6 that causes the data segment
(presumably) to be too large to stored in 64 kbytes (whereas gcc-4.4
can fit it in 64kbytes)?
Cheers
Michael.
--
To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html