Print this page
6098 ld(1) should not require symbols which identify group sections be global

*** 239,269 **** gd.gd_name = str; gd.gd_data = gisc->is_indata->d_buf; gd.gd_cnt = gisc->is_indata->d_size / sizeof (Word); /* - * If this group is a COMDAT group, validate the signature symbol. - */ - if ((gd.gd_data[0] & GRP_COMDAT) && !gnu_stt_section && - ((ELF_ST_BIND(sym->st_info) == STB_LOCAL) || - (sym->st_shndx == SHN_UNDEF))) { - /* If section symbol, construct a printable name for it */ - if (ELF_ST_TYPE(sym->st_info) == STT_SECTION) { - if (gisc->is_sym_name == NULL) - (void) ld_stt_section_sym_name(gisc); - - if (gisc->is_sym_name != NULL) - str = gisc->is_sym_name; - } - - ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_GRP_INVALSYM), - gifl->ifl_name, EC_WORD(gisc->is_scnndx), - gisc->is_name, str); - return (0); - } - - /* * If the signature symbol is a name generated by the GNU compiler to * refer to a header, we need sloppy relocation. */ if (is_header_gensym(str)) { if ((ofl->ofl_flags1 & FLG_OF1_NRLXREL) == 0) --- 239,248 ----