head	1.9;
access;
symbols
	netbsd-11-0-RC3:1.9
	netbsd-11-0-RC2:1.9
	netbsd-11-0-RC1:1.9
	perseant-exfatfs-base-20250801:1.9
	netbsd-11:1.9.0.16
	netbsd-11-base:1.9
	netbsd-10-1-RELEASE:1.9
	perseant-exfatfs-base-20240630:1.9
	perseant-exfatfs:1.9.0.14
	perseant-exfatfs-base:1.9
	netbsd-8-3-RELEASE:1.8
	netbsd-9-4-RELEASE:1.9
	netbsd-10-0-RELEASE:1.9
	netbsd-10-0-RC6:1.9
	netbsd-10-0-RC5:1.9
	netbsd-10-0-RC4:1.9
	netbsd-10-0-RC3:1.9
	netbsd-10-0-RC2:1.9
	netbsd-10-0-RC1:1.9
	netbsd-10:1.9.0.12
	netbsd-10-base:1.9
	netbsd-9-3-RELEASE:1.9
	cjep_sun2x-base1:1.9
	cjep_sun2x:1.9.0.10
	cjep_sun2x-base:1.9
	cjep_staticlib_x-base1:1.9
	netbsd-9-2-RELEASE:1.9
	cjep_staticlib_x:1.9.0.8
	cjep_staticlib_x-base:1.9
	netbsd-9-1-RELEASE:1.9
	phil-wifi-20200421:1.9
	phil-wifi-20200411:1.9
	is-mlppp:1.9.0.6
	is-mlppp-base:1.9
	phil-wifi-20200406:1.9
	netbsd-8-2-RELEASE:1.8
	netbsd-9-0-RELEASE:1.9
	netbsd-9-0-RC2:1.9
	netbsd-9-0-RC1:1.9
	phil-wifi-20191119:1.9
	netbsd-9:1.9.0.4
	netbsd-9-base:1.9
	phil-wifi-20190609:1.9
	netbsd-8-1-RELEASE:1.8
	netbsd-8-1-RC1:1.8
	pgoyette-compat-merge-20190127:1.8.82.1
	pgoyette-compat-20190127:1.9
	pgoyette-compat-20190118:1.9
	pgoyette-compat-1226:1.9
	pgoyette-compat-1126:1.9
	pgoyette-compat-1020:1.9
	pgoyette-compat-0930:1.9
	pgoyette-compat-0906:1.9
	netbsd-7-2-RELEASE:1.8
	pgoyette-compat-0728:1.9
	netbsd-8-0-RELEASE:1.8
	phil-wifi:1.9.0.2
	phil-wifi-base:1.9
	pgoyette-compat-0625:1.9
	netbsd-8-0-RC2:1.8
	pgoyette-compat-0521:1.9
	pgoyette-compat-0502:1.9
	pgoyette-compat-0422:1.9
	netbsd-8-0-RC1:1.8
	pgoyette-compat-0415:1.9
	pgoyette-compat-0407:1.9
	pgoyette-compat-0330:1.8
	pgoyette-compat-0322:1.8
	pgoyette-compat-0315:1.8
	netbsd-7-1-2-RELEASE:1.8
	pgoyette-compat:1.8.0.82
	pgoyette-compat-base:1.8
	netbsd-7-1-1-RELEASE:1.8
	matt-nb8-mediatek:1.8.0.80
	matt-nb8-mediatek-base:1.8
	perseant-stdc-iso10646:1.8.0.78
	perseant-stdc-iso10646-base:1.8
	netbsd-8:1.8.0.76
	netbsd-8-base:1.8
	prg-localcount2-base3:1.8
	prg-localcount2-base2:1.8
	prg-localcount2-base1:1.8
	prg-localcount2:1.8.0.74
	prg-localcount2-base:1.8
	pgoyette-localcount-20170426:1.8
	bouyer-socketcan-base1:1.8
	pgoyette-localcount-20170320:1.8
	netbsd-7-1:1.8.0.72
	netbsd-7-1-RELEASE:1.8
	netbsd-7-1-RC2:1.8
	netbsd-7-nhusb-base-20170116:1.8
	bouyer-socketcan:1.8.0.70
	bouyer-socketcan-base:1.8
	pgoyette-localcount-20170107:1.8
	netbsd-7-1-RC1:1.8
	pgoyette-localcount-20161104:1.8
	netbsd-7-0-2-RELEASE:1.8
	localcount-20160914:1.8
	netbsd-7-nhusb:1.8.0.68
	netbsd-7-nhusb-base:1.8
	pgoyette-localcount-20160806:1.8
	pgoyette-localcount-20160726:1.8
	pgoyette-localcount:1.8.0.66
	pgoyette-localcount-base:1.8
	netbsd-7-0-1-RELEASE:1.8
	netbsd-7-0:1.8.0.64
	netbsd-7-0-RELEASE:1.8
	netbsd-7-0-RC3:1.8
	netbsd-7-0-RC2:1.8
	netbsd-7-0-RC1:1.8
	netbsd-5-2-3-RELEASE:1.8
	netbsd-5-1-5-RELEASE:1.8
	netbsd-6-0-6-RELEASE:1.8
	netbsd-6-1-5-RELEASE:1.8
	netbsd-7:1.8.0.62
	netbsd-7-base:1.8
	yamt-pagecache-base9:1.8
	yamt-pagecache-tag8:1.8
	netbsd-6-1-4-RELEASE:1.8
	netbsd-6-0-5-RELEASE:1.8
	tls-earlyentropy:1.8.0.60
	tls-earlyentropy-base:1.8
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.8
	riastradh-drm2-base3:1.8
	netbsd-6-1-3-RELEASE:1.8
	netbsd-6-0-4-RELEASE:1.8
	netbsd-5-2-2-RELEASE:1.8
	netbsd-5-1-4-RELEASE:1.8
	netbsd-6-1-2-RELEASE:1.8
	netbsd-6-0-3-RELEASE:1.8
	netbsd-5-2-1-RELEASE:1.8
	netbsd-5-1-3-RELEASE:1.8
	netbsd-6-1-1-RELEASE:1.8
	riastradh-drm2-base2:1.8
	riastradh-drm2-base1:1.8
	riastradh-drm2:1.8.0.54
	riastradh-drm2-base:1.8
	netbsd-6-1:1.8.0.58
	netbsd-6-0-2-RELEASE:1.8
	netbsd-6-1-RELEASE:1.8
	netbsd-6-1-RC4:1.8
	netbsd-6-1-RC3:1.8
	agc-symver:1.8.0.56
	agc-symver-base:1.8
	netbsd-6-1-RC2:1.8
	netbsd-6-1-RC1:1.8
	yamt-pagecache-base8:1.8
	netbsd-5-2:1.8.0.52
	netbsd-6-0-1-RELEASE:1.8
	yamt-pagecache-base7:1.8
	netbsd-5-2-RELEASE:1.8
	netbsd-5-2-RC1:1.8
	matt-nb6-plus-nbase:1.8
	yamt-pagecache-base6:1.8
	netbsd-6-0:1.8.0.50
	netbsd-6-0-RELEASE:1.8
	netbsd-6-0-RC2:1.8
	tls-maxphys:1.8.0.48
	tls-maxphys-base:1.8
	matt-nb6-plus:1.8.0.46
	matt-nb6-plus-base:1.8
	netbsd-6-0-RC1:1.8
	yamt-pagecache-base5:1.8
	yamt-pagecache-base4:1.8
	netbsd-6:1.8.0.44
	netbsd-6-base:1.8
	netbsd-5-1-2-RELEASE:1.8
	netbsd-5-1-1-RELEASE:1.8
	yamt-pagecache-base3:1.8
	yamt-pagecache-base2:1.8
	yamt-pagecache:1.8.0.42
	yamt-pagecache-base:1.8
	cherry-xenmp:1.8.0.40
	cherry-xenmp-base:1.8
	bouyer-quota2-nbase:1.8
	bouyer-quota2:1.8.0.38
	bouyer-quota2-base:1.8
	matt-mips64-premerge-20101231:1.8
	matt-nb5-mips64-premerge-20101231:1.8
	matt-nb5-pq3:1.8.0.36
	matt-nb5-pq3-base:1.8
	netbsd-5-1:1.8.0.34
	netbsd-5-1-RELEASE:1.8
	netbsd-5-1-RC4:1.8
	matt-nb5-mips64-k15:1.8
	netbsd-5-1-RC3:1.8
	netbsd-5-1-RC2:1.8
	netbsd-5-1-RC1:1.8
	netbsd-5-0-2-RELEASE:1.8
	matt-nb5-mips64-premerge-20091211:1.8
	matt-premerge-20091211:1.8
	matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.8
	matt-nb4-mips64-k7-u2a-k9b:1.8
	matt-nb5-mips64-u1-k1-k5:1.8
	matt-nb5-mips64:1.8.0.32
	netbsd-5-0-1-RELEASE:1.8
	jym-xensuspend-nbase:1.8
	netbsd-5-0:1.8.0.30
	netbsd-5-0-RELEASE:1.8
	netbsd-5-0-RC4:1.8
	netbsd-5-0-RC3:1.8
	netbsd-5-0-RC2:1.8
	jym-xensuspend:1.8.0.28
	jym-xensuspend-base:1.8
	netbsd-5-0-RC1:1.8
	netbsd-5:1.8.0.26
	netbsd-5-base:1.8
	matt-mips64-base2:1.8
	matt-mips64:1.8.0.24
	mjf-devfs2:1.8.0.22
	mjf-devfs2-base:1.8
	netbsd-4-0-1-RELEASE:1.8
	wrstuden-revivesa-base-3:1.8
	wrstuden-revivesa-base-2:1.8
	wrstuden-fixsa-newbase:1.8
	wrstuden-revivesa-base-1:1.8
	yamt-pf42-base4:1.8
	yamt-pf42-base3:1.8
	hpcarm-cleanup-nbase:1.8
	yamt-pf42-baseX:1.8
	yamt-pf42-base2:1.8
	wrstuden-revivesa:1.8.0.20
	wrstuden-revivesa-base:1.8
	yamt-pf42:1.8.0.18
	yamt-pf42-base:1.8
	keiichi-mipv6:1.8.0.16
	keiichi-mipv6-base:1.8
	matt-armv6-nbase:1.8
	matt-armv6-prevmlocking:1.8
	wrstuden-fixsa-base-1:1.8
	netbsd-4-0:1.8.0.14
	netbsd-4-0-RELEASE:1.8
	cube-autoconf:1.8.0.12
	cube-autoconf-base:1.8
	netbsd-4-0-RC5:1.8
	netbsd-4-0-RC4:1.8
	netbsd-4-0-RC3:1.8
	netbsd-4-0-RC2:1.8
	netbsd-4-0-RC1:1.8
	matt-armv6:1.8.0.10
	matt-armv6-base:1.8
	matt-mips64-base:1.8
	hpcarm-cleanup:1.8.0.8
	hpcarm-cleanup-base:1.8
	netbsd-3-1-1-RELEASE:1.7
	netbsd-3-0-3-RELEASE:1.7
	wrstuden-fixsa:1.8.0.6
	wrstuden-fixsa-base:1.8
	abandoned-netbsd-4-base:1.8
	abandoned-netbsd-4:1.8.0.2
	netbsd-3-1:1.7.0.12
	netbsd-3-1-RELEASE:1.7
	netbsd-3-0-2-RELEASE:1.7
	netbsd-3-1-RC4:1.7
	netbsd-3-1-RC3:1.7
	netbsd-3-1-RC2:1.7
	netbsd-3-1-RC1:1.7
	netbsd-4:1.8.0.4
	netbsd-4-base:1.8
	netbsd-3-0-1-RELEASE:1.7
	netbsd-3-0:1.7.0.10
	netbsd-3-0-RELEASE:1.7
	netbsd-3-0-RC6:1.7
	netbsd-3-0-RC5:1.7
	netbsd-3-0-RC4:1.7
	netbsd-3-0-RC3:1.7
	netbsd-3-0-RC2:1.7
	netbsd-3-0-RC1:1.7
	netbsd-2-0-3-RELEASE:1.7
	netbsd-2-1:1.7.0.8
	netbsd-2-1-RELEASE:1.7
	netbsd-2-1-RC6:1.7
	netbsd-2-1-RC5:1.7
	netbsd-2-1-RC4:1.7
	netbsd-2-1-RC3:1.7
	netbsd-2-1-RC2:1.7
	netbsd-2-1-RC1:1.7
	netbsd-2-0-2-RELEASE:1.7
	netbsd-3:1.7.0.6
	netbsd-3-base:1.7
	netbsd-2-0-1-RELEASE:1.7
	netbsd-2:1.7.0.4
	netbsd-2-base:1.7
	netbsd-2-0-RELEASE:1.7
	netbsd-2-0-RC5:1.7
	netbsd-2-0-RC4:1.7
	netbsd-2-0-RC3:1.7
	netbsd-2-0-RC2:1.7
	netbsd-2-0-RC1:1.7
	netbsd-2-0:1.7.0.2
	netbsd-2-0-base:1.7
	netbsd-1-6-PATCH002-RELEASE:1.3
	netbsd-1-6-PATCH002:1.3
	netbsd-1-6-PATCH002-RC4:1.3
	netbsd-1-6-PATCH002-RC3:1.3
	netbsd-1-6-PATCH002-RC2:1.3
	netbsd-1-6-PATCH002-RC1:1.3
	netbsd-1-6-PATCH001:1.3
	netbsd-1-6-PATCH001-RELEASE:1.3
	netbsd-1-6-PATCH001-RC3:1.3
	netbsd-1-6-PATCH001-RC2:1.3
	netbsd-1-6-PATCH001-RC1:1.3
	fvdl_fs64_base:1.5
	netbsd-1-6-RELEASE:1.3
	netbsd-1-6-RC3:1.3
	netbsd-1-6-RC2:1.3
	netbsd-1-6-RC1:1.3
	netbsd-1-6:1.3.0.2
	netbsd-1-6-base:1.3
	netbsd-1-5-PATCH003:1.1.2.2
	netbsd-1-5-PATCH002:1.1.2.2
	netbsd-1-5-PATCH001:1.1.2.2
	netbsd-1-5-RELEASE:1.1.2.2
	netbsd-1-5-BETA2:1.1.2.2
	netbsd-1-5-BETA:1.1.2.2
	netbsd-1-5-ALPHA2:1.1.2.2
	netbsd-1-5:1.1.0.2;
locks; strict;
comment	@# @;


1.9
date	2018.04.03.21.10.27;	author joerg;	state Exp;
branches;
next	1.8;
commitid	pNUMy9CwSMm3w2xA;

1.8
date	2005.06.04.16.17.17;	author lukem;	state Exp;
branches
	1.8.82.1;
next	1.7;

1.7
date	2004.02.21.15.56.03;	author skrll;	state Exp;
branches;
next	1.6;

1.6
date	2004.02.20.20.58.24;	author skrll;	state Exp;
branches;
next	1.5;

1.5
date	2002.09.24.12.12.10;	author mycroft;	state Exp;
branches;
next	1.4;

1.4
date	2002.09.11.19.46.40;	author mycroft;	state Exp;
branches;
next	1.3;

1.3
date	2001.12.20.19.20.03;	author thorpej;	state Exp;
branches
	1.3.2.1;
next	1.2;

1.2
date	2001.12.14.22.21.47;	author thorpej;	state Exp;
branches;
next	1.1;

1.1
date	2000.07.13.23.14.17;	author eeh;	state Exp;
branches
	1.1.2.1;
next	;

1.8.82.1
date	2018.04.07.04.12.09;	author pgoyette;	state Exp;
branches;
next	;
commitid	ZMkKSYuBapz7LsxA;

1.3.2.1
date	2004.05.28.08.31.22;	author tron;	state Exp;
branches;
next	;

1.1.2.1
date	2000.07.13.23.14.17;	author mycroft;	state dead;
branches;
next	1.1.2.2;

1.1.2.2
date	2000.07.26.23.45.23;	author mycroft;	state Exp;
branches;
next	;


desc
@@


1.9
log
@Rework ifunc support to address a number of short comings:
- Move to a shared _rtld_call_ifunc for rel and rela architectures
- Architectures using rel format must patch IRELATIVE non-PLT
  relocations like RELATIVE in additition to the later ifunc handling
- Consistently record the delta to the end of the relocation group for
  non-PLT IRELATIVE relocations

Hidden ifunc is now supported on all ifunc platforms, even when using
-fno-plt. The combination of -fno-plt and relro is broken due to
incorrect GNU ld output though.
@
text
@#	$NetBSD: Makefile.inc,v 1.8 2005/06/04 16:17:17 lukem Exp $

SRCS+=		rtld_start.S mdreloc.c

# XXX Should not be in CPPFLAGS!
CPPFLAGS+=	-fpic

CPPFLAGS+=	-DELFSIZE=64
CPPFLAGS+=	-DRTLD_COMMON_CALL_IFUNC_RELA

