swscale: Readd #define _SVID_SOURCE

Message ID 1322174982-22293-1-git-send-email-martin@martin.st
State Committed
Commit 38a511e84cb776ec16cb7edcf8ed5e878af0a374
Headers show

Commit Message

Martin Storsjö Nov. 24, 2011, 10:49 p.m.
This was removed erroneously in
046f081b46c8479820409cf8f530b988221bd15b. This define still is
necessary for getting MAP_ANONYMOUS defined on linux/glibc,
despite the define reshuffling done in that commit.

Without MAP_ANONYMOUS defined, the mprotect calls for setting the
generated mmx2 scaler code pages executable are left out, causing
crashes if that codepath is chosen.

This patch fixes scaling from 192x144 to 320x240 with
-sws_flags fast_bilinear, which crashes on linux at the
moment.
---
 libswscale/utils.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

Comments

Janne Grunau Nov. 25, 2011, 12:16 a.m. | #1
On Fri, Nov 25, 2011 at 12:49:42AM +0200, Martin Storsjö wrote:
> This was removed erroneously in
> 046f081b46c8479820409cf8f530b988221bd15b. This define still is
> necessary for getting MAP_ANONYMOUS defined on linux/glibc,
> despite the define reshuffling done in that commit.
> 
> Without MAP_ANONYMOUS defined, the mprotect calls for setting the
> generated mmx2 scaler code pages executable are left out, causing
> crashes if that codepath is chosen.
> 
> This patch fixes scaling from 192x144 to 320x240 with
> -sws_flags fast_bilinear, which crashes on linux at the
> moment.
> ---
>  libswscale/utils.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/libswscale/utils.c b/libswscale/utils.c
> index 7a96986..4458e8f 100644
> --- a/libswscale/utils.c
> +++ b/libswscale/utils.c
> @@ -18,6 +18,7 @@
>   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
>   */
>  
> +#define _SVID_SOURCE //needed for MAP_ANONYMOUS
>  #include <inttypes.h>
>  #include <string.h>
>  #include <math.h>

ok.

can someone check if _DARWIN_C_SOURCE is requirred for MAP_ANON on
Mac OS X

Janne
Diego Biurrun Nov. 25, 2011, 12:22 a.m. | #2
On Fri, Nov 25, 2011 at 01:16:39AM +0100, Janne Grunau wrote:
> On Fri, Nov 25, 2011 at 12:49:42AM +0200, Martin Storsjö wrote:
> > This was removed erroneously in
> > 046f081b46c8479820409cf8f530b988221bd15b. This define still is
> > necessary for getting MAP_ANONYMOUS defined on linux/glibc,
> > despite the define reshuffling done in that commit.
> > 
> > Without MAP_ANONYMOUS defined, the mprotect calls for setting the
> > generated mmx2 scaler code pages executable are left out, causing
> > crashes if that codepath is chosen.
> > 
> > This patch fixes scaling from 192x144 to 320x240 with
> > -sws_flags fast_bilinear, which crashes on linux at the
> > moment.
> > ---
> > 
> > --- a/libswscale/utils.c
> > +++ b/libswscale/utils.c
> > @@ -18,6 +18,7 @@
> >   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> >   */
> >  
> > +#define _SVID_SOURCE //needed for MAP_ANONYMOUS
> >  #include <inttypes.h>
> >  #include <string.h>
> >  #include <math.h>
> 
> ok.
> 
> can someone check if _DARWIN_C_SOURCE is requirred for MAP_ANON on
> Mac OS X

Please don't push this right away until the issue is settled properly.
There was a similar patch floating around, possibly only for some OSes.
I'll look into it tomorrow.

Diego
Mans Rullgard Nov. 25, 2011, 12:26 a.m. | #3
Diego Biurrun <diego@biurrun.de> writes:

