Re: Kernel build fails with GCC 4.3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/01/2008 03:46 AM, Jakub Jelinek wrote:
> On Thu, Jan 31, 2008 at 07:50:42PM -0500, Kyle McMartin wrote:
>> On Thu, Jan 31, 2008 at 04:47:55PM -0800, Roland McGrath wrote:
>>>> Why are we building kernels with this broken compiler?
>>>>
>>>> http://bugzilla.kernel.org/show_bug.cgi?id=8501
>>>>
>>>> http://koji.fedoraproject.org/koji/getfile?taskID=388196&name=build.log
>>> Why are we building these broken kernels with our shiny new compiler?
>>>
>> Does using -ffreestanding fix these references to libgcc? I notice
>> we're not using it when we build x86 or powerpc kernels, where we see
>> this...
> 
> No, even -ffreestanding assumes libgcc is used.  libgcc.a is mostly[1]
> self-contained and assumed to be present in both -fhosted and -ffreestanding
> linking.  This is nothing new, has been like that for many years.
> AFAIK kernel on several architectures uses libgcc.a, on those where it
> intentionally decides not to do that, it either needs to supply its own
> implementation of the needed entrypoints, or make sure they are not needed.
> In this case you should put in an asm optimization barrier into the loop
> to avoid optimizing the loop into modulo.  See the gcc PR opened for it.
> 

The below patch fixes it too, but that just leads to the next error
(on ppc64):

drivers/input/mouse/psmouse-base.c:45: error: __param_proto causes a section type conflict

Was someone supposed to test building the kernel package with the new
compiler before making it the default?



--- linux-2.6.24.noarch.orig/include/linux/time.h
+++ linux-2.6.24.noarch/include/linux/time.h
@@ -169,7 +169,7 @@ extern struct timeval ns_to_timeval(cons
  * @a:         pointer to timespec to be incremented
  * @ns:                unsigned nanoseconds value to be added
  */
-static inline void timespec_add_ns(struct timespec *a, u64 ns)
+static inline void timespec_add_ns(struct timespec *a, volatile u64 ns)
 {
        ns += a->tv_nsec;
        while(unlikely(ns >= NSEC_PER_SEC)) {

-- 
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux