grep JSInitReport tmp.c
... returns nothing, the symbol in not in tmp.c
nm tmp | grep JSInitReport
... returns nothing
ll tmp
-rw-r--r-- 1 jmcnama prog 21392 Jan 23 08:33 tmp
.. note the size of the tmp executable image file.
.. if I add this to the list of input files to cc
/utility/c/lib/libsctu.a
.... Now:
nm tmp | grep JSInitReport
JSInitReport | 12484|extern|entry |$CODE$
ll tmp
-rw-r--r-- 1 jmcnama prog 214925 Jan 23 08:39 tmp
... note the executable image is now almost ten times larger because of new static symbols
The linker added the symbol, even though the primary module did not call it.
And it will never be executed
You need to find a different way to link your files if you have to use nm to find only symbols that are actually invoked.
I believe if you use ar to create a library, you can then ask the linker to search the library, rather than including all the symbols from the whole archive. Use the
Code:
-l <file.a> -a archive
syntax
Last edited by jim mcnamara; 01-23-2006 at 12:08 PM..
How to get exit value of an executable that gets called from function?
I have an executable called “myexec” which returns 0 on success and different values for different fail scenarios.
I need to call this (myexec) executable from “myprog()” function of other executable and get the exit value... (1 Reply)
Hi all ,
I need to call an executable (.exe) using shell script.
Actual need is i need to call that shell script and do an export of some tables
is there any way . the executable is datamover
Please let me know if there are any option !! (2 Replies)
Hello,
I have a problem with package and name space.
require "/Mehran/DSGateEngineLib/general.pl";
use strict;
sub System_Status_Main_Service_Status_Intrusion_Prevention
{
my %idpstatus;
my @result;
&General_ReadHash("/var/dsg/idp/settings",\%idpstatus);
#print... (4 Replies)
Now I am using the HP-UX11.11 version.
The scripts are runninh in KSH shell.
While I wan to call one executable of any Pro*C file, I have got the following error, however the executable is running fine directly.
testpri Started at 10.05.200923:40
/usr/lib/dld.sl: Bad magic number for... (0 Replies)
hi guys
i have only basic knowledge of c so guys plz help me .....
i want 2 call c executable which requires file name as argument and i need to modify file contents before calling that executable now my question is how can i call this c executable inside another c program with arguments ??
i... (9 Replies)
hi guys
i have only basic knowledge of C so guys plz help me .....
is C language support call the C executable inside the C ??
example contect mainA.c have a many function define in the struct,when i compile mainA and make a executable the name is ( A ),can i use executable C inside the C... (5 Replies)
Below is my script that is function properly per my conditions but I am facing one problem here that is when one function fails then Iy should not check other functions but it calls the other function too So anyone can help me how could i achieve this?
iNOUT i AM GIVING TO THE... (1 Reply)
I am running the below loop that to process the 3 bam files (which isn't always the case). A .py executable is then called using | xargs sh to further process. If I just run it with echo the output is fine and expected, however when
| xargs sh is added I get the error. I tried adding | xargs... (4 Replies)
Discussion started by: cmccabe
4 Replies
LEARN ABOUT OPENSOLARIS
rmvb
rmvb(9F) Kernel Functions for Drivers rmvb(9F)NAME
rmvb - remove a message block from a message
SYNOPSIS
#include <sys/stream.h>
mblk_t *rmvb(mblk_t *mp, mblk_t *bp);
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
PARAMETERS
mp Message from which a block is to be removed. mblk_t is an instance of the msgb(9S) structure.
bp Message block to be removed.
DESCRIPTION
The rmvb() function removes a message block (bp) from a message (mp), and returns a pointer to the altered message. The message block is
not freed, merely removed from the message. It is the module or driver's responsibility to free the message block.
RETURN VALUES
If successful, a pointer to the message (minus the removed block) is returned. The pointer is NULL if bp was the only block of the message
before rmvb() was called. If the designated message block (bp) does not exist, -1 is returned.
CONTEXT
The rmvb() function can be called from user, interrupt, or kernel context.
EXAMPLES
This routine removes all zero-length M_DATA message blocks from the given message. For each message block in the message, save the next
message block (line 10). If the current message block is of type M_DATA and has no data in its buffer (line 11), then remove it from the
message (line 12) and free it (line 13). In either case, continue with the next message block in the message (line 16).
1 void
2 xxclean(mp)
3 mblk_t *mp;
4 {
5 mblk_t *tmp;
6 mblk_t *nmp;
7
8 tmp = mp;
9 while (tmp) {
10 nmp = tmp->b_cont;
11 if ((tmp->b_datap->db_type == M_DATA) &&
(tmp->b_rptr == tmp->b_wptr)) {
12 (void) rmvb(mp, tmp);
13 freeb(tmp);
14 }
15 tmp = nmp;
16 }
17 }
SEE ALSO freeb(9F), msgb(9S)
Writing Device Drivers
STREAMS Programming Guide
SunOS 5.11 16 Jan 2006 rmvb(9F)