diff options
author | Timothy Gu <timothygu99@gmail.com> | 2015-05-25 16:00:43 -0700 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2015-05-28 11:40:15 +0200 |
commit | dd4d709be705edaec0bc35c426bf8434e942b7df (patch) | |
tree | 5adf839b807dc94415fd330df8fdd8f205d6f2a7 | |
parent | 57cde2b180fcec0eaf60aad65f436ab6420546f5 (diff) | |
download | ffmpeg-dd4d709be705edaec0bc35c426bf8434e942b7df.tar.gz |
x86inc: Clear __SECT__
Silences warning(s) like:
libavcodec/x86/fft.asm:93: warning: section flags ignored on
section redeclaration
The cause of this warning is that because `struc` and `endstruc`
attempts to revert to the previous section state [1].
The section state is stored in the macro __SECT__, defined by
x86inc.asm to be `.note.GNU-stack ...`, through the `SECTION`
directive [2].
Thus, the `.note.GNU-stack` section is defined twice
(once in x86inc.asm, once during `endstruc`), causing the warning.
That is the first part of the commit: using the primitive `[section]` format
for .note.GNU-stack etc., which does not update `__SECT__` [2].
That fixes only half of the problem. Even without any `SECTION` directives,
`__SECT__` is predefined as `.text`, which conflicting with the later
`SECTION_TEXT` (which expands to `.text align=16`).
[1]: http://www.nasm.us/doc/nasmdoc6.html#section-6.4
[2]: http://www.nasm.us/doc/nasmdoc6.html#section-6.3
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-rw-r--r-- | libavutil/x86/x86inc.asm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm index e3ed3813e0..a6e1f333c3 100644 --- a/libavutil/x86/x86inc.asm +++ b/libavutil/x86/x86inc.asm @@ -722,9 +722,13 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae, ; This is needed for ELF, otherwise the GNU linker assumes the stack is ; executable by default. %ifidn __OUTPUT_FORMAT__,elf -SECTION .note.GNU-stack noalloc noexec nowrite progbits +[section .note.GNU-stack noalloc noexec nowrite progbits] %endif +; Overrides the default .text section. +; Silences warnings when defining structures. +%define __SECT__ + ; cpuflags %assign cpuflags_mmx (1<<0) |