]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
pa.c (hppa_profile_hook): Mark SYMBOL_REF for _mcount as function label.
authorJohn David Anglin <danglin@gcc.gnu.org>
Sat, 10 Feb 2018 23:38:37 +0000 (23:38 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Sat, 10 Feb 2018 23:38:37 +0000 (23:38 +0000)
* config/pa/pa.c (hppa_profile_hook): Mark SYMBOL_REF for _mcount as
function label.

From-SVN: r257556

gcc/ChangeLog
gcc/config/pa/pa.c

index 50e4dfa0851d50da48647db3bba9a3547c91a979..f7a9ecef0ad3e4dcbf7438ea3f0dc5e56de6819a 100644 (file)
@@ -1,5 +1,8 @@
 2018-02-10  John David Anglin  <danglin@gcc.gnu.org>
 
+       * config/pa/pa.c (hppa_profile_hook): Mark SYMBOL_REF for _mcount as
+       function label.
+
        Backport from mainline
        2018-02-01  Aldy Hernandez  <aldyh@redhat.com>
 
index b4f7a7113ff43218e26b2cb64d2b014f394a9400..2ac2025e89d9195611595432e1b77783e1bf70fc 100644 (file)
@@ -4565,13 +4565,17 @@ hppa_profile_hook (int label_no)
      lcla2 and load_offset_label_address insn patterns.  */
   rtx reg = gen_reg_rtx (SImode);
   rtx_code_label *label_rtx = gen_label_rtx ();
-  rtx mcount = gen_rtx_MEM (Pmode, gen_rtx_SYMBOL_REF (Pmode, "_mcount"));
   int reg_parm_stack_space = REG_PARM_STACK_SPACE (NULL_TREE);
-  rtx arg_bytes, begin_label_rtx;
+  rtx arg_bytes, begin_label_rtx, mcount, sym;
   rtx_insn *call_insn;
   char begin_label_name[16];
   bool use_mcount_pcrel_call;
 
+  /* Set up call destination.  */
+  sym = gen_rtx_SYMBOL_REF (Pmode, "_mcount");
+  pa_encode_label (sym);
+  mcount = gen_rtx_MEM (Pmode, sym);
+
   /* If we can reach _mcount with a pc-relative call, we can optimize
      loading the address of the current function.  This requires linker
      long branch stub support.  */