Commit graph

1469 commits

Author SHA1 Message Date
JP Abgrall
771600415f am 3884bfe9: libc: popen: work around data corruption
* commit '3884bfe9661955543ce203c60f9225bbdf33f6bb':
  libc: popen: work around data corruption
2011-09-17 16:32:00 -07:00
JP Abgrall
3884bfe966 libc: popen: work around data corruption
vfork() would not save the registers that the parent would expect
to have restored after execl() completed.
Specially that execl() would call execve() underneath, further messing
up the stack of the parent.
To avoid that, we fork() for now. Later we will revisit and cleanup
vfork()+execve() to actually have vfork() store all the register
that the parent expects to see, and not those left by execve().

In the original code, looking at the registers just before the call to
popen(), and after the call showed that r7 would get clobbered.
This would leave the caller with an invalid pointer, leading to all
kinds of data corruptions.
execve() is simpler that execl() in this case.


Bug: 5336252
Change-Id: I3bf718c0bb4c0439f6f2753f153cdea14175be9c
2011-09-17 15:22:21 -07:00
Glenn Kasten
d53cae0e45 Add non-NDK internal API __pthread_gettid
Tracking bugs 5267571 and 5090073 (for deadlock detection logs).

Change-Id: Icb90f91ec1525607551c2234ef921bf88296484f
2011-09-16 12:38:28 -07:00
Erik Gilling
b8ef90d679 update linux/fb.h
Change-Id: Ib00343e3b6f95eaf3d347d4b8b9df950d0686e70
Signed-off-by: Erik Gilling <konkers@android.com>
2011-09-14 11:20:23 -07:00
Elliott Hughes
5da3ed177c Merge "Update to tzdata2011j." 2011-09-12 11:19:51 -07:00
Elliott Hughes
6ea19d7815 Update to tzdata2011j.
Affects Samoa, Kenya, Uganda, and Tanzania.

Change-Id: Ibee638d415d4f0389ff27ea1c9c481543e181f1f
2011-09-12 10:28:11 -07:00
Erik Gilling
763230ae55 update kernel video/dsscomp.h
Change-Id: Ifc4f96e3a9c3435c0b0ee80ac9da295b4e9463a1
Signed-off-by: Erik Gilling <konkers@android.com>
2011-09-07 12:53:22 -07:00
Robert Greenwalt
7f84da69f8 Add some logging of dns cache operations
Added info about what entries are getting flushed due to ttl or size limits.

Change-Id: I69fb70ce23b5b820f5f1a5738c0f1aa57b6a1127
2011-09-02 07:44:36 -07:00
David 'Digit' Turner
96e5faccdc am 91966c30: am 0acdbe08: am 89ea107d: Merge "linker: allow debugging of constructors"
* commit '91966c30efbdc7feecd6c45a46ab488e715c0a35':
  linker: allow debugging of constructors
2011-08-30 09:50:54 -07:00
David 'Digit' Turner
09b36dc7a9 am 35aebd36: am c7f5c8e2: am 0f7d9df1: Merge "libc: fix typo in kernel helper script"
* commit '35aebd36c771f32656996b02595fad8953f29916':
  libc: fix typo in kernel helper script
2011-08-30 09:50:52 -07:00
David 'Digit' Turner
91966c30ef am 0acdbe08: am 89ea107d: Merge "linker: allow debugging of constructors"
* commit '0acdbe0892105d01a38de9baf4e34eef22b8259c':
  linker: allow debugging of constructors
2011-08-29 18:01:05 -07:00
David 'Digit' Turner
35aebd36c7 am c7f5c8e2: am 0f7d9df1: Merge "libc: fix typo in kernel helper script"
* commit 'c7f5c8e2703c1dbeabe54d408b8819f97ef623f3':
  libc: fix typo in kernel helper script
2011-08-29 18:01:04 -07:00
David 'Digit' Turner
0acdbe0892 am 89ea107d: Merge "linker: allow debugging of constructors"
* commit '89ea107de51baaccb7ada150d1192b80c6faa642':
  linker: allow debugging of constructors
2011-08-29 17:57:59 -07:00
David 'Digit' Turner
c7f5c8e270 am 0f7d9df1: Merge "libc: fix typo in kernel helper script"
* commit '0f7d9df17f2f5a355b1b799a70219c18587482a6':
  libc: fix typo in kernel helper script
2011-08-29 17:57:57 -07:00
Nick Kralevich
38bccb271f linker.h: don't change the soinfo structure
In 48527c3f74, we modified the soinfo
structure to remove an unnecessary variable. However, third party
programs seem to be relying on the structure not changing.
Add a dummy variable back into place to preserve structure.

Bug: 5064106

Change-Id: I3014dda1a46e624644b09e156c3e9381ba3729bd
2011-08-29 13:52:18 -07:00
Elliott Hughes
b0bbbff606 Update to tzdata2011i.
Affects South Sudan (Africa/Juba), Samoa, Europe/Kalingrad, Newfoundland,
America/Resolute, Metlakatla, America/Honolulu, America/Goose_Bay and
America/St_Johns.

