Message ID | 20171228144406.30114-1-komh@chollian.net |
---|---|
State | Accepted |
Commit | d03c39b46b21c893d6549a532289b7fb9935b3fc |
Headers | show |
On 12/28/2017 2:44 PM, KO Myung-Hun wrote: > On OS/2, '_' is not prepended to a function name. > --- > configure | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) It's not immediately clear to be how checking a header instead relates to function name mangling (or lack thereof)? - Derek
Hi/2. Derek Buitenhuis wrote: > On 12/28/2017 2:44 PM, KO Myung-Hun wrote: >> On OS/2, '_' is not prepended to a function name. >> --- >> configure | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) > > It's not immediately clear to be how checking a header instead relates > to function name mangling (or lack thereof)? Sorry about that. SDL2 uses SDLCALL to specify a calling convention. On OS/2, it's defined to `_System' which is similar to `_cdecl' but does not prepend '_'. After all, without a header, a function is used without `_System'. And linker will try to `_func' but fail because the function is `func' not `_func'.
On 12/29/2017 6:36 AM, KO Myung-Hun wrote: > Sorry about that. > > SDL2 uses SDLCALL to specify a calling convention. On OS/2, it's defined > to `_System' which is similar to `_cdecl' but does not prepend '_'. > > After all, without a header, a function is used without `_System'. And > linker will try to `_func' but fail because the function is `func' not > `_func'. Thanks for the explanation. Patch LGTM with this added to the commit message. - Derek
Hi/2. Derek Buitenhuis wrote: > On 12/29/2017 6:36 AM, KO Myung-Hun wrote: >> Sorry about that. >> >> SDL2 uses SDLCALL to specify a calling convention. On OS/2, it's defined >> to `_System' which is similar to `_cdecl' but does not prepend '_'. >> >> After all, without a header, a function is used without `_System'. And >> linker will try to `_func' but fail because the function is `func' not >> `_func'. > > Thanks for the explanation. Patch LGTM with this added to the commit message. > Updated.
Ping ? KO Myung-Hun wrote: > Hi/2. > > Derek Buitenhuis wrote: >> On 12/29/2017 6:36 AM, KO Myung-Hun wrote: >>> Sorry about that. >>> >>> SDL2 uses SDLCALL to specify a calling convention. On OS/2, it's defined >>> to `_System' which is similar to `_cdecl' but does not prepend '_'. >>> >>> After all, without a header, a function is used without `_System'. And >>> linker will try to `_func' but fail because the function is `func' not >>> `_func'. >> >> Thanks for the explanation. Patch LGTM with this added to the commit message. >> > > Updated. > > > > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
On 1/7/2018 12:07 AM, KO Myung-Hun wrote: > Ping ? > > KO Myung-Hun wrote: >> Hi/2. >> >> Derek Buitenhuis wrote: >>> On 12/29/2017 6:36 AM, KO Myung-Hun wrote: >>>> Sorry about that. >>>> >>>> SDL2 uses SDLCALL to specify a calling convention. On OS/2, it's defined >>>> to `_System' which is similar to `_cdecl' but does not prepend '_'. >>>> >>>> After all, without a header, a function is used without `_System'. And >>>> linker will try to `_func' but fail because the function is `func' not >>>> `_func'. >>> >>> Thanks for the explanation. Patch LGTM with this added to the commit message. >>> >> >> Updated. Pushed.
diff --git a/configure b/configure index 70de780f82..f937ddf2be 100755 --- a/configure +++ b/configure @@ -6019,14 +6019,14 @@ fi if enabled sdl2; then SDL2_CONFIG="${cross_prefix}sdl2-config" if test_pkg_config sdl2 "sdl2 >= 2.0.1 sdl2 < 2.1.0" SDL_events.h SDL_PollEvent; then - check_func SDL_Init $sdl2_extralibs $sdl2_cflags || + check_func_headers SDL.h SDL_Init $sdl2_extralibs $sdl2_cflags || disable sdl2 elif "${SDL2_CONFIG}" --version > /dev/null 2>&1; then sdl2_cflags=$("${SDL2_CONFIG}" --cflags) sdl2_extralibs=$("${SDL2_CONFIG}" --libs) check_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) >= 0x020001" $sdl2_cflags && check_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) < 0x020100" $sdl2_cflags && - check_func SDL_Init $sdl2_extralibs $sdl2_cflags && + check_func_headers SDL.h SDL_Init $sdl2_extralibs $sdl2_cflags && enable sdl2 fi if test $target_os = "mingw32"; then