From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27291 invoked by alias); 17 Aug 2004 00:39:31 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 27279 invoked by uid 48); 17 Aug 2004 00:39:30 -0000 Date: Tue, 17 Aug 2004 00:39:00 -0000 Message-ID: <20040817003930.27278.qmail@sourceware.org> From: "pinskia at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040816190449.17051.green@redhat.com> References: <20040816190449.17051.green@redhat.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug tree-optimization/17051] [3.5 Regression] ICE: internal compiler error: verify_ssa failed.for SSA_NAME: l_addr_650 X-Bugzilla-Reason: CC X-SW-Source: 2004-08/txt/msg01598.txt.bz2 List-Id: ------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-17 00:39 ------- Confirmed, reduced to this: typedef int int16_t __attribute__ ((__mode__ (__HI__))); typedef int int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned short int uint16_t; typedef unsigned int uint32_t; typedef uint16_t Elf32_Half; typedef uint32_t Elf32_Word; typedef int32_t Elf32_Sword; typedef uint32_t Elf32_Addr; typedef uint16_t Elf32_Section; typedef struct { Elf32_Word st_name; Elf32_Addr st_value; Elf32_Word st_size; unsigned char st_info; unsigned char st_other; Elf32_Section st_shndx; } Elf32_Sym; typedef struct { Elf32_Addr r_offset; Elf32_Word r_info; } Elf32_Rel; typedef struct { Elf32_Sword d_tag; union { Elf32_Word d_val; Elf32_Addr d_ptr; } d_un; } Elf32_Dyn; struct link_map; struct elf32_fdpic_loadseg { Elf32_Addr addr; Elf32_Addr p_vaddr; Elf32_Word p_memsz; }; struct elf32_fdpic_loadaddr { struct elf32_fdpic_loadmap *map; void *got_value; }; struct link_map { struct elf32_fdpic_loadaddr l_addr; Elf32_Dyn *l_info[1]; struct r_found_version *l_versions; }; struct r_found_version { const char *name; }; extern struct link_map _dl_rtld_map; void elf_dynamic_do_rel (struct link_map *map, Elf32_Addr reladdr, Elf32_Addr relsize, int lazy) { const Elf32_Rel *r = (const void *) reladdr; const Elf32_Rel *end = (const void *) (reladdr + relsize); struct elf32_fdpic_loadaddr l_addr = map->l_addr; if (lazy) elf_machine_lazy_rel (l_addr); else { const Elf32_Sym *const symtab = (const void *) (((Elf32_Addr) (__reloc_pointer ((void*)((map->l_info[6]->d_un.d_ptr)), ((map->l_addr)).map)))); Elf32_Word nrelative = (map->l_info[(34 + 0 + (0x6fffffff - (0x6ffffffa)))] == ((void *)0) ? 0 : map->l_info[(34 + 0 + (0x6fffffff - (0x6ffffffa)))]->d_un.d_val); const Elf32_Rel *relative = r; r = r + (((nrelative)<(relsize / sizeof (Elf32_Rel)))?(nrelative):(relsize / sizeof (Elf32_Rel))); if (map != &_dl_rtld_map) elf_machine_rel_relative (l_addr, relative, (void *) ((Elf32_Addr) (__reloc_pointer ((void*)((relative ->r_offset)), ((l_addr)).map)))); const Elf32_Half *const version = (const void *) (((Elf32_Addr) (__reloc_pointer ((void*)((map->l_info[(34 + 0 + (0x6fffffff - (0x6ffffff0)))]->d_un.d_ptr)),((map->l_addr)).map)))); Elf32_Half ndx = version[((r->r_info) >> 8)] & 0x7fff; elf_machine_rel (map, r, &symtab[((r->r_info) >> 8)], &map->l_versions[ndx], (void *) ((Elf32_Addr) (__reloc_pointer ((void*)((r->r_offset)), ((l_addr)).map)))); } } -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed| |1 GCC target triplet|frv-elf | Last reconfirmed|0000-00-00 00:00:00 |2004-08-17 00:39:30 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17051