head	1.5;
access;
symbols
	perseant-exfatfs-base-20250801:1.5
	perseant-exfatfs-base-20240630:1.5
	perseant-exfatfs:1.5.0.46
	perseant-exfatfs-base:1.5
	cjep_sun2x:1.5.0.44
	cjep_sun2x-base:1.5
	cjep_staticlib_x-base1:1.5
	cjep_staticlib_x:1.5.0.42
	cjep_staticlib_x-base:1.5
	phil-wifi-20200421:1.5
	phil-wifi-20200411:1.5
	phil-wifi-20200406:1.5
	pgoyette-compat-merge-20190127:1.5
	pgoyette-compat-20190127:1.5
	pgoyette-compat-20190118:1.5
	pgoyette-compat-1226:1.5
	pgoyette-compat-1126:1.5
	pgoyette-compat-1020:1.5
	pgoyette-compat-0930:1.5
	pgoyette-compat-0906:1.5
	pgoyette-compat-0728:1.5
	pgoyette-compat-0625:1.5
	pgoyette-compat-0521:1.5
	pgoyette-compat-0502:1.5
	pgoyette-compat-0422:1.5
	pgoyette-compat-0415:1.5
	pgoyette-compat-0407:1.5
	pgoyette-compat-0330:1.5
	pgoyette-compat-0322:1.5
	pgoyette-compat-0315:1.5
	pgoyette-compat:1.5.0.40
	pgoyette-compat-base:1.5
	perseant-stdc-iso10646:1.5.0.38
	perseant-stdc-iso10646-base:1.5
	prg-localcount2-base3:1.5
	prg-localcount2-base2:1.5
	prg-localcount2-base1:1.5
	prg-localcount2:1.5.0.36
	prg-localcount2-base:1.5
	pgoyette-localcount-20170426:1.5
	bouyer-socketcan-base1:1.5
	pgoyette-localcount-20170320:1.5
	bouyer-socketcan:1.5.0.34
	bouyer-socketcan-base:1.5
	pgoyette-localcount-20170107:1.5
	pgoyette-localcount-20161104:1.5
	localcount-20160914:1.5
	pgoyette-localcount-20160806:1.5
	pgoyette-localcount-20160726:1.5
	pgoyette-localcount:1.5.0.32
	pgoyette-localcount-base:1.5
	netbsd-5-2-3-RELEASE:1.5
	netbsd-5-1-5-RELEASE:1.5
	yamt-pagecache-base9:1.5
	yamt-pagecache-tag8:1.5
	tls-earlyentropy:1.5.0.28
	tls-earlyentropy-base:1.5
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.5
	riastradh-drm2-base3:1.5
	netbsd-5-2-2-RELEASE:1.5
	netbsd-5-1-4-RELEASE:1.5
	netbsd-5-2-1-RELEASE:1.5
	netbsd-5-1-3-RELEASE:1.5
	agc-symver:1.5.0.30
	agc-symver-base:1.5
	tls-maxphys-base:1.5
	yamt-pagecache-base8:1.5
	netbsd-5-2:1.5.0.26
	yamt-pagecache-base7:1.5
	netbsd-5-2-RELEASE:1.5
	netbsd-5-2-RC1:1.5
	yamt-pagecache-base6:1.5
	yamt-pagecache-base5:1.5
	yamt-pagecache-base4:1.5
	netbsd-5-1-2-RELEASE:1.5
	netbsd-5-1-1-RELEASE:1.5
	yamt-pagecache-base3:1.5
	yamt-pagecache-base2:1.5
	yamt-pagecache:1.5.0.24
	yamt-pagecache-base:1.5
	bouyer-quota2-nbase:1.5
	bouyer-quota2:1.5.0.22
	bouyer-quota2-base:1.5
	matt-nb5-pq3:1.5.0.20
	matt-nb5-pq3-base:1.5
	netbsd-5-1:1.5.0.18
	netbsd-5-1-RELEASE:1.5
	netbsd-5-1-RC4:1.5
	netbsd-5-1-RC3:1.5
	netbsd-5-1-RC2:1.5
	netbsd-5-1-RC1:1.5
	netbsd-5-0-2-RELEASE:1.5
	netbsd-5-0-1-RELEASE:1.5
	jym-xensuspend-nbase:1.5
	netbsd-5-0:1.5.0.16
	netbsd-5-0-RELEASE:1.5
	netbsd-5-0-RC4:1.5
	netbsd-5-0-RC3:1.5
	netbsd-5-0-RC2:1.5
	jym-xensuspend:1.5.0.14
	jym-xensuspend-base:1.5
	netbsd-5-0-RC1:1.5
	netbsd-5:1.5.0.12
	netbsd-5-base:1.5
	mjf-devfs2:1.5.0.10
	mjf-devfs2-base:1.5
	yamt-pf42-base4:1.5
	yamt-pf42-base3:1.5
	hpcarm-cleanup-nbase:1.5
	yamt-pf42-base2:1.5
	yamt-pf42:1.5.0.8
	yamt-pf42-base:1.5
	keiichi-mipv6:1.5.0.6
	keiichi-mipv6-base:1.5
	cube-autoconf:1.5.0.4
	cube-autoconf-base:1.5
	hpcarm-cleanup:1.5.0.2
	hpcarm-cleanup-base:1.5
	netbsd-1-3-PATCH003:1.1.2.2
	netbsd-1-3-PATCH003-CANDIDATE2:1.1.2.2
	netbsd-1-3-PATCH003-CANDIDATE1:1.1.2.2
	netbsd-1-3-PATCH003-CANDIDATE0:1.1.2.2
	netbsd-1-3-PATCH002:1.1.2.1
	netbsd-1-3-PATCH001:1.1
	netbsd-1-3-RELEASE:1.1
	netbsd-1-3-BETA:1.1
	netbsd-1-3:1.1.0.2
	netbsd-1-3-base:1.1;
