Commit Graph

1210 Commits

Author SHA1 Message Date
David 'Digit' Turner
d25ea49e63 am b73b6783: Merge "libc: Add logcat error message for memory corruption"
* commit 'b73b6783a595cf4b1cef6463c23317a8b417f1e9':
  libc: Add logcat error message for memory corruption
2011-07-06 07:46:40 -07:00
David 'Digit' Turner
b73b6783a5 Merge "libc: Add logcat error message for memory corruption" 2011-07-05 11:59:42 -07:00
David 'Digit' Turner
7708a89c60 libc: Add logcat error message for memory corruption
Our dlmalloc implementation currently calls abort() when it detects
that the heap is corrupted, or that an invalid pointer is passed to
one of its functions.

The only way to detect this is because abort() will force-fully
crash the current program with a magic fault address of '0xdeadbaad'.

However, this is not really well documented, and a frequent topic
on the android-ndk forum (among others).

This change makes our dlmalloc code dump a simple message to the
log just before the abort() call (and hence before the stack trace)
to better help identify the problem.

Change-Id: Iebf7eb7fe26463ecadfaca8f247d237edb441e3c
2011-07-05 19:53:53 +02:00
repo sync
946f3ad199 resolved conflicts for merge of 2f5c6d2d to honeycomb-plus-aosp
Change-Id: I858210fce4a04531afd9337a098db1dbf2308c2c
2011-06-30 17:28:59 -07:00
Elliott Hughes
2f5c6d2d66 Merge "Update to tzdata2011h." 2011-06-30 17:00:17 -07:00
Elliott Hughes
1ee2cbe919 Update to tzdata2011h.
This includes the Egyptian and Russian DST changes.

(Cherry pick of dd0ffc738e3f956cf4f0ae409cda22595a33f08b.)

Change-Id: Ibf4b6a1f004c997a0b8df66e78f8867425d15dbe
2011-06-30 16:03:23 -07:00
Robert Greenwalt
e0a4b67811 am cc32fbc3: Merge "Add support for a dns cache per interface"
* commit 'cc32fbc3050079aa020ac39afb1c84b5e72737a8':
  Add support for a dns cache per interface
2011-06-23 11:12:19 -07:00
Robert Greenwalt
cc32fbc305 Merge "Add support for a dns cache per interface" 2011-06-23 10:20:38 -07:00
David Turner
c643a4d4c7 am 2be3f09f: Merge "time: Improve C99 compliance"
* commit '2be3f09f2d9b6d35b262f7a6148f51c164bb8cbb':
  time: Improve C99 compliance
2011-06-23 10:01:11 -07:00
David Turner
2be3f09f2d Merge "time: Improve C99 compliance" 2011-06-23 09:10:39 -07:00
David Turner
cd9f1f0b27 am ac56f5ca: Merge "strftime: Use snprintf() instead of sprintf()"
* commit 'ac56f5ca2f4c54ddbd37b033f9465d89542c2cbe':
  strftime: Use snprintf() instead of sprintf()
2011-06-23 06:13:53 -07:00
David Turner
ac56f5ca2f Merge "strftime: Use snprintf() instead of sprintf()" 2011-06-23 06:04:28 -07:00
David Turner
b489666086 am 1c0a0381: Merge "Enable functional DSO object destruction"
* commit '1c0a0381dfb3648ffadef9537ec9383d63d62473':
  Enable functional DSO object destruction
2011-06-23 05:28:13 -07:00
David Turner
1c0a0381df Merge "Enable functional DSO object destruction" 2011-06-23 04:39:04 -07:00
Jim Huang
e6cff939e6 strftime: Use snprintf() instead of sprintf()
Change-Id: I112ac012894eddc96e5f3e77cb87bb300596e3ce
Signed-off-by: Jim Huang <jserv@0xlab.org>
2011-06-23 11:10:32 +08:00
Jim Huang
21edf366ea time: Improve C99 compliance
Quote from Linux Programmer's Manual:
  "If t is non-NULL, the return value is also stored in the memory
   pointed to by t."

Change-Id: I8cb66b67e5f34c536ce2f0db76a6dc337c42ea3f
Signed-off-by: Jim Huang <jserv@0xlab.org>
2011-06-22 16:44:45 +08:00
Bruce Beare
3964084282 Enable functional DSO object destruction
Unfortunately, legacy .so files for ARM don't have a correct crtbegin file.
Consequently, we have to grandfather the old __dso_handle behaviour.
Add some ifdefs for ARM to allow it to use the old code until we can work
out a transition.

Change-Id: I6a28f368267d792c94e1d985d8344023bc632f6f
Author: H.J. Lu <hongjiu.lu@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-06-20 14:44:44 -07:00
David 'Digit' Turner
d0909a874a am 4d9b75a9: Merge "libstdc++: make operator new call abort on failure."
* commit '4d9b75a9b08c19cef81b22f889edba61257fb356':
  libstdc++: make operator new call abort on failure.
