linux-mips
[Top] [All Lists]

Re: Gcc 4.2.2 broken for kernel builds

To: Ralf Baechle <ralf@linux-mips.org>
Subject: Re: Gcc 4.2.2 broken for kernel builds
From: Martin Michlmayr <tbm@cyrius.com>
Date: Fri, 12 Oct 2007 22:33:54 +0200
Cc: David Daney <ddaney@avtrex.com>, MIPS Linux List <linux-mips@linux-mips.org>
In-reply-to: <20071012191446.GK3163@deprecation.cyrius.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20071012172254.GA10835@linux-mips.org> <470FB386.6080709@avtrex.com> <20071012175317.GB1110@linux-mips.org> <470FBE08.8090004@avtrex.com> <20071012184909.GA4832@linux-mips.org> <20071012191446.GK3163@deprecation.cyrius.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.16 (2007-06-11)
* Martin Michlmayr <tbm@cyrius.com> [2007-10-12 21:14]:
> Okay, I can see it.  I'll submit a testcase.

I submitted the following:

(sid)335:tbm@swarm: ~] gcc-4.2 -c -march=mips32r2 -O2 pr33755.c
(sid)336:tbm@swarm: ~] ld -m elf32ltsmip -r pr33755.o
ld: pr33755.o: Can't find matching LO16 reloc against `$LC0' for R_MIPS_GOT16 
at 0x521490 in section `.text'
(sid)337:tbm@swarm: ~] cat pr33755.c
struct mtd_blktrans_ops
{
  int (*readsect) (void);
  int exiting;
};
static void do_blktrans_request (struct mtd_blktrans_ops *tr, long flags)
{
  switch (flags & 1)
    {
    case 0:
      if (tr->readsect ())
        return;
    case 1:
      return;
    default:
      printk ("foo\n");
    }
}
mtd_blktrans_thread (struct mtd_blktrans_ops *tr)
{
  long flags;
  while (!tr->exiting)
      do_blktrans_request (tr, flags);
}

-- 
Martin Michlmayr
http://www.cyrius.com/

<Prev in Thread] Current Thread [Next in Thread>