libc {
  GLIBC_2.0 {
    # functions with a weak definition in the dynamic linker
    __getcwd; __mmap;
  }
  GLIBC_PRIVATE {
    _dl_init_first;
  }
}

ld {
  GLIBC_2.0 {
    # variables that must be shared with libc
    __hurd_sigthread_stack_base; __hurd_sigthread_stack_end;
    __hurd_sigthread_variables;
    __hurd_threadvar_stack_mask;  __hurd_threadvar_stack_offset;

    # functions that must be shared with libc
    __close; __getcwd; __getpid;
    __mmap; __open; __xstat64; __fxstat64;
    _exit; _hurd_intr_rpc_mach_msg;
    abort;
  }
  GLIBC_2.2.6 {
    # this also must be shared with libc.
    __errno_location;
  }
  GLIBC_PRIVATE {
    _dl_init_first;

    # functions that must be shared with libc
    __libc_read; __libc_write; __libc_lseek64;
  }
}
