Skip to content

Commit 242cf72

Browse files
LucasStec410-f3r
authored andcommitted
[SOL] Set 32 bits for SBF minimum enum size (rust-lang#90)
1 parent 0aaf12a commit 242cf72

File tree

1 file changed

+61
-48
lines changed

1 file changed

+61
-48
lines changed
Lines changed: 61 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,65 @@
11
use crate::abi::Endian;
2-
use crate::spec::{LinkerFlavor, Cc, Lld, PanicStrategy, TargetOptions};
2+
use crate::spec::{LinkerFlavor, cvs, Cc, Lld, PanicStrategy, TargetOptions};
33

44
pub(crate) fn opts() -> TargetOptions {
5-
let linker_script = r"
6-
PHDRS
7-
{
8-
text PT_LOAD ;
9-
rodata PT_LOAD ;
10-
dynamic PT_DYNAMIC ;
11-
}
12-
13-
SECTIONS
14-
{
15-
. = SIZEOF_HEADERS;
16-
.text : { *(.text*) } :text
17-
.rodata : { *(.rodata*) } :rodata
18-
.data.rel.ro : { *(.data.rel.ro*) } :rodata
19-
.dynamic : { *(.dynamic) } :dynamic
20-
}
21-
";
22-
let pre_link_args = TargetOptions::link_args(
23-
LinkerFlavor::Gnu(Cc::No, Lld::No),
24-
&["--threads=1", "-z", "notext"],
25-
);
26-
TargetOptions {
27-
allow_asm: true,
28-
endian: Endian::Little,
29-
c_int_width: "64".into(),
30-
env: "".into(),
31-
features: "+solana".into(),
32-
vendor: "solana".into(),
33-
linker_flavor: LinkerFlavor::Gnu(Cc::No, Lld::Yes),
34-
linker: Some("rust-lld".into()),
35-
link_script: Some(linker_script.into()),
36-
pre_link_args,
37-
executables: true,
38-
dll_prefix: "".into(),
39-
dynamic_linking: true,
40-
only_cdylib: true,
41-
no_default_libraries: true,
42-
panic_strategy: PanicStrategy::Abort,
43-
position_independent_executables: true,
44-
requires_lto: false,
45-
singlethread: true,
46-
max_atomic_width: Some(64),
47-
eh_frame_header: false,
48-
main_needs_argc_argv: false,
49-
emit_debug_gdb_scripts: false,
50-
.. Default::default()
51-
}
5+
let linker_script = r"
6+
PHDRS
7+
{
8+
text PT_LOAD ;
9+
rodata PT_LOAD ;
10+
data PT_LOAD ;
11+
dynamic PT_DYNAMIC ;
12+
}
13+
14+
SECTIONS
15+
{
16+
. = SIZEOF_HEADERS;
17+
.text : { *(.text*) } :text
18+
.rodata : { *(.rodata*) } :rodata
19+
.data.rel.ro : { *(.data.rel.ro*) } :rodata
20+
.dynamic : { *(.dynamic) } :dynamic
21+
.dynsym : { *(.dynsym) } :data
22+
.dynstr : { *(.dynstr) } :data
23+
.rel.dyn : { *(.rel.dyn) } :data
24+
/DISCARD/ : {
25+
*(.eh_frame*)
26+
*(.gnu.hash*)
27+
*(.hash*)
28+
}
29+
}
30+
";
31+
let pre_link_args = TargetOptions::link_args(
32+
LinkerFlavor::Gnu(Cc::No, Lld::No),
33+
&["--threads=1", "-z", "notext"],
34+
);
35+
36+
TargetOptions {
37+
allow_asm: true,
38+
c_int_width: "64".into(),
39+
dll_prefix: "".into(),
40+
dynamic_linking: true,
41+
eh_frame_header: false,
42+
emit_debug_gdb_scripts: false,
43+
endian: Endian::Little,
44+
env: "".into(),
45+
executables: true,
46+
features: "+solana".into(),
47+
families: cvs!["solana"],
48+
link_script: Some(linker_script.into()),
49+
linker: Some("rust-lld".into()),
50+
linker_flavor: LinkerFlavor::Gnu(Cc::No, Lld::Yes),
51+
main_needs_argc_argv: false,
52+
max_atomic_width: Some(64),
53+
no_default_libraries: true,
54+
only_cdylib: true,
55+
os: "solana".into(),
56+
panic_strategy: PanicStrategy::Abort,
57+
position_independent_executables: true,
58+
pre_link_args,
59+
requires_lto: false,
60+
singlethread: true,
61+
vendor: "solana".into(),
62+
c_enum_min_bits: Some(32),
63+
.. Default::default()
64+
}
5265
}

0 commit comments

Comments
 (0)