2011-06-17 03:22:21 -07:00
David 'Digit' Turner
4d9b75a9b0 Merge "libstdc++: make operator new call abort on failure." 2011-06-17 02:51:58 -07:00
David 'Digit' Turner
7c72513bfa libstdc++: make operator new call abort on failure.
This change ensures that operator new will call abort() in case
of memory allocation failure. Note that due to our usage of memory
overcommit, this can only happen under very rare circumstances
(i.e. trying to allocate memory larger than the larger free range
of virtual address space, or when memory is corrutped in various
ways).

Change-Id: I128b8bf626216e899c22a00f24492cd148a1fc94
2011-06-14 21:58:55 +02:00
Mattias Falk
23d3e6b21b Add support for a dns cache per interface
Initial commit for dns cache per interface.
Added a type that holds a reference to a
cache and name of associated interface,
address of interface, name server(s)
associated with an interface etc.

New functions to set default interface,
address of name servers etc.

Change-Id: Ie991bc5592fd998409853d8bf77d7fe69035dac5
2011-06-08 15:39:29 +02:00
Jean-Baptiste Queru
09dc7fb1b8 am b127b1f2: Merge "libc: enable IPTOS_MINCOST, fixup gethostbyaddr() proto."
* commit 'b127b1f208e67d74a7ee94ad2bd0ffb2fed3af6b':
  libc: enable IPTOS_MINCOST, fixup gethostbyaddr() proto.
2011-06-07 13:24:04 -07:00
Jean-Baptiste Queru
1952c8f430 am e1bd6aa4: Merge "Update netlink-related kernel includes"
* commit 'e1bd6aa4e10e6b05e74d915c52e11a3998217522':
  Update netlink-related kernel includes
2011-06-07 13:24:01 -07:00
Jean-Baptiste Queru
2cc0f8e9b9 am 81ec4e43: Merge "Add icmp6.h and ip6.h files from current NetBSD libc."
* commit '81ec4e437a192189d6abdf32988504c371e52c27':
  Add icmp6.h and ip6.h files from current NetBSD libc.
2011-06-07 13:23:58 -07:00
David 'Digit' Turner
4aa321538a am 2cae7967: Merge "libc: Fix prctl() declaration."
* commit '2cae7967e6049e45eaef71207481b6f8b2456025':
  libc: Fix prctl() declaration.
2011-06-06 12:27:10 -07:00
David Turner
204d1f65db am b2c7e0c1: Merge "x86: Enable -fstack-protector"
* commit 'b2c7e0c18b7ab04cfe306277c79165de0612a2d1':
  x86: Enable -fstack-protector
2011-06-06 11:32:49 -07:00
David Turner
a57270b6ab am 56baceca: Merge "Update X86 Bionic CRT files for unwind/exceptions"
* commit '56baceca024f1cc2a5e8ef8c5e7ba7ea463d1ae2':
  Update X86 Bionic CRT files for unwind/exceptions
2011-06-06 11:32:38 -07:00
Jean-Baptiste Queru
b127b1f208 Merge "libc: enable IPTOS_MINCOST, fixup gethostbyaddr() proto." 2011-06-02 15:31:01 -07:00
JP Abgrall
8a51237407 libc: enable IPTOS_MINCOST, fixup gethostbyaddr() proto.
Make netinet/ip.h have IPTOS_MINCOST which matches what
  kernel/common/linux/ip.h has to say.
Fixup gethostbyaddr() 1st arg to match what man has to say.

Change-Id: Iff9647d4a46ea88b1fc32163eb69bb9b27cdf370
2011-06-02 15:28:16 -07:00
Jean-Baptiste Queru
e1bd6aa4e1 Merge "Update netlink-related kernel includes" 2011-06-02 15:16:48 -07:00
Dmitry Shmidt
b78220573a Update netlink-related kernel includes
Change-Id: I7e41bb168a1036093b598383d663a6a2e036ea42
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-06-02 15:05:34 -07:00
Jean-Baptiste Queru
81ec4e437a Merge "Add icmp6.h and ip6.h files from current NetBSD libc." 2011-06-02 07:49:14 -07:00
Steinar H. Gunderson
c18d76f6ec Add icmp6.h and ip6.h files from current NetBSD libc.
Change-Id: I6b304dfbefaec74c5fb15b216f38d698a55f0642
2011-06-01 11:12:38 -07:00
David 'Digit' Turner
2cae7967e6 Merge "libc: Fix prctl() declaration." 2011-05-25 18:24:51 -07:00
David 'Digit' Turner
b083bb57f5 libc: Fix prctl() declaration.
This change fixes the prctl() declaration to match GLibc, and allow us
to build gcc-4.6 for Android (among other things). Note that this does
not change the source and binary interfaces.