Change-Id: I8e60a7c7ba5ab71eedcc66937443a9e6993accd6
2011-08-29 08:58:09 -07:00
David 'Digit' Turner
89ea107de5 Merge "linker: allow debugging of constructors" 2011-08-29 04:33:07 -07:00
David 'Digit' Turner
0f7d9df17f Merge "libc: fix typo in kernel helper script" 2011-08-28 00:33:42 -07:00
David 'Digit' Turner
669c823f05 libc: fix typo in kernel helper script
Change-Id: I3b75b1323cf7a48cb839dede1552f24711847335
2011-08-27 18:32:19 +02:00
David 'Digit' Turner
e5ea45547e linker: allow debugging of constructors
This patch allows the debugging of constructors in shared
libraries and executables. It does so by ensuring that the
corresponding binary is visible to gdb before running the
constructors.

Change-Id: I0a3df726a04ad109944c834dcbba672b85d3991e
2011-08-27 10:21:01 +02:00
Erik Gilling
4f3465240a Merge "update video/dsscomp.h" 2011-08-24 15:01:13 -07:00
Erik Gilling
9749753889 update video/dsscomp.h
Change-Id: If4bd1d751b30ad2e65c0bd83caba436334949463
Signed-off-by: Erik Gilling <konkers@android.com>
2011-08-24 13:33:13 -07:00
Mike Lockwood
0b33d9982e Add linux/leds-an30259a.h
Change-Id: I9144b58bdc522d6ec22466adc459a40be648592f
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-08-23 10:29:30 -04:00
David 'Digit' Turner
58246b7067 libc: Add __aeabi_f2uiz to libgcc_compat.c
This patch ensure that __aeabi_f2uiz is embedded in our C library.
This is needed to avoid breaking certain applications when they are
loaded in ICS. It is likely that the issue is due to mis-linked
binaries generated with the stand-alone toolchain (the problem
should not exist if you use ndk-build), but this fix is easier
than asking all app developers to fix their custom build system.

If you want more technical details, read the comments inside
libgcc_compat.c

Change-Id: I59ac1fc781ecb70b90b5573c5a3c67560ca8f270
2011-08-22 19:53:10 +02:00
Jing Yu
d50225ad20 Disable sincos optimization for sincos calls.
sincos() functions would be turned into infinite calls to
itself if sincos optimization is applied to itself. See
gcc bugzilla http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46926

arm-linux-androideabi-4.4.3 toolchain does not have this problem
because sincos optimization is entirely disabled. Starting
from arm-linux-androideabi-4.6 toolchain, we enable sincos optimization
in gcc.

This patch simply enforce -O0 on this function to minimize the
change.

Change-Id: I0fc00b5f1dd71c0a024943bdedfed29b0d195e82
2011-08-17 10:29:41 -07:00
David Turner
6dcf0d73a6 am 3dc94305: am 17a40ffb: am c57fd963: Merge "NDK: x86 header file has incorrect definition for ptrdiff_t"
* commit '3dc94305e4eb243747248b43954c499ddc96638d':
  NDK: x86 header file has incorrect definition for ptrdiff_t
2011-08-09 13:37:30 -07:00
David Turner
3afafd46f3 am 951e8381: am 3906a9c1: am f5aa1382: Merge "x86 libc: Fix the range to check the error"
* commit '951e8381916464243c7601fdb41e941811aa3773':
  x86 libc: Fix the range to check the error
2011-08-09 13:37:21 -07:00
Andy McFadden
8363448fb5 Merge "Log signal info at time of receipt" 2011-08-05 15:02:50 -07:00
David Turner
3dc94305e4 am 17a40ffb: am c57fd963: Merge "NDK: x86 header file has incorrect definition for ptrdiff_t"
* commit '17a40ffbf0e12ee44a024a9bb37434388478b478':
  NDK: x86 header file has incorrect definition for ptrdiff_t
2011-08-05 09:42:57 -07:00
David Turner
17a40ffbf0 am c57fd963: Merge "NDK: x86 header file has incorrect definition for ptrdiff_t"
* commit 'c57fd963817afa8894af49d6c98a80d8f9100937':
  NDK: x86 header file has incorrect definition for ptrdiff_t
2011-08-05 09:41:22 -07:00
David Turner
c57fd96381 Merge "NDK: x86 header file has incorrect definition for ptrdiff_t" 2011-08-05 09:23:29 -07:00
Mark D Horn
c3c0e88bed NDK: x86 header file has incorrect definition for ptrdiff_t
See Bug http://code.google.com/p/android/issues/detail?id=19042

Change-Id: I8e975930e7f8c3c437ecdffbc6f6bc5028937829
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2011-08-05 08:34:17 -07:00
David Turner
951e838191 am 3906a9c1: am f5aa1382: Merge "x86 libc: Fix the range to check the error"
* commit '3906a9c16b971c2689e1b8ae5455feec8cf7353c':
  x86 libc: Fix the range to check the error
2011-08-05 08:25:35 -07:00
David Turner
3906a9c16b am f5aa1382: Merge "x86 libc: Fix the range to check the error"
* commit 'f5aa1382ec7592c58827ed0822c77cb5bf8df165':
  x86 libc: Fix the range to check the error
