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 <trampol
0230: 69 6e 65 5f 72 2e 68 26 67 74 3b 3c 2f 43 4f 44 ine_r.h></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 "
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" 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."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 <
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 <
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>.