Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 131779 | Differences between
and this patch

Collapse All | Expand All

(-)bin/misc-functions.sh (-18 / +6 lines)
Lines 94-107 Link Here
94
		qa_var="QA_TEXTRELS_${ARCH}"
94
		qa_var="QA_TEXTRELS_${ARCH}"
95
		[[ -n ${!qa_var} ]] && QA_TEXTRELS=${!qa_var}
95
		[[ -n ${!qa_var} ]] && QA_TEXTRELS=${!qa_var}
96
		[[ -n ${QA_STRICT_TEXTRELS} ]] && QA_TEXTRELS=""
96
		[[ -n ${QA_STRICT_TEXTRELS} ]] && QA_TEXTRELS=""
97
		f=()
97
		export QA_TEXTRELS
98
		for s in $(scanelf -qyRF '%t %p' "${D}" | grep -v ' usr/lib/debug/'); do
98
		f=$(scanelf -qyRF '"%t %p"' "${D}" | grep -v 'usr/lib/debug/')
99
			[[ ${s} == "TEXTREL" ]] && continue
100
			for t in ${QA_TEXTRELS}; do
101
				[[ ${t} == ${s} ]] && continue 2
102
			done
103
			f=( ${f} ${s} )
104
		done
105
		if [[ -n ${f} ]] ; then
99
		if [[ -n ${f} ]] ; then
106
			scanelf -qyRF '%T %p' "${PORTAGE_BUILDDIR}"/ &> "${T}"/scanelf-textrel.log
100
			scanelf -qyRF '%T %p' "${PORTAGE_BUILDDIR}"/ &> "${T}"/scanelf-textrel.log
107
			vecho -ne '\a\n'
101
			vecho -ne '\a\n'
Lines 113-125 Link Here
113
			vecho " For more information, see http://hardened.gentoo.org/pic-fix-guide.xml"
107
			vecho " For more information, see http://hardened.gentoo.org/pic-fix-guide.xml"
114
			vecho " Please include this file in your report:"
108
			vecho " Please include this file in your report:"
115
			vecho " ${T}/scanelf-textrel.log"
109
			vecho " ${T}/scanelf-textrel.log"
116
			vecho "${f[@]}"
110
			vecho "${f}"
117
			vecho -ne '\a\n'
111
			vecho -ne '\a\n'
118
			die_msg="${die_msg} textrels,"
112
			die_msg="${die_msg} textrels,"
119
			sleep 1
113
			sleep 1
120
		fi
114
		fi
121
115
122
		# Also, executable stacks only matter on linux (and just glibc atm ...)
116
		# Also, executable stacks only matter on linux (and just glibc atm ...)
117
		f=""
123
		case ${CTARGET:-${CHOST}} in
118
		case ${CTARGET:-${CHOST}} in
124
			*-linux-gnu*)
119
			*-linux-gnu*)
125
			# Check for files with executable stacks, but only on arches which
120
			# Check for files with executable stacks, but only on arches which
Lines 136-151 Link Here
136
					qa_var="QA_EXECSTACK_${ARCH}"
131
					qa_var="QA_EXECSTACK_${ARCH}"
137
					[[ -n ${!qa_var} ]] && QA_EXECSTACK=${!qa_var}
132
					[[ -n ${!qa_var} ]] && QA_EXECSTACK=${!qa_var}
138
					[[ -n ${QA_STRICT_EXECSTACK} ]] && QA_EXECSTACK=""
133
					[[ -n ${QA_STRICT_EXECSTACK} ]] && QA_EXECSTACK=""
139
					f=$(scanelf -qyRF '%e %p' "${D}" | grep -v ' usr/lib/debug/' | \
134
					export QA_EXECSTACK
140
						gawk '
135
					f=$(scanelf -qyRF '"%e %p"' "${D}" | grep -v 'usr/lib/debug/')
141
						BEGIN { split("'"${QA_EXECSTACK}"'", ignore); }
142
						{	for (idx in ignore)
143
								if ($NF ~ "^"ignore[idx]"$")
144
									next;
145
							print;
146
						}')
147
					;;
136
					;;
148
				*)	f="" ;;
149
			esac
137
			esac
150
			;;
138
			;;
151
		esac
139
		esac

Return to bug 131779