x86inc: Clear __SECT__
This commit 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: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
committed by
Michael Niedermayer
parent
2b388e6dde
commit
204b228a1d
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user