> On Fri, Nov 25, 2011 at 01:16:39AM +0100, Janne Grunau wrote:
>> On Fri, Nov 25, 2011 at 12:49:42AM +0200, Martin Storsjö wrote:
>> > This was removed erroneously in
>> > 046f081b46c8479820409cf8f530b988221bd15b. This define still is
>> > necessary for getting MAP_ANONYMOUS defined on linux/glibc,
>> > despite the define reshuffling done in that commit.
>> > 
>> > Without MAP_ANONYMOUS defined, the mprotect calls for setting the
>> > generated mmx2 scaler code pages executable are left out, causing
>> > crashes if that codepath is chosen.
>> > 
>> > This patch fixes scaling from 192x144 to 320x240 with
>> > -sws_flags fast_bilinear, which crashes on linux at the
>> > moment.
>> > ---
>> > 
>> > --- a/libswscale/utils.c
>> > +++ b/libswscale/utils.c
>> > @@ -18,6 +18,7 @@
>> >   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
>> >   */
>> >  
>> > +#define _SVID_SOURCE //needed for MAP_ANONYMOUS
>> >  #include <inttypes.h>
>> >  #include <string.h>
>> >  #include <math.h>
>> 
>> ok.
>> 
>> can someone check if _DARWIN_C_SOURCE is requirred for MAP_ANON on
>> Mac OS X
>
> Please don't push this right away until the issue is settled properly.
> There was a similar patch floating around, possibly only for some OSes.
> I'll look into it tomorrow.

The chunk of code that needs it should be moved into the x86/ directory.
That won't fix the problem of the missing declarations, but it will
limit the scope of any hacks.
Martin Storsjö Nov. 25, 2011, 7 a.m. | #4
On Fri, 25 Nov 2011, Janne Grunau wrote:

> On Fri, Nov 25, 2011 at 12:49:42AM +0200, Martin Storsjö wrote:
>> This was removed erroneously in
>> 046f081b46c8479820409cf8f530b988221bd15b. This define still is
>> necessary for getting MAP_ANONYMOUS defined on linux/glibc,
>> despite the define reshuffling done in that commit.
>>
>> Without MAP_ANONYMOUS defined, the mprotect calls for setting the
>> generated mmx2 scaler code pages executable are left out, causing
>> crashes if that codepath is chosen.
>>
>> This patch fixes scaling from 192x144 to 320x240 with
>> -sws_flags fast_bilinear, which crashes on linux at the
>> moment.
>> ---
>>  libswscale/utils.c |    1 +
>>  1 files changed, 1 insertions(+), 0 deletions(-)
>>
>> diff --git a/libswscale/utils.c b/libswscale/utils.c
>> index 7a96986..4458e8f 100644
>> --- a/libswscale/utils.c
>> +++ b/libswscale/utils.c
>> @@ -18,6 +18,7 @@
>>   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
>>   */
>>
>> +#define _SVID_SOURCE //needed for MAP_ANONYMOUS
>>  #include <inttypes.h>
>>  #include <string.h>
>>  #include <math.h>
>
> ok.
>
> can someone check if _DARWIN_C_SOURCE is requirred for MAP_ANON on
> Mac OS X

Doesn't seem to be required at the moment.

// Martin
Martin Storsjö Nov. 25, 2011, 7:17 a.m. | #5
On Fri, 25 Nov 2011, Diego Biurrun wrote:

> On Fri, Nov 25, 2011 at 01:16:39AM +0100, Janne Grunau wrote:
>> On Fri, Nov 25, 2011 at 12:49:42AM +0200, Martin Storsjö wrote:
>>> This was removed erroneously in
>>> 046f081b46c8479820409cf8f530b988221bd15b. This define still is
>>> necessary for getting MAP_ANONYMOUS defined on linux/glibc,
>>> despite the define reshuffling done in that commit.
>>>
>>> Without MAP_ANONYMOUS defined, the mprotect calls for setting the
>>> generated mmx2 scaler code pages executable are left out, causing
>>> crashes if that codepath is chosen.
>>>
>>> This patch fixes scaling from 192x144 to 320x240 with
>>> -sws_flags fast_bilinear, which crashes on linux at the
>>> moment.
>>> ---
>>>
>>> --- a/libswscale/utils.c
>>> +++ b/libswscale/utils.c
>>> @@ -18,6 +18,7 @@
>>>   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
>>>   */
>>>
>>> +#define _SVID_SOURCE //needed for MAP_ANONYMOUS
>>>  #include <inttypes.h>
>>>  #include <string.h>
>>>  #include <math.h>
>>
>> ok.
>>
>> can someone check if _DARWIN_C_SOURCE is requirred for MAP_ANON on
>> Mac OS X
>
> Please don't push this right away until the issue is settled properly.
> There was a similar patch floating around, possibly only for some OSes.
> I'll look into it tomorrow.

Do you consider it settled properly after checking on OS X, or is there 
anything else still to be checked?

