Uploaded new patch. On 2012/03/20 19:25:38, davidxl wrote:
It would be nice to add some unit/regression test cases of some sort.
Made the existing unit test case check the final layout.
David
http://codereview.appspot.com/5851044/diff/1/callgraph.c File callgraph.c (right):
http://codereview.appspot.com/5851044/diff/1/callgraph.c#newcode309 callgraph.c:309: if (!is_prefix_of ("_ZL", name)) How about static functions in namespace? How about functions in
anonymous
namespace?
Thanks for pointing this out. One solution is to add more plugin interfaces to plugin-api.h to find the section flags and the section group. This way, comdats can be detected. All other duplicates can be treated as file static functions. I marked this as TODO for now. I am also thinking of sending a patch to generate unique section names for file static functions. This will help --section-ordering-file in gold too.
http://codereview.appspot.com/5851044/diff/1/callgraph.c#newcode511 callgraph.c:511: ".text." }; How are the sections ordered in the array? Keep it in mind that it is
possible
to encode the actual profile count of the function in the section name
in the
future.
Right, for now this parsing will work. The parsing needs to be updated once the section names change. http://codereview.appspot.com/5851044/