https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116887

            Bug ID: 116887
           Summary: Section type conflict on loongarch with .data.rel.ro
                    section attribute
           Product: gcc
           Version: 13.3.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: fw at gcc dot gnu.org
  Target Milestone: ---

The attached reproducer when compiled with -c fPIC fails to build (with some
additional diagnostics added not available upstream):

/tmp/bug.i:6798:1: error: section ‘.data.rel.ro’ type conflict with
‘_dlfo_main’
 6798 | }
      | ^
/tmp/bug.i:6190:39: note: ‘_dlfo_main’ was declared here
 6190 | static struct dl_find_object_internal _dlfo_main __attribute__
((section (".data.rel.ro")));
      |                                       ^~~~~~~~~~
/tmp/bug.i:6798:1: error: previous section type: WRITE|NOTYPE|DECLARED|NAMED
 6798 | }
      | ^
/tmp/bug.i:6798:1: error: new section type: WRITE|NOTYPE|NAMED|RELRO

This problem does not occur on other architectures. This section attribute is
used elsewhere in glibc without problem, and the current glibc upstream code
for elf/dl-find_object.c is quite similar and also builds on loongarch.

Reply via email to