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 |