// Martin
Diego Biurrun Nov. 25, 2011, 5:50 p.m. | #6
On Fri, Nov 25, 2011 at 09:17:44AM +0200, Martin Storsjö wrote:
> On Fri, 25 Nov 2011, Diego Biurrun wrote:
> >On Fri, Nov 25, 2011 at 01:16:39AM +0100, Janne Grunau wrote:
> >>On Fri, Nov 25, 2011 at 12:49:42AM +0200, Martin Storsjö wrote:
> >>>This was removed erroneously in
> >>>046f081b46c8479820409cf8f530b988221bd15b. This define still is
> >>>necessary for getting MAP_ANONYMOUS defined on linux/glibc,
> >>>despite the define reshuffling done in that commit.
> >>>
> >>>Without MAP_ANONYMOUS defined, the mprotect calls for setting the
> >>>generated mmx2 scaler code pages executable are left out, causing
> >>>crashes if that codepath is chosen.
> >>>
> >>>This patch fixes scaling from 192x144 to 320x240 with
> >>>-sws_flags fast_bilinear, which crashes on linux at the
> >>>moment.
> >>>---
> >>>
> >>>--- a/libswscale/utils.c
> >>>+++ b/libswscale/utils.c
> >>>@@ -18,6 +18,7 @@
> >>>  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> >>>  */
> >>>
> >>>+#define _SVID_SOURCE //needed for MAP_ANONYMOUS
> >>> #include <inttypes.h>
> >>> #include <string.h>
> >>> #include <math.h>
> >>
> >>ok.
> >>
> >>can someone check if _DARWIN_C_SOURCE is requirred for MAP_ANON on
> >>Mac OS X
> >
> >Please don't push this right away until the issue is settled properly.
> >There was a similar patch floating around, possibly only for some OSes.
> >I'll look into it tomorrow.
> 
> Do you consider it settled properly after checking on OS X, or is
> there anything else still to be checked?

Ping me over the weekend, there are still some outstanding issues I
want to check.

Diego
Martin Storsjö Nov. 25, 2011, 6 p.m. | #7
On Fri, 25 Nov 2011, Diego Biurrun wrote:

> On Fri, Nov 25, 2011 at 09:17:44AM +0200, Martin Storsjö wrote:
>> On Fri, 25 Nov 2011, Diego Biurrun wrote:
>>> On Fri, Nov 25, 2011 at 01:16:39AM +0100, Janne Grunau wrote:
>>>> On Fri, Nov 25, 2011 at 12:49:42AM +0200, Martin Storsjö wrote:
>>>>> This was removed erroneously in
>>>>> 046f081b46c8479820409cf8f530b988221bd15b. This define still is
>>>>> necessary for getting MAP_ANONYMOUS defined on linux/glibc,
>>>>> despite the define reshuffling done in that commit.
>>>>>
>>>>> Without MAP_ANONYMOUS defined, the mprotect calls for setting the
>>>>> generated mmx2 scaler code pages executable are left out, causing
>>>>> crashes if that codepath is chosen.
>>>>>
>>>>> This patch fixes scaling from 192x144 to 320x240 with
>>>>> -sws_flags fast_bilinear, which crashes on linux at the
>>>>> moment.
>>>>> ---
>>>>>
>>>>> --- a/libswscale/utils.c
>>>>> +++ b/libswscale/utils.c
>>>>> @@ -18,6 +18,7 @@
>>>>>  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
>>>>>  */
>>>>>
>>>>> +#define _SVID_SOURCE //needed for MAP_ANONYMOUS
>>>>> #include <inttypes.h>
>>>>> #include <string.h>
>>>>> #include <math.h>
>>>>
>>>> ok.
>>>>
>>>> can someone check if _DARWIN_C_SOURCE is requirred for MAP_ANON on
>>>> Mac OS X
>>>
>>> Please don't push this right away until the issue is settled properly.
>>> There was a similar patch floating around, possibly only for some OSes.
>>> I'll look into it tomorrow.
>>
>> Do you consider it settled properly after checking on OS X, or is
>> there anything else still to be checked?
>
> Ping me over the weekend, there are still some outstanding issues I
> want to check.

Pushed now after agreement on irc, Diego will follow up later if there's 
anything else to change.

// Martin

Patch

diff --git a/libswscale/utils.c b/libswscale/utils.c
index 7a96986..4458e8f 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -18,6 +18,7 @@ 
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#define _SVID_SOURCE //needed for MAP_ANONYMOUS
 #include <inttypes.h>
 #include <string.h>
 #include <math.h>