view gpf/BIN/cg_na7.awk @ 343:5df5579f9f92

p_tpudr12.c: initial import of p_tpudr61.c from LoCosto
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 30 Oct 2017 05:11:46 +0000
parents 509db1a7b7b8
children
line wrap: on
line source

#----------------------------------------------------------------------------- 
#  Project :  
#  Modul   :  
#----------------------------------------------------------------------------- 
#  Copyright 2002 Texas Instruments Berlin, AG 
#                 All rights reserved. 
# 
#                 This file is confidential and a trade secret of Texas 
#                 Instruments Berlin, AG 
#                 The receipt of or possession of this file does not convey 
#                 any rights to reproduce or disclose its contents or to 
#                 manufacture, use, or sell anything it may describe, in 
#                 whole, or in part, without the specific written consent of 
#                 Texas Instruments Berlin, AG. 
#----------------------------------------------------------------------------- 
#|  Purpose :  extract stacksize information from ARM7 asm files
#----------------------------------------------------------------------------- 
/.*FUNCTION DEF: \$/{
  if (infunc)
    printf ("end %s %d\n\n", fn, s+p);
  infunc = 1;
  s = 0;
  p = 0;
  fn = gensub(/.*\$([^ ]+) .*/, "\\1", 1, $0)
  print "proc "  fn
}

/BL *\$/{
  if (infunc)
    print " call " gensub(/.*\$(.+).*$/, "\\1", 1, $0)
}

/FUNCTION VENEER:/{
  if (infunc)
    printf ("end %s %d\n\n", fn, s+p);
  infunc = 0;
}

/ADD *SP, #-/{
  s = gensub(/.*-([0-9]*).*$/, "\\1", 1, $0)
}

/PUSH/{
  p0 = split($0, foo, ",")
  p += p0 * 4
}

END{
  if (infunc)
    printf ("end %s %d\n\n", fn, s+p);
}