Here is a new patch to update the cold name partition so that it will only be treated like a function name and be given a size on the architectures that specifically define macros for such. I also updated the test case to try to only test on the appropriate architectures. I am not sure I got the target triples correct for this, so I would appreciate some extra attention to that in the review. I have tested this new patch on my workstation and it works as intended. I am in the process of bootstrapping with the new patch. Assuming that the bootstrap passes, is this ok to commit? -- Caroline Tice cmtice@google.com ChangeLog (gcc): 2015-04-29 Caroline Tice PR 65929 * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition. (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition. * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME instead of ASM_DECLARE_FUNCTION_NAME for cold partition name. * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size. ChangeLog (testsuite): 2015-04-29 Caroline Tice PR 65929 * gcc.dg/tree-prof/cold_partition_label.c: Only check for cold partition size on certain targets. On Wed, Apr 29, 2015 at 11:59 AM, Caroline Tice wrote: > Thank you; I will work with your suggestions and try to get a new > patch done soon. > > -- Caroline Tice > cmtice@google.com > > > On Wed, Apr 29, 2015 at 11:34 AM, Uros Bizjak wrote: >> On Wed, Apr 29, 2015 at 7:47 PM, Uros Bizjak wrote: >>> On Wed, Apr 29, 2015 at 7:38 PM, Caroline Tice wrote: >>>> The attached patch can revert the previous patch, if that is the way >>>> we should proceed on this. If you want me to apply the reversion, >>>> please let me know. >>>> >>>> I would be happy to fix to the problem, rather than just reverting the >>>> patch, but I do not have expertise in assembly language on other >>>> platforms, so I would need some help, if anyone would be interested in >>>> helping me? >>> >>> How about adding ASM_DECLARE_COLD_FUNCTION_NAME and >>> ASM_DECLARE_COLD_FUNCTION_SIZE? If these are defined, they can be used >>> instead, and targets are free to define them in any way. >> >> Something like the attached prototype RFC patch. Using this patch, >> readelf -sW returns: >> >> Symbol table '.symtab' contains 18 entries: >> Num: Value Size Type Bind Vis Ndx Name >> 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND >> 1: 0000000000000000 0 SECTION LOCAL DEFAULT 1 >> 2: 0000000000000000 0 SECTION LOCAL DEFAULT 3 >> 3: 0000000000000000 0 SECTION LOCAL DEFAULT 4 >> 4: 0000000000000000 0 SECTION LOCAL DEFAULT 5 >> 5: 0000000000000000 0 SECTION LOCAL DEFAULT 6 >> 6: 0000000000000000 0 SECTION LOCAL DEFAULT 8 >> 7: 0000000000000000 8 FUNC LOCAL DEFAULT 6 main.cold.0 >> 8: 0000000000000000 0 SECTION LOCAL DEFAULT 10 >> 9: 0000000000000000 0 SECTION LOCAL DEFAULT 13 >> 10: 0000000000000000 0 SECTION LOCAL DEFAULT 12 >> 11: 0000000000000000 312 FUNC GLOBAL DEFAULT [: 88] 8 main >> 12: 0000000000000008 160 OBJECT GLOBAL DEFAULT COM buf >> 13: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND memset >> 14: 0000000000000000 44 FUNC GLOBAL DEFAULT [: 88] 1 sub2 >> 15: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND strcmp >> 16: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND exit >> 17: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND abort >> >> Uros.