},
"solaris64-sparcv9-cc" => {
inherit_from => [ "solaris-sparcv7-cc" ],
- cflags => add_before("-xarch=v9"),
+ cflags => add_before("-m64 -xarch=sparc"),
bn_ops => "BN_LLONG RC4_CHAR",
asm_arch => 'sparcv9',
perlasm_scheme => 'void',
module_ldflags => "-Wl,-G,-bsymbolic,-bnoentry",
shared_ldflag => "-Wl,-G,-bsymbolic,-bnoentry",
shared_defflag => "-Wl,-bE:",
- shared_fipsflag => "-Wl,-binitfini:init:cleanup",
+ shared_fipsflag => "-Wl,-binitfini:_init:_cleanup",
perl_platform => 'AIX',
},
"aix-gcc" => {
@{vms_info()->{disable_warns}};
@warnings
? "/WARNINGS=DISABLE=(".join(",",@warnings).")" : (); }),
+ cflag_incfirst => '/FIRST_INCLUDE=',
lib_defines =>
add("OPENSSL_USE_NODELETE",
sub {
# and binaries instead.
bin_cflags => add("/NAMES=(AS_IS,SHORTENED)/EXTERN_MODEL=STRICT_REFDEF"),
lib_cflags => add("/NAMES=(AS_IS,SHORTENED)/EXTERN_MODEL=STRICT_REFDEF"),
- # For modules specifically, we assume that they only use public
- # OpenSSL symbols, and therefore don't need to mangle names on
- # their own.
- dso_cflags => "",
+ # Strictly speaking, DSOs should not need to have name shortening,
+ # as all their exported symbols should be short enough to fit the
+ # linker's 31 character per symbol name limit. However, providers
+ # may be composed of more than one object file, and internal symbols
+ # may and do surpass the 31 character limit.
+ dso_cflags => add("/NAMES=(SHORTENED)"),
ex_libs => add(sub { return vms_info()->{zlib} || (); }),
shared_target => "vms-shared",
# def_flag made to empty string so a .opt file gets generated
asflags => sub { vms_info()->{asflags} },
perlasm_scheme => sub { vms_info()->{perlasm_scheme} },
- disable => add('pinshared'),
+ disable => add('pinshared', 'loadereng'),
},