Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160219113059.142ce855@ncopa-desktop.alpinelinux.org>
Date: Fri, 19 Feb 2016 11:30:59 +0100
From: Natanael Copa <ncopa@...inelinux.org>
To: Rich Felker <dalias@...c.org>
Cc: musl@...ts.openwall.com
Subject: Re: netflix support (WAS: Open/pending issues as of Jan 17)

On Fri, 29 Jan 2016 13:19:28 -0500
Rich Felker <dalias@...c.org> wrote:

> On Fri, Jan 29, 2016 at 08:54:49AM +0100, Natanael Copa wrote:
> > An unrelated feature request: it would be nice to get netflix working
> > with the closed source libwidevinecdm.so and libwidevinecdmadapter.so 
> > 
> > ncopa-desktop:~$ ldd /usr/lib/chromium/libwidevinecdmadapter.so 
> > 	ldd (0x723cd632b000)
> > 	libwidevinecdm.so => /usr/lib/chromium/libwidevinecdm.so (0x723cd5ba2000)
> > 	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x723cd5852000)
> > 	libpthread.so.0 => ldd (0x723cd632b000)
> > 	libc.so.6 => ldd (0x723cd632b000)
> > 	libm.so.6 => ldd (0x723cd632b000)
> > 	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x723cd563f000)
> > Error relocating /usr/lib/chromium/libwidevinecdm.so: __memcpy_chk: symbol not found
> > Error relocating /usr/lib/chromium/libwidevinecdm.so: __memset_chk: symbol not found
> > Error relocating /usr/lib/chromium/libwidevinecdm.so: __sprintf_chk: symbol not found
> > 
> > 
> > Adding those symbols for libc6 ABI compat would be a first step.  
> 
> This is on the roadmap, and there's a pending patch on the list, but
> it still needs some changes before it's ready to commit.
> 
> Are you aware of anything else blocking support for these libs?

I don't know.

> It might be worth doing a symbol listing and checking it against
> functions that might have glibc extensions we don't support or the
> minor ABI mismatches (non-*64 funcs for 32-bit, or regexec regoff_t
> for 64-bit).

I suppose strerror_r also belongs to the incompat function list.

Looks like there are a open64 and fopen64 atleast. But I suppose 64bit
should work.


ncopa-desktop:~$ nm -D /usr/lib/chromium/libwidevinecdm*.so

