/* Allocate a new symbols for use in the hash of exported symbols or the list of unresolved symbols per module  */
static struct symbol* alloc_symbol(const char *name, unsigned int weak, struct symbol *next)
/* Allocate a new symbols for use in the hash of exported symbols or the list of unresolved symbols per module  */
static struct symbol* alloc_symbol(const char *name, unsigned int weak, struct symbol *next)
{
	struct symbol *s = NOFAIL(malloc(sizeof(*s) + strlen(name) + 1));
	memset(s, 0, sizeof(*s));
	strcpy(s->name, name);
	s->weak = weak;
	s->next = next;
	return s;
}