--_dl_nloaded;
--GL(dl_nloaded);
lose (int code, int fd, const char *name, char *realname, struct link_map *l,      const char *msg){  /* The use of `alloca' here looks ridiculous but it helps.  The goal     is to avoid the function from being inlined.  There is no official     way to do this so we use this trick.  gcc never inlines functions     which use `alloca'.  */  int *a = (int *) alloca (sizeof (int));  a[0] = fd;  /* The file might already be closed.  */  if (a[0] != -1)    (void) __close (a[0]);  if (l != NULL)    {      /* Remove the stillborn object from the list and free it.  */      assert (l->l_next == NULL);#ifndef SHARED      if (l->l_prev == NULL)	/* No other module loaded.  */	_dl_loaded = NULL;      else#endif	l->l_prev->l_next = NULL;      --_dl_nloaded;      free (l);    }  free (realname);  _dl_signal_error (code, name, NULL, msg);}