Is the following a bug in knlist() ???

Geoff Coleman geoff at edm.uucp
Fri Nov 9 10:19:20 AEST 1990


Help
	I need to know if the following is considered a bug or not. Given
the following code which uses knlist() to poke into the live kernel and
find the location of a couple of variables. If compiled with 

cc -DGOOD test1.c 

it will return a value of 0 from knlist and 0 in errno.

If compiled with 

cc test1.c 

it will return a value of-1 from knlist and errno will be zero because
swplo does not exist in the aix kernel. This goes against the documentation
for knlist() in the manuals.


Geoff Coleman
Unexsys Systems


____________________________ test1.c _________________________________

#include <stdio.h>
#include <errno.h>
#include <nlist.h>			/* need this for name list function */
struct nlist name_list[4];		/* define an array of nlist structs */

int i;

main(){
	for(i=0;i<3;i++){
		name_list[i].n_value = 0;
		name_list[i].n_scnum = 0;
		name_list[i].n_type  = 0;
		name_list[i].n_sclass = NULL;
		name_list[i].n_numaux = NULL;
	}

	name_list[0].n_name = "proc";
#ifdef GOOD
	name_list[1].n_name = "v";
	name_list[2].n_name = "swplo";
#else
	name_list[1].n_name = "swplo";
	name_list[2].n_name = "v";
#endif
	name_list[3].n_name = NULL;
	fprintf(stderr,"return from knlist = %d\n",
		knlist(name_list,2,sizeof(struct nlist)));
	fprintf(stderr," errno = %d\n",errno);
}



More information about the Comp.unix.aix mailing list