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

--- Comment #4 from John David Anglin <danglin at gcc dot gnu.org> ---
Created attachment 56967
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56967&action=edit
Assembler output

There are no .type directives for _U_* libfuncs.

They are emitted by ASM_OUTPUT_EXTERNAL_LIBCALL:

/* We need set the type for external libcalls.  Also note that not all
   libcall names are passed to targetm.encode_section_info (e.g., __main).
   Thus, we also have to do the section encoding if it hasn't been done
   already.  */
#undef ASM_OUTPUT_EXTERNAL_LIBCALL
#define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, FUN)                  \
do {                                                            \
  if (!FUNCTION_NAME_P (XSTR (FUN, 0)))                         \
    pa_encode_label (FUN);                                      \
  ASM_OUTPUT_TYPE_DIRECTIVE (FILE, XSTR (FUN, 0), "function");  \
} while (0)

The .type directives that are emitted are now at the end:

        .section        .debug_str,"",@progbits
        .ident  "GCC: (GNU) 14.0.0 20231128 (experimental)
[remotes/origin/trunk r14-6831-ged60b2868ab]"
        .type   tanh, @function

Reply via email to