|
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.