Age | Commit message (Collapse) | Author |
|
ok kettenis@
|
|
kettenis ok'd me poking around in here; ingo ok'd the diff
|
|
|
|
ok deraadt@ kettenis@
|
|
be able to use the virtualization instructions.
ok'ed a long time ago, I forgot who, but deraadt@ ok'ed it again anyway.
|
|
of registering an explicit dependency upon libstdc++.so when linking a shared
library with c++.
The explicit dependency had been reverted a long time ago when most of our
platforms were still usinc gcc 2.95, in order to have the same behaviour between
g++ 2.95 and g++ 3.3, for the sake of ports. However, when we started using
gcc 4, the default behaviour was not modified, and nowadays, it's g++ 3 which
differs from g++ 4. By reverting to the original behaviour, g++ 3 is on par
with g++ 4 again.
|
|
Fixes a crash in pserver mode when CVSROOT/passwd contains an old
DES password.
|
|
"stdio rpath", while objdump(1) also needs "tmppath" for objdump -i.
ok deraadt@, comments sthen@ kettenis@
|
|
memory up to this point by using sbrk(2). This is of course wildly incorrect
for any mmap-based malloc(3).
This also makes it possible to bring pledge(2) to gnu/.
comments kettenis@, ok miod@
|
|
gcc and g++ can currently have different ideas on the size of a
packed enum type:
enum __attribute__((packed)) foo { a = 0, b};
gcc: 1
g++: 4
enum foo { a = 0, b} __attribute__((packed));
gcc: 1
g++: 1
The first format is actually the preferred one according to the
documentation.
https://gcc.gnu.org/onlinedocs/gcc-4.2.1/gcc/Type-Attributes.html
g++ will accept the first format and silently not actually choose a
smaller size.
This was responsible for memory corruption with recent versions
of Mesa where c and c++ code share a header with a packed enum type.
The problem was reported in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39219
and fixed in gcc >= 4.3.6 in rev 144284.
This was after the switch from gplv2 but it's a trivial one line change.
ok guenther@ deraadt@ kettenis@
|
|
ok pascal@
|
|
This symbol isn't used anywhere outside libstdc++, thus no bump.
Upstream initially went the samy way, but then implemented a different fix,
which don't work for us. Eventually we should move to whitelisting the list
of symbols exported anyway.
okay miod@, no objections from sthen@; also supported by a few a while ago
|
|
Suggested earlier by guenther@, discussed with miod@
|
|
creating calls: cache the RTL, let a declaration alter the asm spec, and
set the same RTL attributes. For all three, let a declaration set the ELF
visibility.
ok miod@
|
|
is defined), and make this work on unsigned char platforms by using
isascii() instead of < 0.
While there, do not use the local getopt() implementation, as libc has had
getopt_long() support for years now.
With help from jca@ and guenther@. ok millert@, deraadt@ (on an earlier diff)
|
|
This will make the segment containing those sections read-only for binaries
that use the OpenBSD W^X layout, preventing W^X violations on architectures
that need an executable GOT (basically BSS-PLT powerpc).
ok miod@
|
|
are only two loadable segments. With W^X on OpenBSD, we will typically
create more than two. Most shared libraries and binaries end up with
five of them. One of them is the GOT itself so we don't need to take that
one into account. So raise the number of spare local GOT entries from 5 to 7.
This fixes building liblto_plugin.so in the gcc 4.9 port.
ok miod@, jasper@, pascal@
|
|
a reasonable 64-bit ABI for 64-bit ELF files instead of a 32-bit ABI.
|
|
ok visa@, deraadt@
|
|
This fix first appeared in FSF binutils after the switch to GPLv3.
However Daniel Jacobowitz, who wrote the fix, confirms he worked for
CodeSourcery at the time (as suggested by the ChangeLog entry), and
CodeSourcery included this fix in the 4.1-176 version of their
toolchain that was distributed under GPLv2.
ok guenther@, ok deraadt@
|
|
Jumbo merges are NOT WELCOME. They have to be seperated out and tested.
|
|
|
|
post-binutils 2.17 but pre-GPLv3 commits.
miod@ says now is the time to get this in.
|
|
This makes the -msecure-plt option work, which is necessary to generate
Secure-PLT ABI code.
|
|
remaining commented out variable settings. We'll continue to use the
same layout for both BSS-PLT and Secure-PLT since supporting the more
relro friendly layout that Linux uses isn't compatible with our way of
making the PLT and GOT read-only.
|
|
This smells like a workaround but it allows audio/mpd to
build and the resulting binary runs well enough to make
landry@ happy. In any case, having a broken binary is not
much worse than not having a binary because ld(1) crashed.
ok miod@, deraadt@
|
|
required by the upcoming libm work.
OK miod@.
|
|
to the gcc info documentation as well.
|
|
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@
|
|
|