Hi,
In porting android to our A8 cortext based board, we have enabled TLS.
This works fine with bionic in general, however, it seems to cause
problems with gdbserver.
Looking at the gdbserver source, it tries to get an address for
td_thr_tls_get_addr, which is not implemented in bionics thread-db library.
Can anyone tell me if google are planning on adding support for this to
their thread-db library, or give me hints on how to implement this myself?
When I last looked at this a while ago (cant remember where in the
source I saw it), it looked like bionic (specifically the linker)
assumed a set format and address for the TLS area, which may not be
compatible with glibc (presumably what gdbserver is targetting).
Certainly the function to get the TLS address i seem to remember just
used a macro which gave a known address plus and offset for the TLS
address. Does anyone know if just implementing the function that gdb
expects to just call the tls address macro (cant remember the name off
hand) would work, or would the TLS structure in memory be incompatible
with gdb.
The only other alternative would be for us to disable TLS support, which
other manufacturers seem to do. Can someone comment on why TLS is not
gernerally enabled?
Thanks
Bob
--
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting