Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
VideoLAN
x264
Commits
82721eae
Commit
82721eae
authored
Jan 31, 2019
by
Henrik Gramner
Committed by
Anton Mitrofanov
Mar 06, 2019
Browse files
x86inc: Add x86-32 PIC support macros
parent
b7e9935c
Changes
2
Hide whitespace changes
Inline
Side-by-side
common/x86/x86inc.asm
View file @
82721eae
...
...
@@ -89,16 +89,13 @@
%endif
%endmacro
%if WIN64
%define PIC
%elif ARCH_X86_64 == 0
; x86_32 doesn't require PIC.
; Some distros prefer shared objects to be PIC, but nothing breaks if
; the code contains a few textrels, so we'll skip that complexity.
%undef PIC
%endif
%ifdef PIC
%if ARCH_X86_64
%define PIC 1
; always use PIC on x86-64
default
rel
%elifidn __OUTPUT_FORMAT__,win32
%define PIC 0
; PIC isn't used on 32-bit Windows
%elifndef PIC
%define PIC 0
%endif
%ifdef __NASM_VER__
...
...
@@ -220,6 +217,18 @@ DECLARE_REG_TMP_SIZE 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
%define gprsize 4
%endif
%macro LEA 2
%if ARCH_X86_64
lea
%
1
,
[
%
2
]
%elif PIC
call
$
+
5
; special-cased to not affect the RSB on most CPU:s
pop
%
1
add
%
1
,
(
%
2
)
-
$
+
1
%else
mov
%
1
,
%
2
%endif
%endmacro
%macro PUSH 1
push
%
1
%ifidn rstk, rsp
...
...
configure
View file @
82721eae
...
...
@@ -734,7 +734,7 @@ case $host_cpu in
ARCH
=
"X86_64"
AS
=
"
${
AS
-nasm
}
"
AS_EXT
=
".asm"
ASFLAGS
=
"
$ASFLAGS
-DARCH_X86_64=1
-DPIC
-I
\$
(SRCPATH)/common/x86/"
ASFLAGS
=
"
$ASFLAGS
-DARCH_X86_64=1 -I
\$
(SRCPATH)/common/x86/"
stack_alignment
=
16
[
$compiler
=
GNU
]
&&
CFLAGS
=
"-m64
$CFLAGS
"
&&
LDFLAGS
=
"-m64
$LDFLAGS
"
if
[
"
$SYS
"
=
MACOSX
]
;
then
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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