23 Commits

Author SHA1 Message Date
Anthony Green
be4e59e399 chore: update version to 3.5.0 and libtool version to 10:0:2 2025-05-26 08:19:00 -04:00
Anthony Green
3d0ce1e6fc chore: update version to 3.4.6 and fix long double regression on mips64 and alpha 2024-02-18 09:22:51 -05:00
Anthony Green
91739a1a91 Update version, copyright and testsuite info. 2024-02-15 08:30:09 -05:00
Anthony Green
f24180be13 Update to version 3.4.4 2022-10-23 20:17:29 -04:00
Anthony Green
0bd41b75df Update libtool version 2022-09-19 12:26:05 -04:00
hjl-tools
7855656148
x86: Add indirect branch tracking support (#540)
Intel Control-flow Enforcement Technology (CET):

https://software.intel.com/en-us/articles/intel-sdm

contains shadow stack (SHSTK) and indirect branch tracking (IBT).  When
CET is enabled, ELF object files must be marked with .note.gnu.property
section.  When Intel CET is enabled, include <cet.h> in assembly codes
to mark Intel CET support.

Also when IBT is enabled, all indirect branch targets must start with
ENDBR instruction and notrack prefix can be used to disable IBT on
indirect branch.  <cet.h> defines _CET_ENDBR which can be used in
assembly codes for ENDBR instruction.  If <cet.h> isn't included,
define _CET_ENDBR as empty so that _CET_ENDBR can be used in assembly
codes.

Trampoline must be enlarged to add ENDBR instruction unconditionally,
which is NOP on non-CET processors.  This is required regardless if
libffi is enabled with CET since libffi.so will be marked in legacy
bitmap, but trampoline won't.  Update library version for larger
FFI_TRAMPOLINE_SIZE.

This fixed:

https://github.com/libffi/libffi/issues/474

Tested with

$ CC="gcc -Wl,-z,cet-report=error -fcf-protection" CXX="g++ -Wl,-z,cet-report=error -fcf-protection" .../configure

on Linux CET machines in i686, x32 and x86-64 modes.
2020-02-21 22:08:06 -05:00
Richard Henderson
8a0a4e25ef Update symbol versioning for ffi_get_struct_offsets
Given that the original symbol versioning patch has shipped
with gcc-6, it would be kind to keep that as a valid base ABI
and make subsequent changes to version 7.1.
2016-05-04 07:33:41 -10:00
Richard Henderson
c02c341444 Use ELF symbol versioning
At the same time, we must bump the (major) ABI version.  This needed to be
done anyway due to ABI breakage in the AArch64 port (see 12cf89ee and the
corresponding GCC PR70024).
2016-05-04 06:49:50 -10:00
Anthony Green
ee826b933b Final 3.2 changes 2014-11-11 07:29:26 -05:00
Anthony Green
18d56cca5a Increment libtool version number 2014-05-19 18:05:33 -04:00
Anthony Green
94ac0c168e Increment libtool library revision number 2014-05-19 09:37:21 -04:00
Anthony Green
c4dfa259eb Bump soversion 2013-02-06 17:43:24 -05:00
Anthony Green
8bad679ade New stand-alone patch 2013-01-02 08:28:35 -05:00
Anthony Green
981c32ee11 Merge with GCC. Eliminate quilt bits. 2013-01-02 07:34:03 -05:00
Anthony Green
59bb61a366 Update libtool version, README, tests dists 2012-04-06 08:26:14 -04:00
Anthony Green
84d3253f86 Rebase post GCC merge 2012-03-19 23:07:35 -04:00
Anthony Green
6a6e7f862f Fix kfreebsd 2011-11-12 16:20:42 -05:00
Anthony Green
c411f140f3 Fix ax_enable_builddir macro on BSD systems 2011-11-12 07:32:36 -05:00
Anthony Green
ee6696fdf4 3.0.11-rc1. soname bump. 2011-08-23 12:30:29 -04:00
Anthony Green
3b7efa4e74 Revert remove-debug-code patch temporarily (for ARM Fedora release) 2011-08-15 13:25:13 -04:00
Anthony Green
1fbf9dc44f Fix bad_abi test. rc5. 2011-02-13 08:06:39 -05:00
Anthony Green
5cbe2058c1 Initial stand-alone patch. 2009-10-04 23:53:11 -04:00
Anthony Green
c6dddbd02b Initial commit 2009-10-04 08:11:33 -04:00