Artifact bd8e2a74e1f93be943295d285709bbd803b1cebb:


0000: 3c 48 45 41 44 3e 0a 3c 54 49 54 4c 45 3e 20 54  <HEAD>.<TITLE> T
0010: 52 41 4d 50 4f 4c 49 4e 45 5f 52 20 6d 61 6e 75  RAMPOLINE_R manu
0020: 61 6c 20 70 61 67 65 20 3c 2f 54 49 54 4c 45 3e  al page </TITLE>
0030: 0a 3c 2f 48 45 41 44 3e 0a 3c 42 4f 44 59 3e 0a  .</HEAD>.<BODY>.
0040: 3c 48 31 3e 54 52 41 4d 50 4f 4c 49 4e 45 5f 52  <H1>TRAMPOLINE_R
0050: 20 6d 61 6e 75 61 6c 20 70 61 67 65 3c 2f 48 31   manual page</H1
0060: 3e 0a 0a 3c 55 4c 3e 0a 3c 4c 49 3e 20 3c 41 20  >..<UL>.<LI> <A 
0070: 48 52 45 46 3d 22 23 4e 61 6d 65 22 3e 4e 61 6d  HREF="#Name">Nam
0080: 65 3c 2f 41 3e 0a 3c 4c 49 3e 20 3c 41 20 48 52  e</A>.<LI> <A HR
0090: 45 46 3d 22 23 53 79 6e 6f 70 73 69 73 22 3e 53  EF="#Synopsis">S
00a0: 79 6e 6f 70 73 69 73 3c 2f 41 3e 0a 3c 4c 49 3e  ynopsis</A>.<LI>
00b0: 20 3c 41 20 48 52 45 46 3d 22 23 44 65 73 63 72   <A HREF="#Descr
00c0: 69 70 74 69 6f 6e 22 3e 44 65 73 63 72 69 70 74  iption">Descript
00d0: 69 6f 6e 3c 2f 41 3e 0a 3c 4c 49 3e 20 3c 41 20  ion</A>.<LI> <A 
00e0: 48 52 45 46 3d 22 23 53 65 65 20 61 6c 73 6f 22  HREF="#See also"
00f0: 3e 53 65 65 20 61 6c 73 6f 3c 2f 41 3e 0a 3c 4c  >See also</A>.<L
0100: 49 3e 20 3c 41 20 48 52 45 46 3d 22 23 50 6f 72  I> <A HREF="#Por
0110: 74 69 6e 67 22 3e 50 6f 72 74 69 6e 67 3c 2f 41  ting">Porting</A
0120: 3e 0a 3c 4c 49 3e 20 3c 41 20 48 52 45 46 3d 22  >.<LI> <A HREF="
0130: 23 41 75 74 68 6f 72 22 3e 41 75 74 68 6f 72 3c  #Author">Author<
0140: 2f 41 3e 0a 3c 4c 49 3e 20 3c 41 20 48 52 45 46  /A>.<LI> <A HREF
0150: 3d 22 23 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65  ="#Acknowledgeme
0160: 6e 74 73 22 3e 41 63 6b 6e 6f 77 6c 65 64 67 65  nts">Acknowledge
0170: 6d 65 6e 74 73 3c 2f 41 3e 0a 3c 2f 55 4c 3e 0a  ments</A>.</UL>.
0180: 3c 50 3e 0a 0a 3c 48 52 3e 0a 0a 3c 41 20 4e 41  <P>..<HR>..<A NA
0190: 4d 45 3d 22 4e 61 6d 65 22 3e 0a 3c 48 32 3e 4e  ME="Name">.<H2>N
01a0: 61 6d 65 3c 2f 48 32 3e 0a 3c 2f 41 3e 0a 0a 74  ame</H2>.</A>..t
01b0: 72 61 6d 70 6f 6c 69 6e 65 5f 72 20 2d 20 20 63  rampoline_r -  c
01c0: 6c 6f 73 75 72 65 73 20 61 73 20 66 69 72 73 74  losures as first
01d0: 2d 63 6c 61 73 73 20 43 20 66 75 6e 63 74 69 6f  -class C functio
01e0: 6e 73 0a 0a 3c 41 20 4e 41 4d 45 3d 22 53 79 6e  ns..<A NAME="Syn
01f0: 6f 70 73 69 73 22 3e 0a 3c 48 32 3e 53 79 6e 6f  opsis">.<H2>Syno
0200: 70 73 69 73 3c 2f 48 32 3e 0a 3c 2f 41 3e 0a 0a  psis</H2>.</A>..
0210: 3c 50 52 45 3e 0a 3c 43 4f 44 45 3e 23 69 6e 63  <PRE>.<CODE>#inc
0220: 6c 75 64 65 20 26 6c 74 3b 74 72 61 6d 70 6f 6c  lude &lt;trampol
0230: 69 6e 65 5f 72 2e 68 26 67 74 3b 3c 2f 43 4f 44  ine_r.h&gt;</COD
0240: 45 3e 0a 3c 43 4f 44 45 3e 3c 56 41 52 3e 66 75  E>.<CODE><VAR>fu
0250: 6e 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 3d 20 61  nction</VAR> = a
0260: 6c 6c 6f 63 5f 74 72 61 6d 70 6f 6c 69 6e 65 5f  lloc_trampoline_
0270: 72 28 3c 56 41 52 3e 61 64 64 72 65 73 73 3c 2f  r(<VAR>address</
0280: 56 41 52 3e 2c 20 3c 56 41 52 3e 64 61 74 61 30  VAR>, <VAR>data0
0290: 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 64 61 74  </VAR>, <VAR>dat
02a0: 61 31 3c 2f 56 41 52 3e 29 3b 3c 2f 43 4f 44 45  a1</VAR>);</CODE
02b0: 3e 0a 3c 43 4f 44 45 3e 66 72 65 65 5f 74 72 61  >.<CODE>free_tra
02c0: 6d 70 6f 6c 69 6e 65 5f 72 28 3c 56 41 52 3e 66  mpoline_r(<VAR>f
02d0: 75 6e 63 74 69 6f 6e 3c 2f 56 41 52 3e 29 3b 3c  unction</VAR>);<
02e0: 2f 43 4f 44 45 3e 0a 3c 43 4f 44 45 3e 69 73 5f  /CODE>.<CODE>is_
02f0: 74 72 61 6d 70 6f 6c 69 6e 65 5f 72 28 3c 56 41  trampoline_r(<VA
0300: 52 3e 66 75 6e 63 74 69 6f 6e 3c 2f 56 41 52 3e  R>function</VAR>
0310: 29 3c 2f 43 4f 44 45 3e 0a 3c 43 4f 44 45 3e 74  )</CODE>.<CODE>t
0320: 72 61 6d 70 6f 6c 69 6e 65 5f 72 5f 61 64 64 72  rampoline_r_addr
0330: 65 73 73 28 3c 56 41 52 3e 66 75 6e 63 74 69 6f  ess(<VAR>functio
0340: 6e 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 0a  n</VAR>)</CODE>.
0350: 3c 43 4f 44 45 3e 74 72 61 6d 70 6f 6c 69 6e 65  <CODE>trampoline
0360: 5f 72 5f 64 61 74 61 30 28 3c 56 41 52 3e 66 75  _r_data0(<VAR>fu
0370: 6e 63 74 69 6f 6e 3c 2f 56 41 52 3e 29 3c 2f 43  nction</VAR>)</C
0380: 4f 44 45 3e 0a 3c 43 4f 44 45 3e 74 72 61 6d 70  ODE>.<CODE>tramp
0390: 6f 6c 69 6e 65 5f 72 5f 64 61 74 61 31 28 3c 56  oline_r_data1(<V
03a0: 41 52 3e 66 75 6e 63 74 69 6f 6e 3c 2f 56 41 52  AR>function</VAR
03b0: 3e 29 3c 2f 43 4f 44 45 3e 0a 3c 2f 50 52 45 3e  >)</CODE>.</PRE>
03c0: 0a 0a 3c 41 20 4e 41 4d 45 3d 22 44 65 73 63 72  ..<A NAME="Descr
03d0: 69 70 74 69 6f 6e 22 3e 0a 3c 48 32 3e 44 65 73  iption">.<H2>Des
03e0: 63 72 69 70 74 69 6f 6e 3c 2f 48 32 3e 0a 3c 2f  cription</H2>.</
03f0: 41 3e 0a 0a 54 68 65 73 65 20 20 66 75 6e 63 74  A>..These  funct
0400: 69 6f 6e 73 20 69 6d 70 6c 65 6d 65 6e 74 20 3c  ions implement <
0410: 45 4d 3e 63 6c 6f 73 75 72 65 73 3c 2f 45 4d 3e  EM>closures</EM>
0420: 20 20 61 73 20 66 69 72 73 74 2d 63 6c 61 73 73    as first-class
0430: 0a 43 20 66 75 6e 63 74 69 6f 6e 73 2e 20 20 41  .C functions.  A
0440: 20 63 6c 6f 73 75 72 65 20 63 6f 6e 73 69 73 74   closure consist
0450: 73 20 6f 66 20 61 20 72 65 67 75 6c 61 72 20 43  s of a regular C
0460: 20 66 75 6e 63 74 69 6f 6e 20 20 61 6e 64 20 20   function  and  
0470: 61 0a 70 69 65 63 65 20 6f 66 20 64 61 74 61 20  a.piece of data 
0480: 77 68 69 63 68 20 67 65 74 73 20 70 61 73 73 65  which gets passe
0490: 64 20 74 6f 20 74 68 65 20 43 20 66 75 6e 63 74  d to the C funct
04a0: 69 6f 6e 20 77 68 65 6e 20 74 68 65 0a 63 6c 6f  ion when the.clo
04b0: 73 75 72 65 20 69 73 20 63 61 6c 6c 65 64 2e 0a  sure is called..
04c0: 3c 50 3e 0a 43 6c 6f 73 75 72 65 73 20 61 73 20  <P>.Closures as 
04d0: 3c 45 4d 3e 66 69 72 73 74 2d 63 6c 61 73 73 20  <EM>first-class 
04e0: 43 20 66 75 6e 63 74 69 6f 6e 73 3c 2f 45 4d 3e  C functions</EM>
04f0: 20 6d 65 61 6e 73 20 20 74 68 61 74 20 20 74 68   means  that  th
0500: 65 79 20 20 66 69 74 0a 69 6e 74 6f 20 61 20 66  ey  fit.into a f
0510: 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 65 72 20  unction pointer 
0520: 61 6e 64 20 63 61 6e 20 62 65 20 63 61 6c 6c 65  and can be calle
0530: 64 20 65 78 61 63 74 6c 79 20 6c 69 6b 65 20 61  d exactly like a
0540: 6e 79 0a 6f 74 68 65 72 20 43 20 66 75 6e 63 74  ny.other C funct
0550: 69 6f 6e 2e 20 20 3c 43 4f 44 45 3e 3c 56 41 52  ion.  <CODE><VAR
0560: 3e 66 75 6e 63 74 69 6f 6e 3c 2f 56 41 52 3e 20  >function</VAR> 
0570: 3d 20 20 61 6c 6c 6f 63 5f 74 72 61 6d 70 6f 6c  =  alloc_trampol
0580: 69 6e 65 5f 72 28 3c 56 41 52 3e 61 64 64 72 65  ine_r(<VAR>addre
0590: 73 73 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 64  ss</VAR>, <VAR>d
05a0: 61 74 61 30 3c 2f 56 41 52 3e 2c 20 3c 56 41 52  ata0</VAR>, <VAR
05b0: 3e 64 61 74 61 31 3c 2f 56 41 52 3e 29 3c 2f 43  >data1</VAR>)</C
05c0: 4f 44 45 3e 0a 61 6c 6c 6f 63 61 74 65 73 20 20  ODE>.allocates  
05d0: 61 20 20 63 6c 6f 73 75 72 65 2e 20 20 57 68 65  a  closure.  Whe
05e0: 6e 20 3c 56 41 52 3e 66 75 6e 63 74 69 6f 6e 3c  n <VAR>function<
05f0: 2f 56 41 52 3e 20 67 65 74 73 0a 63 61 6c 6c 65  /VAR> gets.calle
0600: 64 2c 20 69 74 20 73 74 6f 72 65 73 20 69 6e 20  d, it stores in 
0610: 61 20 73 70 65 63 69 61 6c 20 26 71 75 6f 74 3b  a special &quot;
0620: 6c 65 78 69 63 61 6c 20 63 68 61 69 6e 20 72 65  lexical chain re
0630: 67 69 73 74 65 72 26 71 75 6f 74 3b 20 20 61 0a  gister&quot;  a.
0640: 70 6f 69 6e 74 65 72 20 20 74 6f 20 20 61 20 20  pointer  to  a  
0650: 73 74 6f 72 61 67 65 20 61 72 65 61 20 63 6f 6e  storage area con
0660: 74 61 69 6e 69 6e 67 20 3c 56 41 52 3e 64 61 74  taining <VAR>dat
0670: 61 30 3c 2f 56 41 52 3e 20 69 6e 20 69 74 73 20  a0</VAR> in its 
0680: 66 69 72 73 74 0a 77 6f 72 64 20 61 6e 64 20 3c  first.word and <
0690: 56 41 52 3e 64 61 74 61 31 3c 2f 56 41 52 3e 20  VAR>data1</VAR> 
06a0: 69 6e 20 69 74 73 20 73 65 63 6f 6e 64 20 77 6f  in its second wo
06b0: 72 64 20 61 6e 64 20 63 61 6c 6c 73 20 74 68 65  rd and calls the
06c0: 20 43 20 66 75 6e 63 74 69 6f 6e 0a 61 74 20 20   C function.at  
06d0: 3c 56 41 52 3e 61 64 64 72 65 73 73 3c 2f 56 41  <VAR>address</VA
06e0: 52 3e 2e 20 20 20 54 68 65 20 20 66 75 6e 63 74  R>.   The  funct
06f0: 69 6f 6e 20 61 74 20 3c 56 41 52 3e 61 64 64 72  ion at <VAR>addr
0700: 65 73 73 3c 2f 56 41 52 3e 20 69 73 20 72 65 73  ess</VAR> is res
0710: 70 6f 6e 73 69 62 6c 65 20 66 6f 72 0a 66 65 74  ponsible for.fet
0720: 63 68 69 6e 67 20 3c 56 41 52 3e 64 61 74 61 30  ching <VAR>data0
0730: 3c 2f 56 41 52 3e 20 61 6e 64 20 20 3c 56 41 52  </VAR> and  <VAR
0740: 3e 64 61 74 61 31 3c 2f 56 41 52 3e 20 20 6f 66  >data1</VAR>  of
0750: 66 20 20 74 68 65 20 20 70 6f 69 6e 74 65 72 2e  f  the  pointer.
0760: 20 20 4e 6f 74 65 20 20 74 68 61 74 20 20 74 68    Note  that  th
0770: 65 0a 26 71 75 6f 74 3b 6c 65 78 69 63 61 6c 20  e.&quot;lexical 
0780: 20 63 68 61 69 6e 20 72 65 67 69 73 74 65 72 26   chain register&
0790: 71 75 6f 74 3b 20 69 73 20 61 20 63 61 6c 6c 2d  quot; is a call-
07a0: 75 73 65 64 20 72 65 67 69 73 74 65 72 2c 20 69  used register, i
07b0: 2e 65 2e 20 69 73 0a 63 6c 6f 62 62 65 72 65 64  .e. is.clobbered
07c0: 20 62 79 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c   by function cal
07d0: 6c 73 2e 0a 3c 50 3e 0a 54 68 69 73 20 69 73 20  ls..<P>.This is 
07e0: 6d 75 63 68 20 6c 69 6b 65 20 67 63 63 27 73 20  much like gcc's 
07f0: 6c 6f 63 61 6c 20 66 75 6e 63 74 69 6f 6e 73 2c  local functions,
0800: 20 65 78 63 65 70 74 20 20 74 68 61 74 20 20 74   except  that  t
0810: 68 65 0a 47 4e 55 20 20 43 20 6c 6f 63 61 6c 20  he.GNU  C local 
0820: 66 75 6e 63 74 69 6f 6e 73 20 68 61 76 65 20 64  functions have d
0830: 79 6e 61 6d 69 63 20 65 78 74 65 6e 74 20 28 69  ynamic extent (i
0840: 2e 65 2e 20 61 72 65 0a 64 65 61 6c 6c 6f 63 61  .e. are.dealloca
0850: 74 65 64 20 77 68 65 6e 20 74 68 65 20 63 72 65  ted when the cre
0860: 61 74 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 72  ating function r
0870: 65 74 75 72 6e 73 29 2c 20 77 68 69 6c 65 20 3c  eturns), while <
0880: 45 4d 3e 74 72 61 6d 70 6f 6c 69 6e 65 3c 2f 45  EM>trampoline</E
0890: 4d 3e 0a 20 20 70 72 6f 76 69 64 65 73 20 20 66  M>.  provides  f
08a0: 75 6e 63 74 69 6f 6e 73 20 77 69 74 68 20 69 6e  unctions with in
08b0: 64 65 66 69 6e 69 74 65 20 65 78 74 65 6e 74 3a  definite extent:
08c0: 20 3c 43 4f 44 45 3e 3c 56 41 52 3e 66 75 6e 63   <CODE><VAR>func
08d0: 74 69 6f 6e 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45  tion</VAR></CODE
08e0: 3e 0a 69 73 20 20 6f 6e 6c 79 20 20 64 65 61 6c  >.is  only  deal
08f0: 6c 6f 63 61 74 65 64 20 20 77 68 65 6e 20 20 3c  located  when  <
0900: 43 4f 44 45 3e 66 72 65 65 5f 74 72 61 6d 70 6f  CODE>free_trampo
0910: 6c 69 6e 65 5f 72 28 3c 56 41 52 3e 66 75 6e 63  line_r(<VAR>func
0920: 74 69 6f 6e 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44  tion</VAR>)</COD
0930: 45 3e 20 20 69 73 0a 63 61 6c 6c 65 64 2e 0a 3c  E>  is.called..<
0940: 50 3e 0a 3c 43 4f 44 45 3e 69 73 5f 74 72 61 6d  P>.<CODE>is_tram
0950: 70 6f 6c 69 6e 65 5f 72 28 3c 56 41 52 3e 66 75  poline_r(<VAR>fu
0960: 6e 63 74 69 6f 6e 3c 2f 56 41 52 3e 29 3c 2f 43  nction</VAR>)</C
0970: 4f 44 45 3e 0a 63 68 65 63 6b 73 20 20 77 68 65  ODE>.checks  whe
0980: 74 68 65 72 20 20 74 68 65 20 20 43 20 20 66 75  ther  the  C  fu
0990: 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 3c 56 41  nction <CODE><VA
09a0: 52 3e 66 75 6e 63 74 69 6f 6e 3c 2f 56 41 52 3e  R>function</VAR>
09b0: 3c 2f 43 4f 44 45 3e 0a 77 61 73 20 20 70 72 6f  </CODE>.was  pro
09c0: 64 75 63 65 64 20 62 79 20 61 20 63 61 6c 6c 20  duced by a call 
09d0: 74 6f 20 3c 43 4f 44 45 3e 61 6c 6c 6f 63 5f 74  to <CODE>alloc_t
09e0: 72 61 6d 70 6f 6c 69 6e 65 5f 72 3c 2f 43 4f 44  rampoline_r</COD
09f0: 45 3e 2e 0a 49 66 20 74 68 69 73 20 72 65 74 75  E>..If this retu
0a00: 72 6e 73 20 74 72 75 65 2c 20 74 68 65 20 61 72  rns true, the ar
0a10: 67 75 6d 65 6e 74 73 20 67 69 76 65 6e 20 74 6f  guments given to
0a20: 20 3c 43 4f 44 45 3e 61 6c 6c 6f 63 5f 74 72 61   <CODE>alloc_tra
0a30: 6d 70 6f 6c 69 6e 65 5f 72 3c 2f 43 4f 44 45 3e  mpoline_r</CODE>
0a40: 0a 63 61 6e 20 20 62 65 20 20 72 65 74 72 69 65  .can  be  retrie
0a50: 76 65 64 3a 0a 3c 55 4c 3e 0a 3c 4c 49 3e 20 3c  ved:.<UL>.<LI> <
0a60: 43 4f 44 45 3e 74 72 61 6d 70 6f 6c 69 6e 65 5f  CODE>trampoline_
0a70: 72 5f 61 64 64 72 65 73 73 28 3c 56 41 52 3e 66  r_address(<VAR>f
0a80: 75 6e 63 74 69 6f 6e 3c 2f 56 41 52 3e 29 3c 2f  unction</VAR>)</
0a90: 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 56  CODE> returns <V
0aa0: 41 52 3e 61 64 64 72 65 73 73 3c 2f 56 41 52 3e  AR>address</VAR>
0ab0: 2c 0a 3c 4c 49 3e 20 3c 43 4f 44 45 3e 74 72 61  ,.<LI> <CODE>tra
0ac0: 6d 70 6f 6c 69 6e 65 5f 72 5f 64 61 74 61 30 28  mpoline_r_data0(
0ad0: 3c 56 41 52 3e 66 75 6e 63 74 69 6f 6e 3c 2f 56  <VAR>function</V
0ae0: 41 52 3e 29 3c 2f 43 4f 44 45 3e 20 72 65 74 75  AR>)</CODE> retu
0af0: 72 6e 73 20 3c 56 41 52 3e 64 61 74 61 30 3c 2f  rns <VAR>data0</
0b00: 56 41 52 3e 2c 0a 3c 4c 49 3e 20 3c 43 4f 44 45  VAR>,.<LI> <CODE
0b10: 3e 74 72 61 6d 70 6f 6c 69 6e 65 5f 72 5f 64 61  >trampoline_r_da
0b20: 74 61 31 28 3c 56 41 52 3e 66 75 6e 63 74 69 6f  ta1(<VAR>functio
0b30: 6e 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 20  n</VAR>)</CODE> 
0b40: 72 65 74 75 72 6e 73 20 3c 56 41 52 3e 64 61 74  returns <VAR>dat
0b50: 61 31 3c 2f 56 41 52 3e 2e 0a 3c 2f 55 4c 3e 0a  a1</VAR>..</UL>.
0b60: 0a 3c 41 20 4e 41 4d 45 3d 22 53 65 65 20 61 6c  .<A NAME="See al
0b70: 73 6f 22 3e 0a 3c 48 32 3e 53 65 65 20 61 6c 73  so">.<H2>See als
0b80: 6f 3c 2f 48 32 3e 0a 3c 2f 41 3e 0a 3c 41 20 48  o</H2>.</A>.<A H
0b90: 52 45 46 3d 22 74 72 61 6d 70 6f 6c 69 6e 65 28  REF="trampoline(
0ba0: 33 29 22 3e 3c 43 4f 44 45 3e 3c 42 3e 74 72 61  3)"><CODE><B>tra
0bb0: 6d 70 6f 6c 69 6e 65 3c 2f 42 3e 3c 2f 43 4f 44  mpoline</B></COD
0bc0: 45 3e 3c 2f 41 3e 28 33 29 2c 20 3c 41 20 48 52  E></A>(3), <A HR
0bd0: 45 46 3d 22 67 63 63 28 31 29 22 3e 3c 43 4f 44  EF="gcc(1)"><COD
0be0: 45 3e 3c 42 3e 67 63 63 3c 2f 42 3e 3c 2f 43 4f  E><B>gcc</B></CO
0bf0: 44 45 3e 3c 2f 41 3e 28 31 29 2c 20 3c 41 20 48  DE></A>(1), <A H
0c00: 52 45 46 3d 22 76 61 72 61 72 67 73 28 33 29 22  REF="varargs(3)"
0c10: 3e 3c 43 4f 44 45 3e 3c 42 3e 76 61 72 61 72 67  ><CODE><B>vararg
0c20: 73 3c 2f 42 3e 3c 2f 43 4f 44 45 3e 3c 2f 41 3e  s</B></CODE></A>
0c30: 28 33 29 0a 0a 3c 41 20 4e 41 4d 45 3d 22 50 6f  (3)..<A NAME="Po
0c40: 72 74 69 6e 67 22 3e 0a 3c 48 32 3e 50 6f 72 74  rting">.<H2>Port
0c50: 69 6e 67 3c 2f 48 32 3e 0a 3c 2f 41 3e 0a 0a 54  ing</H2>.</A>..T
0c60: 68 65 20 77 61 79 20 67 63 63 20 62 75 69 6c 64  he way gcc build
0c70: 73 20 6c 6f 63 61 6c 20 66 75 6e 63 74 69 6f 6e  s local function
0c80: 73 20 69 73 20 64 65 73 63 72 69 62 65 64 20 69  s is described i
0c90: 6e 20 74 68 65 20 67 63 63 0a 73 6f 75 72 63 65  n the gcc.source
0ca0: 2c 20 66 69 6c 65 20 3c 53 41 4d 50 3e 67 63 63  , file <SAMP>gcc
0cb0: 2d 32 2e 36 2e 33 2f 63 6f 6e 66 69 67 2f 3c 56  -2.6.3/config/<V
0cc0: 41 52 3e 63 70 75 3c 2f 56 41 52 3e 2f 3c 56 41  AR>cpu</VAR>/<VA
0cd0: 52 3e 63 70 75 3c 2f 56 41 52 3e 2e 68 3c 2f 53  R>cpu</VAR>.h</S
0ce0: 41 4d 50 3e 2e 0a 0a 3c 41 20 4e 41 4d 45 3d 22  AMP>...<A NAME="
0cf0: 41 75 74 68 6f 72 22 3e 0a 3c 48 32 3e 41 75 74  Author">.<H2>Aut
0d00: 68 6f 72 3c 2f 48 32 3e 0a 3c 2f 41 3e 0a 0a 42  hor</H2>.</A>..B
0d10: 72 75 6e 6f 20 48 61 69 62 6c 65 20 26 6c 74 3b  runo Haible &lt;
0d20: 62 72 75 6e 6f 40 63 6c 69 73 70 2e 6f 72 67 26  bruno@clisp.org&
0d30: 67 74 3b 0a 0a 3c 41 20 4e 41 4d 45 3d 22 41 63  gt;..<A NAME="Ac
0d40: 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 73 22 3e  knowledgements">
0d50: 0a 3c 48 32 3e 41 63 6b 6e 6f 77 6c 65 64 67 65  .<H2>Acknowledge
0d60: 6d 65 6e 74 73 3c 2f 48 32 3e 0a 3c 2f 41 3e 0a  ments</H2>.</A>.
0d70: 0a 4d 61 6e 79 20 69 64 65 61 73 20 77 65 72 65  .Many ideas were
0d80: 20 63 72 69 62 62 65 64 20 66 72 6f 6d 20 74 68   cribbed from th
0d90: 65 20 67 63 63 20 73 6f 75 72 63 65 2e 0a 3c 50  e gcc source..<P
0da0: 3e 0a 0a 3c 48 52 3e 0a 0a 3c 41 44 44 52 45 53  >..<HR>..<ADDRES
0db0: 53 3e 54 52 41 4d 50 4f 4c 49 4e 45 5f 52 20 6d  S>TRAMPOLINE_R m
0dc0: 61 6e 75 61 6c 20 70 61 67 65 3c 42 52 3e 0a 42  anual page<BR>.B
0dd0: 72 75 6e 6f 20 48 61 69 62 6c 65 20 26 6c 74 3b  runo Haible &lt;
0de0: 62 72 75 6e 6f 40 63 6c 69 73 70 2e 6f 72 67 26  bruno@clisp.org&
0df0: 67 74 3b 0a 3c 2f 41 44 44 52 45 53 53 3e 0a 3c  gt;.</ADDRESS>.<
0e00: 50 3e 0a 4c 61 73 74 20 6d 6f 64 69 66 69 65 64  P>.Last modified
0e10: 3a 20 32 32 20 4f 63 74 6f 62 65 72 20 31 39 39  : 22 October 199
0e20: 37 2e 0a 0a 3c 2f 42 4f 44 59 3e 0a              7...</BODY>.