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

Bug#329989: snd_usb_audio unknown symbols



reassign 329989 gcc-4.0
severity 329989 important
thanks

Hi,

After further investigation it definitely appears as a gcc bug. I was able to isolate a simple test case, which is attached. When built on current sid, it inserts a spurious symbol into the object file, and fails to resolve it during linking:

jurijus@bobcat:~$ gcc --version
gcc (GCC) 4.0.2 (Debian 4.0.1-9)
Copyright (C) 2005 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.

jurijus@bobcat:~$ gcc initializer_bug.c
/tmp/ccn0ofh6.o:(.rodata+0x4): undefined reference to `__compound_literal.0'
collect2: ld returned 1 exit status

Thus, I'm reassigning it to gcc-4.0 package.

Best regards,

Jurij Smakov                                        jurij@wooyd.org
Key: http://www.wooyd.org/pgpkey/                   KeyID: C99E03CC
struct usb_audio_id {
  unsigned long driver_info;
};

struct snd_usb_audio_quirk {
        int ifnum;
        const void *data;
};

typedef struct snd_usb_audio_quirk snd_usb_audio_quirk_t;

struct usb_audio_id ids[] = {
  {
    .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
      .ifnum = 0,
      .data = & (const snd_usb_audio_quirk_t) {
	.ifnum = 0,
	.data = (void *) 0
      }
    }
  }
};

int main()
{
}

Reply to: