This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

msp430-gcc: Missing symbol type declaration for functions

I'm not sure if this is the correct place for msp430-gcc bug reports/patches.

When compiling a C/C++ file, the resulting symbols in the object file (as displayed with "readelf --syms") have the type "NOTYPE". The type should be "FUNC" instead. The following patch fixes the issue by adding the missing ".type my_function, @function" declaration to the generated assembler code:

diff -ur gcc.orig/config/msp430/msp430.c gcc/config/msp430/msp430.c
--- gcc.orig/config/msp430/msp430.c     2015-11-25 19:02:36.000000000 +0100
+++ gcc/config/msp430/msp430.c  2016-01-29 12:01:37.596617928 +0100
@@ -2150,6 +2150,7 @@
     }

   switch_to_section (function_section (decl));
+  ASM_OUTPUT_TYPE_DIRECTIVE(file, name, "function");
   ASM_OUTPUT_FUNCTION_LABEL (file, name, decl);
 }