locks; strict;
comment	@ * @;


1.5
date	99.03.19.22.06.37;	author thorpej;	state dead;
branches;
next	1.4;

1.4
date	99.03.01.16.40.07;	author christos;	state Exp;
branches;
next	1.3;

1.3
date	98.10.30.05.43.40;	author jonathan;	state Exp;
branches;
next	1.2;

1.2
date	98.03.25.04.13.01;	author mhitch;	state Exp;
branches;
next	1.1;

1.1
date	96.12.16.20.37.59;	author cgd;	state Exp;
branches
	1.1.2.1;
next	;

1.1.2.1
date	98.05.08.17.39.12;	author mycroft;	state Exp;
branches;
next	1.1.2.2;

1.1.2.2
date	98.10.30.18.26.25;	author cgd;	state Exp;
branches;
next	;


desc
@@


1.5
log
@Move the link.h files for the different shlib formats via repository copy,
and rename them to match the executable format.  Introduce a new link.h
file which automatically picks the correct header based on the target of
the toolchain.
@
text
@/*	$NetBSD: link.h,v 1.4 1999/03/01 16:40:07 christos Exp $	*/

/*
 * This only exists for GDB.
 */
#ifndef _LINK_H
#define	_LINK_H

#include <sys/types.h>

#include <machine/elf_machdep.h>

struct link_map {
	caddr_t		 l_addr;	/* Base Address of library */
#ifdef __mips__
	caddr_t		 l_offs;	/* Load Offset of library */
#endif
	const char	*l_name;	/* Absolute Path to Library */
	void		*l_ld;		/* Pointer to .dynamic in memory */
	struct link_map	*l_next;	/* linked list of of mapped libs */
	struct link_map *l_prev;
};

struct r_debug {
	int r_version;			/* not used */
	struct link_map *r_map;		/* list of loaded images */
	void (*r_brk) __P((void));	/* pointer to break point */
	enum {
		RT_CONSISTENT,		/* things are stable */
		RT_ADD,			/* adding a shared library */
		RT_DELETE		/* removing a shared library */
	} r_state;
};

#endif	/* _LINK_H */

@


1.4
log
@KNF
@
text
@d1 1
a1 1
/*	$NetBSD: link.h,v 1.3 1998/10/30 05:43:40 jonathan Exp $	*/
@


1.3
log
@gdb's shared-lib mapping code in solib.c has #ifdef dependencies on
DT_MIPS_RLD_MAP being defined on mips targets with shared libs. Since
netbsd's gdb config.h defines HAVE_LINK_H, link.h is expected to
provide it. So #include <machine/elf_machdep.h> to make it so.
@
text
@d1 1
a1 1
/*	$NetBSD: link.h,v 1.2 1998/03/25 04:13:01 mhitch Exp $	*/
d14 1
a14 1
	caddr_t		l_addr;			/* Base Address of library */
d16 1
a16 1
	caddr_t		l_offs;			/* Load Offset of library */
d18 4
a21 3
	const char	*l_name;		/* Absolute Path to Library */
	void		*l_ld;			/* Pointer to .dynamic in memory */
	struct link_map	*l_next, *l_prev;	/* linked list of of mapped libs */
d25 3
a27 3
	int		r_version;		/* not used */
	struct link_map *r_map;			/* list of loaded images */
	void		(*r_brk)(void);		/* pointer to break point */
d29 4
a32 4
	    RT_CONSISTENT,			/* things are stable */
	    RT_ADD,				/* adding a shared library */
	    RT_DELETE				/* removing a shared library */
	}		r_state;
d34 1
@


1.2
log
@Add support for mips.
@
text
@d1 1
a1 1
/*	$NetBSD: link.h,v 1.1 1996/12/16 20:37:59 cgd Exp $	*/
d10 2
@


1.1
log
@First cut at an ELF shared loader.  Originally from John Polstra's FreeBSD elf
kit, then hacked on by Matt Thomas <matt@@3am-software.com>, then by me (to
make it work with new versions of the toolchain, etc.).  This runs, but it's
in serious need of cleaning and/or a fair bit of reworking.  See the README
file for more information, and a list of things to do.
@
text
@d1 1
a1 1
/*	$NetBSD$	*/
d13 3
@


1.1.2.1
log
@Sync with trunk, per request of mycroft.
@
text
@d1 1
a1 1
/*	$NetBSD: link.h,v 1.2 1998/03/25 04:13:01 mhitch Exp $	*/
a12 3
#ifdef __mips__
	caddr_t		l_offs;			/* Load Offset of library */
#endif
@


1.1.2.2
log
@pull up rev 1.3 from trunk (jonathan)
@
text
@d1 1
a1 1
/*	$NetBSD: link.h,v 1.1.2.1 1998/05/08 17:39:12 mycroft Exp $	*/
a9 2

#include <machine/elf_machdep.h>
@

