OSDN Git Service

x86inc: Clear __SECT__
authorTimothy Gu <timothygu99@gmail.com>
Mon, 25 May 2015 23:00:43 +0000 (16:00 -0700)
committerLuca Barbato <lu_zero@gentoo.org>
Thu, 28 May 2015 09:40:15 +0000 (11:40 +0200)
commitdd4d709be705edaec0bc35c426bf8434e942b7df
tree5adf839b807dc94415fd330df8fdd8f205d6f2a7
parent57cde2b180fcec0eaf60aad65f436ab6420546f5
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>
libavutil/x86/x86inc.asm