| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This is what Debian calls little endian 64-bit PPC
|
|
|
|
|
|
|
| |
RISC-V is always little endian by definition.
SPARC is technically bi-endian but basically 100% of userspace is
big endian, so assume it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 513d19781a558fbd1ff03c7152f61b5e7f294297 removed support for
i586, put it back otherwise the following build failure is raised:
(cd /accts/mlweber1/instance-0/output/build/botan-2.7.0; PATH="/accts/mlweber1/instance-0/output/host/bin:/accts/mlweber1/instance-0/output/host/sbin:/usr/bin:/bin" ./configure.py --cpu="i586" --os=linux --cc=gcc --cc-bin="/accts/mlweber1/instance-0/output/host/bin/i586-linux-g++" --prefix=/usr --disable-static-library --enable-shared-library --without-stack-protector --with-boost --with-bzip2 --with-openssl --with-sqlite --with-lzma --with-zlib --disable-altivec --disable-neon)
INFO: ./configure.py invoked with options "--cpu=i586 --os=linux --cc=gcc --cc-bin=/accts/mlweber1/instance-0/output/host/bin/i586-linux-g++ --prefix=/usr --disable-static-library --enable-shared-library --without-stack-protector --with-boost --with-bzip2 --with-openssl --with-sqlite --with-lzma --with-zlib --disable-altivec --disable-neon"
INFO: Autodetected platform information: OS="Linux" machine="x86_64" proc="x86_64"
ERROR: Unknown or unidentifiable processor "i586"
Fixes:
- http://autobuild.buildroot.org/results/aaa2ea8c3fb5fe954c0af0061f83ad70e0a862f9
Signed-off-by: Fabrice Fontaine <[email protected]>
|
|
|
|
| |
Tested in qemu
|
| |
|
|
|
| |
Addresses https://github.com/randombit/botan/issues/1543
|
|
|
|
| |
Debian has a build target for this.
|
|
|
|
| |
Its a somewhat odd 32-bit PPC without AltiVec support
|
|
|
|
| |
Needed for Debian
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
These are best left to the user to set via CXXFLAGS or --cc-abi-flags
Add override if arch ends in in {eb, el, be, le} to set the endian.
Avoids an extra file for ppc64le.
|
|
|
|
|
|
| |
This breaks how we determine the ISA flags for amalgamation files.
The code for doing that is kind of a hack but I don't want to mess
with it right now, easier to just rename the ISA internally.
|
|
|
|
| |
Simplifies macro generation
|
|
|
|
|
|
|
|
|
|
| |
This previously enabled doing something unsafe (misaligned reads),
but it turns out even on hardware that supports this, it is not
safe to do because the compiler may do something unfortunate.
Now memcpy is used, which is safe on any platform.
Should provide a noticable speedup for ARM and PPC64, which previously
used the byte-at-a-time fallback code.
|
| |
|
| |
|
|
|
|
| |
this removes the duplicate "sha" in x86_64
|
| |
|
|
|
|
| |
Based on GH #807 and #808
|
| |
|
|
|
|
| |
Tested on qemu-aarch64
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Seen with rarely tested compilers (Sun Studio, Intel, ...) that we are missing
info for. Previously this led to a hard error which is pointless. Instead just
disable the relevant module and warn the user that something was disabled, if
they want to go look into why.
Remove bogus clmul entry in x86_64 - actually we lump both AES and CLMUL flags
under the same ISA ("aesni") since all known CPUs support either both or
neither. Caught by new configure warning.
Add Sun Studio ISA flags from GH #846
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds support for 64 bit ARM cores as used in many high-end phones
such as all iPhones beginning with the 5s. While these newer phones
still run 32 bit ARM code, Apple doesn't allow apps to be submitted to
the app store if they don't provide a 64 bit build.
This commit adds a new arm64 arch and renames arm to arm32 to stay
consistent with the other architectures. The name arm can still be used
for configuring because it has been added as an alias for arm32.
Additionally, the one piece of ARM inline assembly that can be found in
Botan doesn't work on 64 bit ARM, so I use the solution that has been
proposed in #180: Use __builtin_bswap32 instead of inline assembly.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Use it to merge mp_msvc64 (was using MSVC _umul128 intrinsic) and
mp_asm64 (was using inline asm) into mp_word64, which calls the new
mul64x64_128 function. That function wraps any available compiler
intrinsics or CPU instructions.
|
|
|
|
|
|
|
|
|
|
|
| |
compiler and target platform might support it. For instance the AES
SSSE3 code is now always in any x86 build, with just that specific
file being compiled with -mssse3. Since we'll only call that code if
cpuid confirms it works at runtime, we don't have portability issues,
and it can be safely included in generic builds (eg for distributions).
Tweak how machine specific compiler flags are generated to be a bit
easier to maintain.
|
| |
|
|
|
|
|
|
| |
Add a couple aliases so the GNU canonical names are understood by us.
Add an Ivy Bridge entry, match it up with the new GCC -march flag
|
|
|
|
| |
as they seem to understand it as of GCC 4.6 and Clang 2.9.
|
|
|
|
|
|
|
|
|
|
|
|
| |
invokes the build with --cpu=i486 on x86-32.
Add -momit-leaf-frame-pointer to x86 specializations.
Use -march=atom for atom32 as well.
Use -mcpu=cell for Cell PPU - it's not documented, but GCC 4.6 has it.
Remove ancient/untested rs64a support from ppc64
|
|
|
|
|
|
|
| |
by GCC.
Add Niagra targets for sparc, and extend/fix the Sun Studio flags for
SPARC64.
|
|
|
|
|
| |
experimental Debian port), and add aliases for ARM to match the Debian
architectures.
|
|
|
|
| |
consumer/desktop level Atoms are actually 32 bit.
|
|
|
|
|
| |
far as I know this is the first and only real use, or even test, of
botan on the SH, I'll let them pick the names and flags...
|
| |
|
|
|
|
|
|
| |
Back the reported version from 1.10.0 to 1.9.17 for the time
being. Still on the fence if this will be 1.10.0 or another release
candidate instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
around a bug in FreeBSD 6.1, which is long EOL.
If we can't figure out the CPU in configure.py, if running
verbosely dump the entire list of CPUs we know about.
Some doc cleanups.
Rename the 'beos' target to 'haiku', since testing shows that
botan can't compile under the old BeOS GCC 2.95 anyway.
Remove the call to idle_time in the stats entropy source - it causes a
crash on Haiku R1-alpha2 somewhere inside a system DLL. I didn't
bother debugging it beyond looking at the backtrace.
Add a 'bepc' alias for i386 as that is what Haiku reports its
processor as.
Fix the install dirs to match Haiku R1, though apparently they will
change in R2 anyway when they add package management.
Enable use of gmtime_r on Haiku.
|
|
|
|
|
| |
add support for features that it has that apparently the last version
I tested did not, including dynamic loading.
|
|
|
|
|
|
| |
GCC 4.3 on ARM converts __builtin_bswap32 into a jump into libgcc
rather than 4 simple instructions, so write it out using inline asm
instead.
|
| |
|
|
|
|
|
|
|
| |
running 32 bit userspaces on sun4u machines, but it's often difficult
to tell what the compiler does/does not support in that respect, and
this will work for people who are using 64 bit userspace which I
_think_ is more common now. I hope.
|
|
|
|
|
|
|
| |
Fix a bug that would cause a harmless but bogus macro to be generated
in build.h if you used --enable-sse2
Add --enable-movbe to turn on a macro marking movbe as available
|
| |
|
|
|
|
|
|
|
| |
some cases.
Add a westmere alias for "Core i5 CPU M 520", which is what uname (and thus,
platform.processor()) returns on my laptop. Mostly for my benefit of course.
|