Change-Id: I3900c957f0da8b3548cbe9da8c41d50099dc19d6
2011-05-26 02:46:41 +02:00
David Turner
b2c7e0c18b Merge "x86: Enable -fstack-protector" 2011-05-24 17:43:27 -07:00
David Turner
56baceca02 Merge "Update X86 Bionic CRT files for unwind/exceptions" 2011-05-24 17:26:45 -07:00
Michael I. Gold
5c7384fa79 am 8f7cdff4: am a7f976c9: update linux/tegrafb.h
* commit '8f7cdff45557c937e6c7a7e010dc961feeb60c16':
  update linux/tegrafb.h
2011-05-24 16:48:48 -07:00
Michael I. Gold
8f7cdff455 am a7f976c9: update linux/tegrafb.h
* commit 'a7f976c9de3c20cc8cdde4f3dfeeb48a1a89adb7':
  update linux/tegrafb.h
2011-05-24 16:46:27 -07:00
Bruce Beare
e0b4844a20 x86: Enable -fstack-protector
Change-Id: Ib69514c3afcb4c1f5e5f3f8cd91acfd145a0866c
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-05-24 13:32:14 -07:00
Mark D Horn
dc3bc87b43 Update X86 Bionic CRT files for unwind/exceptions
Several updates to Bionic crt*.o files to implement Linux/x86
stack unwind/exception handling.
Mark __dso_handle as hidden.
Note: Requires complete rebuild due to CRT changes. Google will
need to regenerate and check-in all the prebuilt x86 CRT object
files and libraries which link to them.

Change-Id: I191ce1afb0dee7bbc28dcd9694e5919226dbd070
Signed-off-by: Bruce J Beare <bruce.j.beare@intel.com>
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
Author: Lu, Hongjiu <hongjiu.lu@intel.com>
2011-05-24 13:31:50 -07:00
Michael I. Gold
a7f976c9de update linux/tegrafb.h
Change-Id: I6bccdb7e0eb34fc4ca370458f44ed187ccb67ac8
2011-05-24 13:02:58 -07:00
David 'Digit' Turner
5b07b5de91 am 9062a236: Merge "libc: Fix leak in the DNS thread-specific state."
* commit '9062a2369107eadb2b45973adc3246cba35640e6':
  libc: Fix leak in the DNS thread-specific state.
2011-05-20 15:06:58 -07:00
David 'Digit' Turner
9062a23691 Merge "libc: Fix leak in the DNS thread-specific state." 2011-05-20 14:32:35 -07:00
David 'Digit' Turner
b6cd6816d2 libc: Fix leak in the DNS thread-specific state.
NOTE: This is a back-port from the internal HC branch.

This patch fixes a leak that occurs when creating a new
thread-specific DNS resolver state object.

Essentially, each thread that calls gethostbyname() or getaddrinfo()
at least once will leak a small memory block. Another leak happens
anytime these functions are called after a change of the network
settings.

The leak is insignificant and hard to notice on typical programs.
However, netd tends to create one new thread for each DNS request
it processes, and quickly grows in size after a > 20 hours.

The same problem is seen in other system processes that tend to
create one thread per request too.

The leak occured becasue res_ninit() was called twice when creating
a new thread-specific DNS resolver state in _res_get_thread().

This function could not properly reset an existing thread and was
leaking a memory block.

The patch does two things:

- First, it fixes res_ninit() to prevent any leakage when resetting
  the state of a given res_state instance.

- Second, it modifies the _res_get_thread() implementation to
  make it more explicit, and avoid calling res_ninit() twice
  in a row on first-time creation.

Fix for Bug 4089945, and Bug 4090857

Change-Id: Icde1d4d1dfb9383efdbf38d0658ba915be77942e
2011-05-18 13:48:20 +02:00
David Turner
a9e409a035 am a7a9dddb: Merge "bionic: Add ARM optimized strcmp()"
* commit 'a7a9dddb5dfe783d65fec4d3b0dee9f734345a29':
  bionic: Add ARM optimized strcmp()
2011-05-17 04:47:09 -07:00
David Turner
3f7a3228cd am c5c84c86: Merge "vfscanf: Add support for L type modifier for long long"
* commit 'c5c84c8643250c71bde87541f2b28fc21a9c5cc7':
  vfscanf: Add support for L type modifier for long long
2011-05-17 04:47:06 -07:00
David Turner
a7a9dddb5d Merge "bionic: Add ARM optimized strcmp()" 2011-05-17 04:29:20 -07:00
David Turner
c5c84c8643 Merge "vfscanf: Add support for L type modifier for long long" 2011-05-17 04:07:27 -07:00
David Turner
add0a45a11 am e8f7e30b: Merge "bionic, libthread_db x86 fixes"
* commit 'e8f7e30b05c6ba103d64c1fb3cd5ef2b17be7aab':
  bionic, libthread_db x86 fixes
2011-05-10 17:19:13 -07:00