else if (strcmp(str, "_etext") == 0) 
else if (strcmp(sym, "_etext") == 0) 
read_symbol(FILE *in, struct sym_entry *s){	char str[500];	int rc;	rc = fscanf(in, "%llx %c %499s\n", &s->addr, &s->type, str);	if (rc != 3) {		if (rc != EOF) {			/* skip line */			fgets(str, 500, in);		}		return -1;	}	/* Ignore most absolute/undefined (?) symbols. */	if (strcmp(str, "_stext") == 0)		_stext = s->addr;	else if (strcmp(str, "_etext") == 0)		_etext = s->addr;	else if (strcmp(str, "_sinittext") == 0)		_sinittext = s->addr;	else if (strcmp(str, "_einittext") == 0)		_einittext = s->addr;	else if (toupper(s->type) == 'A')	{		/* Keep these useful absolute symbols */		if (strcmp(str, "__kernel_syscall_via_break") &&		    strcmp(str, "__kernel_syscall_via_epc") &&		    strcmp(str, "__kernel_sigtramp") &&		    strcmp(str, "__gp"))			return -1;	}	else if (toupper(s->type) == 'U' ||		 is_arm_mapping_symbol(str))		return -1;	/* include the type field in the symbol name, so that it gets	 * compressed together */	s->len = strlen(str) + 1;	s->sym = (char *) malloc(s->len + 1);	strcpy(s->sym + 1, str);	s->sym[0] = s->type;	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/41f11a4fa378201e902892130b11d78cf7cf8e10/kallsyms.c/clean/scripts/kallsyms.c