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

@@ -239,31 +239,10 @@
         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)