/usr/lib/chromium/libwidevinecdm.so:
000000000004e090 T CreateCdmInstance
000000000004e070 T DeinitializeCdmModule
000000000004e130 T GetCdmVersion
000000000004e060 T InitializeCdmModule_4
                 w _Jv_RegisterClasses
                 U _Unwind_Resume
                 U _ZNKSs4dataEv
                 U _ZNKSs4sizeEv
                 U _ZNKSs5c_strEv
                 U _ZNKSs5emptyEv
                 U _ZNKSs7_M_iendEv
                 U _ZNKSs7compareEPKc
                 U _ZNKSs7compareERKSs
                 U _ZNKSs8capacityEv
                 U _ZNKSs9_M_ibeginEv
                 U _ZNSaIcEC1Ev
                 U _ZNSaIcED1Ev
                 U _ZNSi4peekEv
                 U _ZNSi4readEPcl
                 U _ZNSi5seekgESt4fposI11__mbstate_tE
                 U _ZNSi5seekgElSt12_Ios_Seekdir
                 U _ZNSi5tellgEv
                 U _ZNSi7putbackEc
                 U _ZNSo5flushEv
                 U _ZNSo5writeEPKcl
                 U _ZNSs12_Alloc_hiderC1EPcRKSaIcE
                 U _ZNSs12_M_leak_hardEv
                 U _ZNSs12_S_empty_repEv
                 U _ZNSs14_M_replace_auxEmmmc
                 U _ZNSs4_Rep10_M_destroyERKSaIcE
                 U _ZNSs4_Rep10_M_refdataEv
                 U _ZNSs4_Rep11_S_terminalE
                 U _ZNSs4_Rep20_S_empty_rep_storageE
                 U _ZNSs4_Rep26_M_set_length_and_sharableEm
                 U _ZNSs4_Rep9_S_createEmmRKSaIcE
                 U _ZNSs5clearEv
                 U _ZNSs6appendEPKc
                 U _ZNSs6appendEPKcm
                 U _ZNSs6appendERKSs
                 U _ZNSs6appendEmc
                 U _ZNSs6assignEPKcm
                 U _ZNSs6assignERKSs
                 U _ZNSs6assignERKSsmm
                 U _ZNSs6insertEmRKSs
                 U _ZNSs6resizeEm
                 U _ZNSs6resizeEmc
                 U _ZNSs7replaceEmmPKcm
                 U _ZNSs7reserveEm
                 U _ZNSs9_M_mutateEmmm
                 U _ZNSs9push_backEc
                 U _ZNSsC1EOSs
                 U _ZNSsC1EPKcRKSaIcE
                 U _ZNSsC1EPKcmRKSaIcE
                 U _ZNSsC1ERKSs
                 U _ZNSsC1EmcRKSaIcE
                 U _ZNSsC1Ev
                 U _ZNSsD1Ev
                 U _ZNSsaSERKSs
                 U _ZNSsixEm
                 U _ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode
                 U _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev
                 U _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev
                 U _ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_
                 U _ZNSt8__detail15_List_node_base7_M_hookEPS0_
                 U _ZNSt8__detail15_List_node_base9_M_unhookEv
                 U _ZNSt8ios_base4InitC1Ev
                 U _ZNSt8ios_base4InitD1Ev
                 U _ZNSt9bad_allocD1Ev
                 U _ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate
                 U _ZNSt9exceptionD2Ev
                 U _ZSt15set_new_handlerPFvvE
                 U _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
                 U _ZSt17__throw_bad_allocv
                 U _ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base
                 U _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base
                 U _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base
                 U _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base
                 U _ZSt18uncaught_exceptionv
                 U _ZSt19__throw_logic_errorPKc
                 U _ZSt20__throw_length_errorPKc
                 U _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_
                 U _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_
                 U _ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_
                 U _ZSt9terminatev
                 U _ZTIPKc
                 U _ZTIPKh
                 U _ZTIPKi
                 U _ZTIPKw
                 U _ZTIPh
                 U _ZTISi
                 U _ZTISo
                 U _ZTISt9bad_alloc
                 U _ZTISt9exception
                 U _ZTIb
                 U _ZTIh
                 U _ZTIi
                 U _ZTIj
                 U _ZTVN10__cxxabiv116__enum_type_infoE
                 U _ZTVN10__cxxabiv117__class_type_infoE
                 U _ZTVN10__cxxabiv119__pointer_type_infoE
                 U _ZTVN10__cxxabiv120__si_class_type_infoE
                 U _ZTVN10__cxxabiv121__vmi_class_type_infoE
                 U _ZTVSt9bad_alloc
                 U _ZTVSt9exception
                 U _ZdaPv
                 U _ZdlPv
                 U _Znam
                 U _Znwm
                 U __ctype_toupper_loc
                 U __cxa_allocate_exception
                 U __cxa_atexit
                 U __cxa_begin_catch
                 U __cxa_call_unexpected
                 U __cxa_end_catch
                 w __cxa_finalize
                 U __cxa_free_exception
                 U __cxa_get_exception_ptr
                 U __cxa_guard_acquire
                 U __cxa_guard_release
                 U __cxa_pure_virtual
                 U __cxa_rethrow
                 U __cxa_throw
                 U __dynamic_cast
                 U __errno_location
                 w __gmon_start__
                 U __gxx_personality_v0
                 U __memcpy_chk
                 U __memset_chk
                 U __sched_cpucount
                 U __sprintf_chk
                 U __stack_chk_fail
                 U __strdup
                 U __strtok_r
0000000000365cec T _fini
0000000000030bb8 T _init
                 U _setjmp
                 U abort
                 U accept
                 U acos
                 U atan
                 U atoi
                 U bind
                 U calloc
                 U ceil
                 U clock
                 U close
                 U connect
                 U cos
                 U exit
                 U exp
                 U exp2
                 U fclose
                 U fflush
                 U fgets
                 U floor
                 U floorf
                 U fopen
                 U fopen64
                 U fprintf
                 U fputc
                 U fputs
                 U fread
                 U free
                 U fseek
                 U ftell
                 U fwrite
                 U getenv
                 U geteuid
                 U gethostbyname
                 U gethostname
                 U getpeername
                 U getservbyname
                 U getsockname
                 U gettimeofday
                 U inet_addr
                 U ioctl
                 U isalpha
                 U ldexp
                 U listen
                 U localtime
                 U log
                 U log10
                 U longjmp
                 U malloc
                 U memalign
                 U memchr
                 U memcmp
                 U memcpy
                 U memmove
                 U memset
                 U open64
                 U pow
                 U printf
                 U pthread_attr_destroy
                 U pthread_attr_init
                 U pthread_attr_setschedpolicy
                 w pthread_cancel
                 U pthread_cond_broadcast
                 U pthread_cond_destroy
                 U pthread_cond_init
                 U pthread_cond_signal
                 U pthread_cond_timedwait
                 U pthread_cond_wait
                 U pthread_create
                 U pthread_getschedparam
                 U pthread_getspecific
                 U pthread_join
                 U pthread_key_create
                 U pthread_key_delete
                 U pthread_mutex_destroy
                 U pthread_mutex_init
                 U pthread_mutex_lock
                 U pthread_mutex_trylock
                 U pthread_mutex_unlock
                 U pthread_mutexattr_destroy
                 U pthread_mutexattr_init
                 U pthread_mutexattr_settype
                 U pthread_once
                 U pthread_setschedparam
                 U pthread_setspecific
                 U qsort
                 U rand
                 U read
                 U readlink
                 U realloc
                 U recv
                 U rint
                 U rintf
                 U round
                 U sched_get_priority_max
                 U sched_get_priority_min
                 U sched_getaffinity
                 U sched_yield
                 U select
                 U sem_destroy
                 U sem_init
                 U sem_post
                 U sem_wait
                 U send
                 U shutdown
                 U signal
                 U sin
                 U sleep
                 U snprintf
                 U socket
                 U sprintf
                 U sqrt
                 U stderr
                 U stdout
                 U strcasecmp
                 U strcat
                 U strcmp
                 U strcpy
                 U strerror
                 U strftime
                 U strlen
                 U strncat
                 U strncmp
                 U strncpy
                 U strrchr
                 U strstr
                 U strtol
                 U sysconf
                 U time
                 U times
                 U tolower
                 U toupper
                 U uname
                 U usleep
                 U vsnprintf
                 U wcstombs

/usr/lib/chromium/libwidevinecdmadapter.so:
                 U CreateCdmInstance
                 U DeinitializeCdmModule
                 U InitializeCdmModule_4
000000000000be90 T PPP_GetInterface
000000000000be10 T PPP_InitializeModule
000000000000be70 T PPP_ShutdownModule
                 w _Jv_RegisterClasses
                 U _ZNKSs4findEcm
                 U _ZNSs12_M_leak_hardEv
                 U _ZNSs4_Rep10_M_destroyERKSaIcE
                 U _ZNSs4_Rep11_S_terminalE
                 U _ZNSs4_Rep20_S_empty_rep_storageE
                 U _ZNSs4swapERSs
                 U _ZNSs6appendEPKcm
                 U _ZNSs6appendERKSs
                 U _ZNSs6appendERKSsmm
                 U _ZNSs6appendEmc
                 U _ZNSs6assignEPKcm
                 U _ZNSs6assignERKSs
                 U _ZNSs6insertEmPKcm
                 U _ZNSs6resizeEmc
                 U _ZNSs7reserveEm
                 U _ZNSsC1EPKcRKSaIcE
                 U _ZNSsC1EPKcmRKSaIcE
                 U _ZNSsC1ERKSs
                 U _ZNSsC1ERKSsmm