LDFLAGS+=	-Wl,-e,_rtld_start
@


1.8
log
@Explicitly prefix ld(1) options in LDFLAGS with "-Wl," rather than
using the ${LDFLAGS:@@F@@-Wl,$F@@} make substitution because that breaks
if LDFLAGS is already set.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.7 2004/02/21 15:56:03 skrll Exp $
d9 1
@


1.8.82.1
log
@Sync with HEAD.  77 conflicts resolved - all of them $NetBSD$
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.9 2018/04/03 21:10:27 joerg Exp $
a8 1
CPPFLAGS+=	-DRTLD_COMMON_CALL_IFUNC_RELA
@


1.7
log
@Move common LDFLAGS into Makefile from arch/*/Makefile.inc
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.6 2004/02/20 20:58:24 skrll Exp $
d10 1
a10 1
LDFLAGS+=	-e _rtld_start
@


1.6
log
@Whitespace.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.5 2002/09/24 12:12:10 mycroft Exp $
d10 1
a10 1
LDFLAGS+=	-Bshareable -Bsymbolic -e _rtld_start
@


1.5
log
@Remove vestiges of VARPSZ.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.4 2002/09/11 19:46:40 mycroft Exp $
d3 1
a3 1
SRCS+=	rtld_start.S mdreloc.c
d6 1
a6 1
CPPFLAGS+= -fpic
d8 1
a8 1
CPPFLAGS+= -DELFSIZE=64
d10 1
a10 1
LDFLAGS+= -Bshareable -Bsymbolic -e _rtld_start
@


1.4
log
@Do self-relocation similar to sparc.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.3 2001/12/20 19:20:03 thorpej Exp $
d8 1
a8 1
CPPFLAGS+= -DELFSIZE=64 -DVARPSZ
@


1.3
log
@Grumble.  Put compiler options back into CPPFLAGS for now, since
they're needed to build .S files with the correct PIC options.

XXX Really needs cleanup in <bsd.*.mk> to do this properly.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.2 2001/12/14 22:21:47 thorpej Exp $
d8 1
a8 1
CPPFLAGS+= -DELFSIZE=64 -DRTLD_RELOCATE_SELF -DVARPSZ
@


1.3.2.1
log
@Apply patch (request by skrll in ticket #1702):
Bring "ld.elf_so" (mostly) in sync with NetBSD-current:
- MI and MD (e.g. under NetBSD-alpha) performance improvements
- RTLD_SELF, RTLD_NEXT, RTLD_DEFAULT support
- much better structured code
- closes PR bin/25464
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.7 2004/02/21 15:56:03 skrll Exp $
d3 1
a3 1
SRCS+=		rtld_start.S mdreloc.c
d6 1
a6 1
CPPFLAGS+=	-fpic
d8 1
a8 1
CPPFLAGS+=	-DELFSIZE=64
d10 1
a10 1
LDFLAGS+=	-Bshareable -Bsymbolic -e _rtld_start
@


1.2
log
@Don't put compiler options into CPPFLAGS.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.1 2000/07/13 23:14:17 eeh Exp $
d5 2
a6 1
COPTS+=	-fpic
@


1.1
log
@Added support for the SPARC v9 ABI.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.2 1999/06/22 16:28:23 christos Exp $
d5 4
a8 1
CPPFLAGS+= -fpic -DELFSIZE=64 -DRTLD_RELOCATE_SELF -DVARPSZ
@


1.1.2.1
log
@file Makefile.inc was added on branch netbsd-1-5 on 2000-07-26 23:45:23 +0000
@
text
@d1 6
@


1.1.2.2
log
@Approved by thorpej:
Add support for sparc64, including MD code and variable page size support.
Modify some variable types to insure they are the correct width on sparc64.

basesrc/libexec/ld.elf_so/arch/sparc64/Makefile.inc	0 -> 1.1
basesrc/libexec/ld.elf_so/arch/sparc64/mdreloc.c	0 -> 1.3
basesrc/libexec/ld.elf_so/arch/sparc64/rtld_start.S	0 -> 1.2
basesrc/libexec/ld.elf_so/headers.c			1.6 -> 1.8
basesrc/libexec/ld.elf_so/reloc.c			1.26 -> 1.27
basesrc/libexec/ld.elf_so/reloc.c			1.29 -> 1.31
basesrc/libexec/ld.elf_so/rtld.c			1.34 -> 1.35
basesrc/libexec/ld.elf_so/rtld.c			1.36 -> 1.40
basesrc/libexec/ld.elf_so/rtld.h			1.26 -> 1.27
basesrc/libexec/ld.elf_so/symbol.c			1.7 -> 1.9
@
text
@a0 6
#	$NetBSD: Makefile.inc,v 1.1.2.1 2000/07/26 23:45:23 mycroft Exp $

SRCS+=	rtld_start.S mdreloc.c

CPPFLAGS+= -fpic -DELFSIZE=64 -DRTLD_RELOCATE_SELF -DVARPSZ
LDFLAGS+= -Bshareable -Bsymbolic -e _rtld_start
@
