diff options
author | Piotr Kubaj <pkubaj@FreeBSD.org> | 2022-07-29 12:47:29 +0200 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2022-11-23 18:21:43 +0100 |
commit | 38186a241ebe28bb25e237b62bb8a8cc60d152fa (patch) | |
tree | 2013f3c93b0ff96db207549cea0eb63a49bfc48b /Configurations | |
parent | 8bee6acc6fa05993f60f2cff8754453055b8e09e (diff) |
Add BSD-armv4 target based on linux-armv4
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Todd Short <todd.short@me.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18910)
(cherry picked from commit a9389c0b75e69ebaf74fdc8fee0c983809e45931)
Diffstat (limited to 'Configurations')
-rw-r--r-- | Configurations/10-main.conf | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index e231a1a0db..26cf9621a2 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -1111,6 +1111,43 @@ my %targets = ( asm_arch => 'riscv64', }, + "BSD-armv4" => { + ################################################################ + # Note that -march is not among compiler options in linux-armv4 + # target description. Not specifying one is intentional to give + # you choice to: + # + # a) rely on your compiler default by not specifying one; + # b) specify your target platform explicitly for optimal + # performance, e.g. -march=armv6 or -march=armv7-a; + # c) build "universal" binary that targets *range* of platforms + # by specifying minimum and maximum supported architecture; + # + # As for c) option. It actually makes no sense to specify + # maximum to be less than ARMv7, because it's the least + # requirement for run-time switch between platform-specific + # code paths. And without run-time switch performance would be + # equivalent to one for minimum. Secondly, there are some + # natural limitations that you'd have to accept and respect. + # Most notably you can *not* build "universal" binary for + # big-endian platform. This is because ARMv7 processor always + # picks instructions in little-endian order. Another similar + # limitation is that -mthumb can't "cross" -march=armv6t2 + # boundary, because that's where it became Thumb-2. Well, this + # limitation is a bit artificial, because it's not really + # impossible, but it's deemed too tricky to support. And of + # course you have to be sure that your binutils are actually + # up to the task of handling maximum target platform. With all + # this in mind here is an example of how to configure + # "universal" build: + # + # ./Configure BSD-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8 + # + inherit_from => [ "BSD-generic32" ], + asm_arch => 'armv4', + perlasm_scheme => "linux32", + }, + "bsdi-elf-gcc" => { inherit_from => [ "BASE_unix" ], CC => "gcc", |