bsd.linker.mk (d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf) bsd.linker.mk (973bbdab47035ebd16200c63d095904924dc44d9)
1
2# Setup variables for the linker.
3#
4# LINKER_TYPE is the major type of linker. Currently binutils and lld support
5# automatic detection.
6#
7# LINKER_VERSION is a numeric constant equal to:
8# major * 10000 + minor * 100 + tiny
9# It too can be overridden on the command line.
10#
11# LINKER_FEATURES may contain one or more of the following, based on
12# linker support for that feature:
13#
1
2# Setup variables for the linker.
3#
4# LINKER_TYPE is the major type of linker. Currently binutils and lld support
5# automatic detection.
6#
7# LINKER_VERSION is a numeric constant equal to:
8# major * 10000 + minor * 100 + tiny
9# It too can be overridden on the command line.
10#
11# LINKER_FEATURES may contain one or more of the following, based on
12# linker support for that feature:
13#
14# - build-id: support for generating a Build-ID note
15# - retpoline: support for generating PLT with retpoline speculative
16# execution vulnerability mitigation
14# - build-id: support for generating a Build-ID note
15# - retpoline: support for generating PLT with retpoline speculative
16# execution vulnerability mitigation
17# - bti-report: support for specifying how to report the missing
18# Branch Target Identification (BTI) property (AArch64)
17#
18# LINKER_FREEBSD_VERSION is the linker's internal source version.
19#
20# These variables with an X_ prefix will also be provided if XLD is set.
21#
22# This file may be included multiple times, but only has effect the first time.
23#
24

--- 82 unchanged lines hidden (view full) ---

107${X_}LINKER_FEATURES+= riscv-relaxations
108.endif
109.if ${${X_}LINKER_TYPE} == "lld" && ${${X_}LINKER_VERSION} >= 60000
110${X_}LINKER_FEATURES+= retpoline
111.endif
112.if ${${X_}LINKER_TYPE} == "lld" && ${${X_}LINKER_VERSION} >= 90000
113${X_}LINKER_FEATURES+= ifunc-noplt
114.endif
19#
20# LINKER_FREEBSD_VERSION is the linker's internal source version.
21#
22# These variables with an X_ prefix will also be provided if XLD is set.
23#
24# This file may be included multiple times, but only has effect the first time.
25#
26

--- 82 unchanged lines hidden (view full) ---

109${X_}LINKER_FEATURES+= riscv-relaxations
110.endif
111.if ${${X_}LINKER_TYPE} == "lld" && ${${X_}LINKER_VERSION} >= 60000
112${X_}LINKER_FEATURES+= retpoline
113.endif
114.if ${${X_}LINKER_TYPE} == "lld" && ${${X_}LINKER_VERSION} >= 90000
115${X_}LINKER_FEATURES+= ifunc-noplt
116.endif
117.if ${${X_}LINKER_TYPE} == "lld" && ${${X_}LINKER_VERSION} >= 140000
118${X_}LINKER_FEATURES+= bti-report
115.endif
119.endif
120.endif
116.else
117# Use LD's values
118X_LINKER_TYPE= ${LINKER_TYPE}
119X_LINKER_VERSION= ${LINKER_VERSION}
120X_LINKER_FEATURES= ${LINKER_FEATURES}
121X_LINKER_FREEBSD_VERSION= ${LINKER_FREEBSD_VERSION}
122.endif # ${ld} == "LD" || (${ld} == "XLD" && ${XLD} != ${LD})
123

--- 13 unchanged lines hidden ---
121.else
122# Use LD's values
123X_LINKER_TYPE= ${LINKER_TYPE}
124X_LINKER_VERSION= ${LINKER_VERSION}
125X_LINKER_FEATURES= ${LINKER_FEATURES}
126X_LINKER_FREEBSD_VERSION= ${LINKER_FREEBSD_VERSION}
127.endif # ${ld} == "LD" || (${ld} == "XLD" && ${XLD} != ${LD})
128

--- 13 unchanged lines hidden ---