work-around: the glibc adobe flash incompatibility

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> For those who do not know it yet, recent Fedora glibc updates include
> an optimized memcpy (which gets used on some processors) which breaks the
> 64 bit adobe flash plugin.

For right now (the immediate present) a work-around is to use the 'memmove'
subroutine as the resolution of any reference to the symbol 'memcpy'.
The quick-and-dirty way to do this, is to overwrite with "memmove\0"
the unused {DT_NULL}.d_un field [which is 8 bytes on x86_64] of the
PT_DYNAMIC section, then change the {'memcpy'}.st_name field of the
DT_SYMTAB to designate the overwritten substring.  The PT_DYNAMIC
segment appears after the DT_STRTAB, so the {'memcpy'}.st_name value
[now {'memmove'}.st_name] will be some much larger index than previously.

Another way might be to re-order the DT_NEEDED entries in the PT_DYNAMIC
segment so that "ld-linux.so.2" comes first, lop off the first DT_NEEDED
by increasing the address and decreasing the size by 2*sizeof(void *),
overwriting the "ld-linux.so.2" in the DT_STRTAB with "memmove", then
setting {'memcpy'}.st_name.  ld-linux.so.2 will be there anyway.

-- 
-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux