mpin and function length
David Blythe
blythe at sgi.com
Thu Jun 20 14:37:19 AEST 1991
In article <1991Jun19.172430.5654 at news.larc.nasa.gov> alan at hal.larc.nasa.gov (alan dare) writes:
>
>
>Irix'ers,
>
> I have been looking at some of the "REACT" features and the demo
>program in section 14 volume II of the Iris-4D Programmers Guide. The program
>pins the signal handler into memory. Seems like a good idea. To find the
>length of the signal handling function the following is done during pinning:
>
> mpin((char *)catcher, (int)pinmem - (int)catcher);
>
> In the source code pinmem() is directly after catcher(). Thus, the
>size of the function is found. I would like to pin my signal handler in
>memory, but I have some questions about finding the function length. If i'm
>using O3 optimization or a Power compiler I think the locations of the
>functions could be changed (Correct ?). The problem could also arise if
>an engineer after me mods the program and changes the function location.
>I would like to find another solution to dynamicly determine the function
>length, but I don't know how.
>
> If I am off base here, please tell me what i'm missing. If not, anyone
>have any good ideas?
Since mpin works in terms of pages and signal handlers shouldn't be *that*
big, I would just make a reasonably generous guess at how big the code was
and plug that in, we are talking about a couple of pages so overestimating
by a page or two isn't going to hurt. Say 8096 bytes, and a comment indicating
that if someone adds a lot to the signal handler to increase the size.
You can also compile the signal handler in a separate .o file and use
the size command to determine its real size.
db
More information about the Comp.sys.sgi
mailing list