795 Commits

Author SHA1 Message Date
Robert Greenwalt
dfec555c7f am bcf861f2: Merge "Don\'t call freeaddrinfo with a NULL ptr."
* commit 'bcf861f246bb06ebba2c070af5b3222c5254970d':
  Don't call freeaddrinfo with a NULL ptr.
2011-07-29 10:15:21 -07:00
Robert Greenwalt
92425f097d Don't call freeaddrinfo with a NULL ptr.
bug:5067055
Change-Id: I863dc4760a0aa449ac6298397ed571d8d9287801
2011-07-28 17:21:17 -07:00
Robert Greenwalt
f6fcdb2edd am 28de3e59: Merge "Don\'t reset caches when dns props change."
* commit '28de3e5901fd54208f20e027365d2ba7b7e136b6':
  Don't reset caches when dns props change.
2011-07-20 15:49:50 -07:00
Mattias Falk
bad1686e1f Don't reset caches when dns props change.
This happens too frequently.  We should flush a per-interface cache
when it's dns server addrs changes.

Change-Id: I8a691c96ce9a775160ef55ddb8f755d649041583
2011-07-20 15:09:24 -07:00
David 'Digit' Turner
3a13102637 resolved conflicts for merge of 50a83255 to gingerbread-plus-aosp
Change-Id: Idf1971120bbdd52676f95aa3aa69f62342dc012e
2011-07-11 21:39:14 +02:00
Dragos Tatulea
c4a5e97624 enable support for large files (> 2G)
bionic has an i386 ifdef guard for the O_LARGEFILE flag. The reason for this
is not traceable in the git history, but it's most likely due to some old
toolchain or emulator problem.

Bug Id: 10035

Change-Id: I742ee6e50220276c2cb268d66f89b5655ef689fc
Signed-off-by: Dragos Tatulea <dragos.tatulea@intel.com>
2011-07-09 03:53:45 +02:00
David Turner
57aadbb096 Merge "enable support for large files (> 2G)" 2011-07-08 18:52:49 -07:00
Bruce Beare
afb0167ad9 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-07-07 22:51:43 +02:00
Bruce Beare
a0aec0bd30 x86: Enable -fstack-protector
Change-Id: Iff9e3a3ba0e2d0faa7c6d98154aa5be0cc8a6c50
Orig-Change-Id: Ib69514c3afcb4c1f5e5f3f8cd91acfd145a0866c
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-07-07 22:51:37 +02:00
Mark D Horn
3eb2657855 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: I01c14c19ef7569c9ffed89495cae2a459972c04b
Orig-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-07-07 22:46:16 +02:00
James Rose
3435fc600d bionic, libthread_db x86 fixes
Orig-Change-Id: I3be997f5f1f6a894a3c200d4f325cf3bfd428c66
Author: James Rose <james.rose@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-07-07 22:46:16 +02:00
Bruce Beare
bf29647964 Updated gcc 4.4.3 IA toolchain doesn't require the .ctors list
Orig-Change-Id: Ia840a19a45257128eccdcf25d105f500f2d90741
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-07-07 22:46:16 +02:00
Bruce Beare
b1dd939e90 Remove an extra register move.
Orig-Change-Id: I63c217b73203b44b1a2e74950b58f2ec12989cab
Author: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-07-07 22:46:16 +02:00
Bruce Beare
e0bdf2c3e2 Replace __atomic_XXX with GCC __sync_XXX intrinsics.
Orig-Change-Id: I14f275392fcd70cc15e307470e0a099777c7c09e
Author: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-07-07 22:46:16 +02:00
Bruce Beare
84f8b3ad9c use consistent guards for off_t and size_t defines for IA
Orig-Change-Id: I9347ab4407c48c71c99f42583523ebe31a5e67ae
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-07-07 22:46:16 +02:00
Bruce Beare
4711f8faa8 Simplify variable typing for IA builds
Orig-Change-Id: I3f080b34360bfade0dbd5e2d8d0365e049162e4c
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-07-07 22:46:15 +02:00
Bruce Beare
e5705524e2 sigsetmask.c was not processing the "mask" argument.
Orig-Change-Id: I79b898ea5b882e8c0564e25466e827a9bedda6e8
Author: yhe19 <yunan.he@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-07-07 22:46:15 +02:00
Bruce Beare
074af91700 Add defines for CAIF support
Orig-Change-Id: I32d2e02814f1965ebdcecb804e947ff303dbe230
Author: Mark Gross <mark.gross@intel.com>
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
2011-07-07 22:46:15 +02:00
Bruce Beare
832a86eaba Update ATOM string routines to latest
Orig-Change-Id: I22a600e7f172681cfd38ff73a64e3fd07b284959
Signed-off-by: Lu, Hongjiu <hongjiu.lu@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-07-07 22:46:15 +02:00
Bruce Beare
88bb394c0d Fix undefined reference to dl_iterate_phdr for x86
Orig-Change-Id: I22410b27939e8f54da932d7a1104102550c4685f
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
2011-07-07 22:46:15 +02:00
Bruce Beare
0bbcbf0d57 Fix missing NL
Orig-Change-Id: Ic210fe9f740b9a8235a66d479ad4eddc869998bb
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
2011-07-07 22:46:15 +02:00
Bruce Beare
0f2dc2b60c ptrace.c Fix source file format to unix from dos
Orig-Change-Id: Ia771b457eec7f9575d4631fb1c12a7062ebcc7de
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-07-07 22:46:15 +02:00
David 'Digit' Turner
c51871d4b2 Really fix the build.
libcutils/mspace.c includes libc/bionic/dlmalloc.c, we need to
take care of the fact that any internal C library function cannot
be used from it.