2011-08-05 08:24:22 -07:00
David Turner
f5aa1382ec Merge "x86 libc: Fix the range to check the error" 2011-08-05 08:08:57 -07:00
Iliyan Malchev
5598077d35 bionic: update sanitized kernel header dsscomp.h
Change-Id: I3d52beb97efd23000b76131b6049978546571754
Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-08-04 17:10:53 -07:00
Andy McFadden
ec92af8fe5 Log signal info at time of receipt
When a fatal signal is received, we now write a message to the log
that looks like this:

  F/libc    ( 1540): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1)

This is useful for debugging fatal signals that turn out not to be
fatal.  This also changes the signal reset from SIG_IGN to SIG_DFL,
so that future non-fatal fatal signals are fatal.

The code that blocked SIGUSR1 to avoid being interrupted by the GC
has been removed.

Also, fix minor issues in format_buffer().

Bug 5035703

Change-Id: I8940af47297b5dcf3cf33537e3483ca5334ed565
2011-08-04 14:48:15 -07:00
David 'Digit' Turner
83eb46c59d am a64990f3: am f03fb955: am 023c4988: Merge "libc: x86: Fixed size_t definition."
* commit 'a64990f3f25c45fcfe79b9b71cf54d7045af0e4f':
  libc: x86: Fixed size_t definition.
2011-08-04 11:17:11 -07:00
David 'Digit' Turner
a64990f3f2 am f03fb955: am 023c4988: Merge "libc: x86: Fixed size_t definition."
* commit 'f03fb955a92bdcc341aaa1b4a6eb2d81bc844e06':
  libc: x86: Fixed size_t definition.
2011-08-04 11:13:10 -07:00
David 'Digit' Turner
f03fb955a9 am 023c4988: Merge "libc: x86: Fixed size_t definition."
* commit '023c49882e247bd0345946c908cff231ebf7097e':
  libc: x86: Fixed size_t definition.
2011-08-04 11:09:34 -07:00
David 'Digit' Turner
023c49882e Merge "libc: x86: Fixed size_t definition." 2011-08-04 11:01:13 -07:00
David 'Digit' Turner
d265046dcc libc: x86: Fixed size_t definition.
This patch changes the declaration of size_t on x86 targets
to test for the __ANDROID__ macro, instead of ANDROID

__ANDROID__ should be a builting toolchain macro, while ANDROID
is usually added manually during the build.

Testing against __ANDROID__ allows us to use the header when
using the NDK's standalone x86 toolchain.

This is related to http://code.google.com/p/android/issues/detail?id=19011
The bug was already fixed in the NDK platform headers, this simply updates
the C library one accordingly.

Change-Id: Ie038c4c8b37b7d24e2e4ae4d7a63371b69c9a51e
2011-08-04 14:07:00 +02:00
Iliyan Malchev
3a5d668e01 bionic: add clean kernel header dsscomp.h
Change-Id: I09a98d0abe8ff4f92058f90ffb80ddc19ccee076
Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-08-03 20:59:19 -07:00
Iliyan Malchev
7b79d1ed88 bionic: add processed kernel header rpmsg_omx.h
Change-Id: Id07ad37dd464d859cebdf72b68e6fb16d5e91c0f
Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-08-03 18:08:35 -07:00
David Turner
ae3c9783f2 am bc9d1fe7: am 4685acbd: am 9efda5b7: Merge "typo in libc/stdio/wcio.h"
* commit 'bc9d1fe7c467d861a2b7c1deafca5589c1bc309e':
  typo in libc/stdio/wcio.h
2011-08-03 17:42:41 -07:00
David Turner
bc9d1fe7c4 am 4685acbd: am 9efda5b7: Merge "typo in libc/stdio/wcio.h"
* commit '4685acbdd45c44e2e21c74242953bee5198209f9':
  typo in libc/stdio/wcio.h
2011-08-03 08:16:37 -07:00
David Turner
4685acbdd4 am 9efda5b7: Merge "typo in libc/stdio/wcio.h"
* commit '9efda5b7d0a2e8d9dc7495680d66085dc0e151f3':
  typo in libc/stdio/wcio.h
2011-08-03 08:14:52 -07:00
David Turner
9efda5b7d0 Merge "typo in libc/stdio/wcio.h" 2011-08-03 08:10:29 -07:00
Robert Greenwalt
5a09973fa5 am 663e0579: am dfec555c: am bcf861f2: Merge "Don\'t call freeaddrinfo with a NULL ptr."
* commit '663e05797f9bb2463217055a2510063ea7977379':
  Don't call freeaddrinfo with a NULL ptr.
2011-07-29 12:30:33 -07:00
Robert Greenwalt
663e05797f am dfec555c: am bcf861f2: Merge "Don\'t call freeaddrinfo with a NULL ptr."
* commit 'dfec555c7f1c25f42be209e9027ee47eabe0a7a4':
  Don't call freeaddrinfo with a NULL ptr.
2011-07-29 11:27:00 -07:00