Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
redox-os
relibc
Commits
ecd93495
Verified
Commit
ecd93495
authored
Dec 14, 2021
by
Jeremy Soller
Browse files
R_X86_64_TPOFF64 does not require symbol, allow it to be unset
parent
e90fa3e3
Pipeline
#9851
failed with stages
in 18 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/ld_so/linker.rs
View file @
ecd93495
...
...
@@ -398,10 +398,14 @@ impl Linker {
set_u64
((
b
+
a
)
as
u64
);
}
reloc
::
R_X86_64_TPOFF64
=>
{
let
sym
=
symbol
.as_ref
()
.expect
(
"R_X86_64_TPOFF64 called without valid symbol"
);
set_u64
((
sym
.value
+
a
)
.wrapping_sub
(
t
)
as
u64
);
if
rel
.r_sym
>
0
{
let
sym
=
symbol
.as_ref
()
.expect
(
"R_X86_64_TPOFF64 called without valid symbol"
);
set_u64
((
sym
.value
+
a
)
.wrapping_sub
(
t
)
as
u64
);
}
else
{
set_u64
(
a
.wrapping_sub
(
t
)
as
u64
);
}
}
reloc
::
R_X86_64_IRELATIVE
=>
unsafe
{
let
f
:
unsafe
extern
"C"
fn
()
->
u64
=
transmute
(
b
+
a
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment