== Progress == * Libssp support for AArch64 TCWG 23: Basic support is enabled by default when frame is made to grow downwards. Wrote machine descriptions for stack_protect_set and stack_protect_test to override this default behavior. Testing the patch internally.
Plan is to emit instructions as RTL instead of template and see which approach is better.
* Look at builtin return address behavior in the absence of frame pointer: For X86_64 usage if __builtin_return_address(n) n>0 and -fomit-frame-pointer results in undefined behavior.
Discussed with Marcus and Andrew (mail chain) and decided not to touch __builtin_return_address(n) where n>0. Decided to leave it as return 0 for frame number other than current frame.
* TCWG-20 gprof support patches. Re-implemented gprof patches without builtin_return_address usage for frame number n >0. The "mcount" in glibc needs two arguments. The "mcount" routine will be emitted by GCC with an argument to previous frame return address. And in the glibc "mcount" routine will be modified to use builtin_return_address(0) for the second argument.
http://gcc.gnu.org/ml/gcc-patches/2013-08/msg00148.html Waiting for comments.
Matt suggested to try and return a label address inside the function while generating mcount. But profiling code is expanded before any local labels are generated. Also need to research more on this approach. So stopped and decided to use simpler approach.
== Plan == * Continue Libssp support for AArch64 TCWG-23 * Update review comments and upstream gprof patches
==issues== * LTO/PGO work stopped now since libssp support priority is more
Misc ------ 09-August Public holiday in India.