1. 13 Feb, 2021 9 commits
  2. 11 Feb, 2021 3 commits
  3. 09 Feb, 2021 7 commits
  4. 04 Feb, 2021 9 commits
  5. 03 Feb, 2021 4 commits
  6. 27 Jan, 2021 6 commits
  7. 25 Jan, 2021 2 commits
    • Jinyang He's avatar
      MIPS: Add is_jr_ra_ins() to end the loop early · 50886234
      Jinyang He authored
      For those leaf functions, they are likely to have no stack operations.
      Add is_jr_ra_ins() to determine whether jr ra has been touched before
      the frame_size is found. Without this patch, the get frame_size operation
      may be out of range and get the frame_size from the next nested function.
      
      There is no POOL32A format in uapi/asm/inst.h, so some bits here use the
      format of r_format instead.
      e.g.
      ---------------------------------------------------------------------
      |    format      |  31:26  | 25:21 | 20:16 |    15:6    |    5:0    |
      -----------------+---------+-------+-------+------------+------------
      | pool32a_format | pool32a |  rt   |  rs   |   jalrc    | pool32axf |
      -----------------+---------+-------+-------+------------+------------
      |    r_format    |  opcode |  rs   |  rt   | rd:5, re:5 |    func   |
      ---------------------------------------------------------------------
      Signed-off-by: default avatarJinyang He <hejinyang@loongson.cn>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      50886234
    • Jinyang He's avatar
      MIPS: Fix get_frame_info() handing of function size · 2d62f64b
      Jinyang He authored
      [1]: Commit b6c7a324 ("MIPS: Fix get_frame_info() handling of
                                  microMIPS function size")
      [2]: Commit 2b424cfc ("MIPS: Remove function size check in
                                  get_frame_info()")
      
      First patch added a constant to check the number of iterations against.
      Second patch fixed the situation that info->func_size is zero.
      
      However, func_size member became useless after the second commit. Without
      ip_end, the get frame_size operation may be out of range although KALLSYMS
      enabled. Thus, check func_size first. Then make ip_end be the sum of ip
      and a constant (512) if func_size is equal to 0. Otherwise make ip_end be
      the sum of ip and func_size.
      Signed-off-by: default avatarJinyang He <hejinyang@loongson.cn>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      2d62f64b