On 2/20/23 06:54, Joel Sherrill wrote:


On Mon, Feb 20, 2023 at 7:56 AM Vincent Fazio via Gcc <gcc@gcc.gnu.org <mailto:gcc@gcc.gnu.org>> wrote:

    Michael, all,

    Regarding:
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766
    <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766>
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102110
    <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102110>

    If I understand correctly, since the GCC MicroBlaze targets generate ELF
    images, it would seem there's no technical reason why `__attribute__
    ((symver ...))` cannot be supported?

    The issue seems to be that the MicroBlaze targets in config.gcc do not
    include elfos.h
    https://github.com/gcc-mirror/gcc/blob/master/gcc/config.gcc#L2369
    <https://github.com/gcc-mirror/gcc/blob/master/gcc/config.gcc#L2369>

    Which defines `ASM_OUTPUT_SYMVER_DIRECTIVE`
    https://github.com/gcc-mirror/gcc/blob/master/gcc/config/elfos.h#L259 
<https://github.com/gcc-mirror/gcc/blob/master/gcc/config/elfos.h#L259>

    Which is necessary for
    https://github.com/gcc-mirror/gcc/blob/master/gcc/varasm.cc#L6260
    <https://github.com/gcc-mirror/gcc/blob/master/gcc/varasm.cc#L6260>

    Changing the targets to include elfos.h leads to a number of
    conflicts with
    the target specific header (config/microblaze/microblaze.h).

    Should `ASM_OUTPUT_SYMVER_DIRECTIVE` be copied into
    config/microblaze/microblaze.h or should the MicroBlaze targets and
    header
    be reworked to support elfos.h?


IMO reworked to include elfos.h. During the RTEMS port, we noticed that
some quirks on the microblaze gcc because it isn't using elfos.h. This likely
will mean it will be updated as a side-effect of normal GCC maintenance
instead of being an odd singleton which doesn't share.


    I'm asking because I've seen a number of projects run into this
    issue (xz,
    elfutils, libfuse, libkcapi, cryptsetup).


And RTEMS.

--joel


Joel -- do you have a patch to add elfos.h to MicroBlaze?

--
Michael Eager

Reply via email to