Change-Id: I0bc81ae090b7ac2d464f26b97fc6b94a08cdad9c
2011-07-06 19:02:15 +02:00
David 'Digit' Turner
a4824467c3 Fix broken build
Change-Id: Ia46b50aec51a55434c8828a73e07f4732f8f6c1c
2011-07-06 17:54:35 +02: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
Dragos Tatulea
0e1723e684 enable support for large files (> 2G)
bionic has an i386 ifdef guard for the O_LARGEFILE flag. The reason for this
is not traceable in the git history, but it's most likely due to some old
toolchain or emulator problem.

Bug Id: 10035

Change-Id: I742ee6e50220276c2cb268d66f89b5655ef689fc
Signed-off-by: Dragos Tatulea <dragos.tatulea@intel.com>
2011-07-05 15:36:43 +03: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
cc32fbc305 Merge "Add support for a dns cache per interface" 2011-06-23 10:20:38 -07:00
David Turner
2be3f09f2d Merge "time: Improve C99 compliance" 2011-06-23 09:10:39 -07:00
David Turner
ac56f5ca2f Merge "strftime: Use snprintf() instead of sprintf()" 2011-06-23 06:04:28 -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
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
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
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
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
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
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
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
e8f7e30b05 Merge "bionic, libthread_db x86 fixes" 2011-05-09 08:03:51 -07:00
Chris Fries
712e4f81e0 vfscanf: Add support for L type modifier for long long
scanf()'s man page suggests support for %Ld, (and ioux).
Implement this so that 3rd party code will work correctly.

Change-Id: Idce9d266071cb688ca71429395a2d9edf6813595
2011-05-05 11:02:33 -05:00
Brian Carlstrom
be7f5da0bd Tracking change to dns proxy protocol
The gethostbyaddr code in system/netd now expects a string address
from inet_ntop, not raw bytes, in order to properly pass addresses
containing null and probably spaces and newlines characeters as well.

Bug: 4344448
Change-Id: I8ec0eab94d5b1d38e9269ba3afb2825e946f8df3
2011-04-29 16:43:16 -07:00
Bruce Beare
8e551a6319 bionic, libthread_db x86 fixes
Change-Id: I3be997f5f1f6a894a3c200d4f325cf3bfd428c66
Author: James Rose <james.rose@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-04-27 09:12:58 -07:00
Jim Huang
f50e9be593 bionic: Add ARM optimized strcmp()
Reference results of the experiments on TI OMAP3430 at 600 MHz

$ bench_strcmp -N "strcmp_1k" -s 1k -I 200

[original C code]
             prc thr   usecs/call      samples   errors cnt/samp     size
strcmp_1k      1   1     10.38000          102        0    15000     1024

[ARM optimized code]
             prc thr   usecs/call      samples   errors cnt/samp     size
strcmp_1k      1   1      3.08840           88        0    15000     1024

The work was derived from ARM Ltd, contributed to newlib, and reworked
for Android by Linaro.

Change-Id: Ib0d5755e1eb9adb07d80ef0252f57a5c4c57a425
Signed-off-by: Jim Huang <jserv@0xlab.org>
2011-04-20 15:39:43 +08:00
Brad Fitzpatrick
9b6e8af699 am 3ef36b21: Merge "Use system property to set dns cache size"
* commit '3ef36b2115d0802e668e325b59af6ef14d999e71':
  Use system property to set dns cache size
2011-04-11 15:35:44 -07:00