0000000000005770 W _ZNSt6vectorIcSaIcEE13_M_assign_auxIPKhEEvT_S5_St20forward_iterator_tag
0000000000006260 W _ZNSt6vectorIcSaIcEE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPcS1_EEEEvS6_T_S7_St20forward_iterator_tag
0000000000005690 W _ZNSt6vectorIcSaIcEE17_M_default_appendEm
000000000000ee60 W _ZNSt6vectorIiSaIiEE13_M_insert_auxIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_
000000000000df90 W _ZNSt6vectorIiSaIiEE17_M_default_appendEm
000000000000cc70 W _ZNSt8_Rb_treeISsSt4pairIKSsPKvESt10_Select1stIS4_ESt4lessISsESaIS4_EE10_M_insert_IS4_EESt17_Rb_tree_iteratorIS4_EPKSt18_Rb_tree_node_baseSG_OT_
000000000000de70 W _ZNSt8_Rb_treeISsSt4pairIKSsPKvESt10_Select1stIS4_ESt4lessISsESaIS4_EE16_M_insert_uniqueIS4_EES0_ISt17_Rb_tree_iteratorIS4_EbEOT_
000000000000dc10 W _ZNSt8_Rb_treeISsSt4pairIKSsPKvESt10_Select1stIS4_ESt4lessISsESaIS4_EE17_M_insert_unique_IS4_EESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EOT_
0000000000005b60 W _ZNSt8_Rb_treeISsSt4pairIKSsPKvESt10_Select1stIS4_ESt4lessISsESaIS4_EE4findERS1_
00000000000055d0 W _ZNSt8_Rb_treeISsSt4pairIKSsPKvESt10_Select1stIS4_ESt4lessISsESaIS4_EE8_M_eraseEPSt13_Rb_tree_nodeIS4_E
000000000000cc70 W _ZNSt8_Rb_treeISsSt4pairIKSsPvESt10_Select1stIS3_ESt4lessISsESaIS3_EE10_M_insert_IS3_EESt17_Rb_tree_iteratorIS3_EPKSt18_Rb_tree_node_baseSF_OT_
000000000000cd30 W _ZNSt8_Rb_treeISsSt4pairIKSsPvESt10_Select1stIS3_ESt4lessISsESaIS3_EE16_M_insert_uniqueIS3_EES0_ISt17_Rb_tree_iteratorIS3_EbEOT_
000000000000ca10 W _ZNSt8_Rb_treeISsSt4pairIKSsPvESt10_Select1stIS3_ESt4lessISsESaIS3_EE17_M_insert_unique_IS3_EESt17_Rb_tree_iteratorIS3_ESt23_Rb_tree_const_iteratorIS3_EOT_
0000000000005b60 W _ZNSt8_Rb_treeISsSt4pairIKSsPvESt10_Select1stIS3_ESt4lessISsESaIS3_EE4findERS1_
00000000000055d0 W _ZNSt8_Rb_treeISsSt4pairIKSsPvESt10_Select1stIS3_ESt4lessISsESaIS3_EE8_M_eraseEPSt13_Rb_tree_nodeIS3_E
0000000000005ed0 W _ZNSt8_Rb_treeISsSt4pairIKSsbESt10_Select1stIS2_ESt4lessISsESaIS2_EE10_M_insert_IS2_EESt17_Rb_tree_iteratorIS2_EPKSt18_Rb_tree_node_baseSE_OT_
0000000000005f90 W _ZNSt8_Rb_treeISsSt4pairIKSsbESt10_Select1stIS2_ESt4lessISsESaIS2_EE16_M_insert_uniqueIS2_EES0_ISt17_Rb_tree_iteratorIS2_EbEOT_
0000000000005c70 W _ZNSt8_Rb_treeISsSt4pairIKSsbESt10_Select1stIS2_ESt4lessISsESaIS2_EE17_M_insert_unique_IS2_EESt17_Rb_tree_iteratorIS2_ESt23_Rb_tree_const_iteratorIS2_EOT_
0000000000005b60 W _ZNSt8_Rb_treeISsSt4pairIKSsbESt10_Select1stIS2_ESt4lessISsESaIS2_EE4findERS1_
00000000000055d0 W _ZNSt8_Rb_treeISsSt4pairIKSsbESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E
                 U _ZNSt8ios_base4InitC1Ev
                 U _ZNSt8ios_base4InitD1Ev
                 U _ZSt17__throw_bad_allocv
                 U _ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base
                 U _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base
                 U _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base
                 U _ZSt20__throw_length_errorPKc
                 U _ZSt20__throw_out_of_rangePKc
                 U _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_
                 U _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_
                 U _ZSt4cout
                 U _ZdaPv
                 U _ZdlPv
                 U _Znam
                 U _Znwm
0000000000014038 A __bss_start
                 U __cxa_atexit
                 w __cxa_finalize
                 U __cxa_pure_virtual
                 w __gmon_start__
                 U __stack_chk_fail
0000000000014038 A _edata
00000000000141f9 A _end
0000000000010f78 T _fini
0000000000003860 T _init
                 U close
                 U memcmp
                 U memcpy
                 U memmove
                 U memset
                 U pthread_attr_init
                 U pthread_attr_setstacksize
                 w pthread_cancel
                 U pthread_create
                 U pthread_join
                 U pthread_mutex_destroy
                 U pthread_mutex_init
                 U pthread_mutex_lock
                 U pthread_mutex_unlock
                 U snprintf
                 U strcmp
                 U strlen
ncopa-desktop:~$ 


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.