Age | Commit message (Collapse) | Author |
|
aes{dec{,last},enc{,last},imc} instructions (regression in 2.17).
Correctly disassemble aeskeygenassist.
Before (binutils 2.15):
0: 66 0f 38 db c8 aesimc %xmm0,%xmm1
5: 66 0f 3a 44 da 04 pclmulqdq $0x4,%xmm2,%xmm3
b: 66 0f 3a 44 ec 10 pclmullqhqdq %xmm4,%xmm5
11: 66 data16
12: 0f .byte 0xf
13: 3a df cmp %bh,%bl
15: fe 08 decb (%rax)
Currently (binutils 2.17):
0: 66 data16
1: 0f 38 db aesimc %xmm1,%xmm1
4: c8 66 0f 3a enterq $0xf66,$0x3a
8: 44 da 04 66 rexX fiaddl (%rsi,2)
c: 0f 3a 44 ec 10 pclmullqhqdq %xmm4,%xmm5
11: 66 data16
12: 0f .byte 0xf
13: 3a df cmp %bh,%bl
15: fe 08 decb (%rax)
With these changes:
0: 66 0f 38 db c8 aesimc %xmm0,%xmm1
5: 66 0f 3a 44 da 04 pclmulqdq $0x4,%xmm2,%xmm3
b: 66 0f 3a 44 ec 10 pclmullqhqdq %xmm4,%xmm5
11: 66 0f 3a df fe 08 aeskeygenassist $0x8,%xmm6,%xmm7
|
|
random stream. Only srand() should give real random values. Make
our pimped Perl more compatible with the rest of the world.
OK afresh1@ millert@
|
|
|
|
building a static binary out of PIE objects; similar to the logic
found on other platforms, for some reason arm was lacking this fix.
|
|
gets a chance to be reordered.
|
|
world uses them.
|
|
this is allowed in C11 and 3rd-party software is relying upon this to be
accepted by the compiler.
Nevertheless warn about this if -pedantic.
ok ajacoutot@ deraadt@ millert@
|
|
allow non "sy"/0xf options for dmb. This omits the *ld options
available in armv8 running in a32 mode. Similiar changes made in
freebsd.
ok miod@
|
|
heap-buffer overflow.
From Sebastian Trahm; OK deraadt@
|
|
|
|
for (undefined) references with non-default visibility on mips64.
|
|
hasn't been required for a while.
|
|
obtained by passing --no-secureplt to ld(1), or -Wl,--no-secureplt to cc(1)
when linking.
|
|
only used by the alpha backend and allow it to produce more precise
relocation information, but need a recent as(1) for this to work.
This will be necessary to enable secureplt by default.
|
|
build logic.
|
|
|
|
kernel, and hopefully userland as well.
|
|
|
|
|
|
Flag bits worked out with kettenis@
ok mlarkin@
|
|
pointed out by miod@
|
|
|
|
non-default visibility.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=20218 for details.
This version comes from FreeBSD and has been made available under the GPLv2
license. It has some additional bits thrown in from me to make it work in
mips64 too, and another bit to stop the C++ compiler to randomly emit
visibility information for C++ symbols that in the end aren't referenced.
ok guenther@
|
|
C and C++ when wanting to pass flags to only the C compiler.
Tested in a ports bulk build by naddy and the handful of problems
found were fixed by naddy, jca and pascal.
|
|
binutils 2.15, it introduces bogus failures when inter-library dependencies
are present.
With the binutils 2.17 behaviour restored, --as-needed will cause linker
failures when necessary inter-library dependencies are not present. This is
actually a good thing as binutils 2.15 will silently produce executables
that will fail at runtime in those cases.
ok miod@
|
|
ok kettenis@
|
|
at least for now, as it would result in a partially writable GOT. Our
ld.so(1) has the smarts to properly write-protect the single .got, so we
don't need this.
ok guenther@
|
|
Original commit message:
Change gcc and ld semantics to make static PIE the default when invoking
'cc -static'. To explicitly request the legacy behaviour, use -nopie.
For the few port affected by this, bumps will follow shortly.
looks good to kettenis@, ok kurt@
|
|
|
|
|
|
|
|
|
|
Simply adding -type l mean the problem it was trying to solve is *not*
solved, so just go back to the original set. Sorry, but random files types
in /usr/include are your problem, not the build system's...
|
|
ok mlarkin@
|
|
Based on diff from Gregory Edigarov (edigarov (at) qarea.com)
ok afresh1@
|
|
'cc -static'. To explicitly request the legacy behaviour, use -nopie.
For the few port affected by this, bumps will follow shortly.
looks good to kettenis@, ok kurt@
|
|
OK deraadt@
|
|
Thanks to didickman AT gmail for noticing.
|
|
ok deraadt@ guenther@ millert@
|
|
do some sanity checking while it determines the load base.
ok kurt@
|
|
Previously a breakpoint at the first instruction would force us to
single-step. Depending on the single-step implementation this would make us
step over the breakpoint and continue in many cases. Fix this by passing the
address of the current instruction pointer which will skip the code that
checks if we need to step over a breakpoint. A similar fix has been made
upstream many moons ago. Fixes debugging static PIE on sparc64 and probably
others that use some sort of software single-stepping.
|
|
Many thanks to Nathanael Rensen <nathanael at polymorpheus dot com>
for tracking it down and supplying the patch.
Has been reported upstream and the fix incorporated into a larger change
https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/192
|
|
uses srand48_deterministic if a seed is provided.
seems fine millert@
|
|
archdep.h help from kettenis@
|
|
self-relocate.
|
|
self-relocate.
ok kurt@
|
|
ok kurt@, guenther@
|
|
such that they self-relocate. okay kettenis@
|
|
-static -pie.
On sparc64, avoid generating GLOB_DAT relocs and convert certain absolute
relocs into RELATIVE relocs when we can for -static -pie.
With this change we don't need -Wl,-Bsymbolic anymore when building -static
-pie binaries.
ok millert@, kurt@
|
|
-static -pie.
On sparc64, avoid generating GLOB_DAT relocs and convert certain absolute
relocs into RELATIVE relocs when we can for -static -pie.
With this change we don't need -Wl,-Bsymbolic anymore when building -static
-pie binaries.
ok millert@, kurt@
|