https://sourceware.org/bugzilla/show_bug.cgi?id=25803
--- Comment #18 from gagan singh sidhu (gagz, broly, w/e u want) <broly at mac dot com> --- looking at the binutils and searching for the keyword, is it possible 'gas' is the problem?: GagansMacPro:mkbu Gagan$ grep -rn gnu_indirect_function . Binary file ./gas/as-new matches Binary file ./gas/config/obj-elf.o matches ./gold/config.log:907:| __asm__(".type invoke, %gnu_indirect_function"); looking at the output for gas/config/obj-elf.c: else if (strcmp (type_name, "gnu_indirect_function") == 0 || strcmp (type_name, "10") == 0 || strcmp (type_name, "STT_GNU_IFUNC") == 0) { struct elf_backend_data *bed; bed = (struct elf_backend_data *) get_elf_backend_data (stdoutput); if (bed->elf_osabi == ELFOSABI_NONE) bed->elf_osabi = ELFOSABI_GNU; else if (bed->elf_osabi != ELFOSABI_GNU && bed->elf_osabi != ELFOSABI_FREEBSD) as_bad (_("symbol type \"%s\" is supported only by GNU " "and FreeBSD targets"), type_name); elf_tdata (stdoutput)->has_gnu_osabi |= elf_gnu_osabi_ifunc; type = BSF_FUNCTION | BSF_GNU_INDIRECT_FUNCTION; } it seems using the 'none' causes bed->elf_osabi = ELFOSABI_GNU, whereas it should be falling into the else if condition? sorry i don't know this code well. i know the tuple is a 'none-linux-gnu' though and i'm curious if that causes it to be assigned ELFOSABI_NONE first, and then ELFOSABI_GNU, or if it is assigned ELFOSABI_GNU initially. -- You are receiving this mail because: You are on the CC list for the bug.