Hi Sriraman, I'm very interested in function rearrangement recently, and very lucky to see your patch( https://gcc.gnu.org/legacy-ml/gcc-patches/2011-09/msg01440.html ) for function sorting, but I'm very unfamiliar with the use of GCC plugin. According to your tutorial on how to use the plugin, it doesn't make the plugin work. It seems that the tutorial is out of date. The option "-fcallgraph-profiles-sections" doesn't seem to be recognized by GCC( https://chromium.googlesource.com/chromiumos/third_party/gcc/+/refs/heads/svn-mirror/google/gcc-4_8 ). and when I use the options"-freorder-functions=callgraph -Wl,--plugin,<path_to_plugin>/libfunction_reordering_plugin.so" for my program, see error "/usr/bin/ld: API for code reordering not available", which is located in the file function_reordering_plugin/function_ordering_plugin.c ? The code is as follows: /* If the API for code reordering is missing, abort! */ if (register_all_symbols_read_hook == NULL || register_claim_file_hook == NULL || get_input_section_count == NULL || get_input_section_type == NULL || get_input_section_name == NULL || get_input_section_contents == NULL || update_section_order == NULL || allow_section_ordering == NULL) { MSG_FATAL ("API for code reordering not available\n"); } Could you help me for this? Looking forward to your reply. Thanks, ijinma