/* Add an exported symbol - it may have already been added without a CRC, in this case just update the CRC  */
static struct symbol* sym_add_exported(const char *name, struct module *mod, enum export export)
/* Add an exported symbol - it may have already been added without a CRC, in this case just update the CRC  */
static struct symbol* sym_add_exported(const char *name, struct module *mod, enum export export)
{
	struct symbol *s = find_symbol(name);
	if (!s) {
		s = new_symbol(name, mod, export);
	} else {
		if (!s->preloaded) {
			warn("%s: '%s' exported twice. Previous export "
			     "was in %s%s\n", mod->name, name,
			     s->module->name,
			     is_vmlinux(s->module->name) ?"":".ko");
		} else {
			s->module = mod;
		}
	}
	s->preloaded = 0;
	s->vmlinux   = is_vmlinux(mod->name);
	s->kernel    = 0;
	s->export    = export;
	return s;
}