Commit graph

770 commits

Author SHA1 Message Date
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
Brad Fitzpatrick
3ef36b2115 Merge "Use system property to set dns cache size" 2011-04-11 09:42:30 -07:00
David Turner
aad685ce00 am 4c090434: Merge "removing shadowing redeclaration of result"
* commit '4c090434a4fcffb3a8bb7ebee7cc6e52befceeae':
  removing shadowing redeclaration of result
2011-04-05 07:35:09 -07:00
David Turner
2b10d912cc am fcee105b: Merge "x86 libc: fix the wrong return value of syscall"
* commit 'fcee105b2baca9eb338e89ecc9ba99e15dd31e78':
  x86 libc: fix the wrong return value of syscall
2011-04-05 07:35:07 -07:00
David Turner
4c090434a4 Merge "removing shadowing redeclaration of result" 2011-04-05 07:14:28 -07:00
Kan-Ru Chen
8488efaa09 x86 libc: fix the wrong return value of syscall
According to Intel ABI spec, there is no need to save %eax, %ecx, %edx
on the stack. Worse, popping %eax will wipe out the return value.

Change-Id: Ida536c3b98174b8deef88f8f3b9352eaaeb7c0c0
2011-03-29 13:16:42 +08:00
David 'Digit' Turner
8c6b848e43 am 0e47a919: Merge "libc: <sys/cdefs.h>: Fix the use of __STDC_VERSION__ from C++"
* commit '0e47a919f413ff14a540a0dbad873ee8f834b210':
  libc: <sys/cdefs.h>: Fix the use of __STDC_VERSION__ from C++
2011-03-25 08:51:56 -07:00
Christopher Schwardt
0f5587097b removing shadowing redeclaration of result
Change-Id: Ic1f86962dfb8620cf5c63ff4913b2f0bf908abb5
2011-03-22 15:35:40 +01:00
David 'Digit' Turner
8eda21baa5 libc: <sys/cdefs.h>: Fix the use of __STDC_VERSION__ from C++
See http://code.google.com/p/android/issues/detail?id=14627 for context.

Change-Id: Idb10b675667d0d6e64dcb1d382be11e45aa6f4c4
2011-03-22 14:22:32 +01:00
Brad Fitzpatrick
c59b248241 am 5a6f593b: Merge "Use sigemptyset to initialise sigset_t values. sigset_t may not be implemented as an integral type."
* commit '5a6f593b6197b96f980d9d45f9a981ef8705caf4':
  Use sigemptyset to initialise sigset_t values. sigset_t may not be implemented as an integral type.
2011-03-16 11:41:24 -07:00
Brad Fitzpatrick
5a6f593b61 Merge "Use sigemptyset to initialise sigset_t values. sigset_t may not be implemented as an integral type." 2011-03-16 11:15:37 -07:00
Mike Lockwood
c8fe4add6d am 3f14ff34: DO NOT MERGE: Update USB accessory kernel header to include serial number support
* commit '3f14ff34dfbd00fcffb18b10a1a3e17e2cc5ebdf':
  DO NOT MERGE: Update USB accessory kernel header to include serial number support
2011-03-15 14:49:22 -07:00
Mike Lockwood
3f14ff34df DO NOT MERGE: Update USB accessory kernel header to include serial number support
Change-Id: I61d889b107bd5e052ebac393883b87dac730ea6a
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-14 19:16:28 -04:00
Mike Lockwood
78befc1211 am 6139fa33: DO NOT MERGE: linux/usb/f_accessory.h: Update USB accessory kernel header
* commit '6139fa33ab823e935471fa71bba4c6f715ad6c56':
  DO NOT MERGE: linux/usb/f_accessory.h: Update USB accessory kernel header
2011-03-14 13:35:03 -07:00
Chris Dearman
c1519a52ef Use sigemptyset to initialise sigset_t values.
sigset_t may not be implemented as an integral type.

Change-Id: I3f5ec86d6383685979d8d23ef508b6c609569b38
Signed-off-by: Raghu Gandham <raghu@mips.com>
2011-03-14 12:15:22 -07:00
Brad Fitzpatrick
08a4ce983b am 0c398985: Merge "[ENDIAN] Build md5 code correctly for bigendian targets"
* commit '0c3989854fa3ea3ffb4152c013f68f2a21a52dc1':
  [ENDIAN] Build md5 code correctly for bigendian targets
2011-03-14 10:52:05 -07:00
Brad Fitzpatrick
0c3989854f Merge "[ENDIAN] Build md5 code correctly for bigendian targets" 2011-03-14 10:39:10 -07:00
Mike Lockwood
6139fa33ab DO NOT MERGE: linux/usb/f_accessory.h: Update USB accessory kernel header
For bugs b/4079236, b/4073248 and b/4080288

Change-Id: Id9cdbe95d7dd892bf38e16e7da505ee0eae26b99
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-11 19:02:16 -05:00
David 'Digit' Turner
638608b11a am da8ea213: Merge "libc: <stdint.h>: Don\'t make __STD_CONSTANT_MACROS available if only __STD_LIMIT_MACROS is defined."
* commit 'da8ea213abb8bec08da37622179061630bd8e2f8':
  libc: <stdint.h>: Don't make __STD_CONSTANT_MACROS available if only __STD_LIMIT_MACROS is defined.
2011-03-11 11:13:45 -08:00
David 'Digit' Turner
b299039d06 am e6e2ba1d: Merge "libc: <pthread.h>: Replace \'#if __cplusplus\' by \'#ifdef __cplusplus\'"
* commit 'e6e2ba1d40241c85de16d75cbd397cc3670d7535':
  libc: <pthread.h>: Replace '#if __cplusplus' by '#ifdef __cplusplus'
2011-03-11 11:12:11 -08:00
David 'Digit' Turner
da8ea213ab Merge "libc: <stdint.h>: Don't make __STD_CONSTANT_MACROS available if only __STD_LIMIT_MACROS is defined." 2011-03-11 09:32:33 -08:00
David 'Digit' Turner
847b183f63 libc: <pthread.h>: Replace '#if __cplusplus' by '#ifdef __cplusplus'
See http://code.google.com/p/android/issues/detail?id=15221

Change-Id: Ia7b6668c28737810d6c4941604c6adf232a27c61
2011-03-11 14:51:19 +01:00
David 'Digit' Turner
8b3cea6732 libc: <stdint.h>: Don't make __STD_CONSTANT_MACROS available if only __STD_LIMIT_MACROS is defined.
Change-Id: I8b0ea266eab9c6f75d8407b704953ecaef948221
2011-03-11 14:39:05 +01:00
David 'Digit' Turner
0d6bbc7af0 am dfe6eda5: Merge "libc: <stdint.h>: fix typo in INTMAX_C()/UINTMAX_C() definition"
* commit 'dfe6eda57e1e463427f941d5d71f8ccb5297d6d2':
  libc: <stdint.h>: fix typo in INTMAX_C()/UINTMAX_C() definition
2011-03-10 12:14:51 -08:00
David 'Digit' Turner
0b73dac8aa am d6722bdd: Merge "libc: <stdint.h>: Proper C++"
* commit 'd6722bdd201e2747c55ec7255db7f1d5864ccdd3':
  libc: <stdint.h>: Proper C++
2011-03-10 12:11:41 -08:00
David 'Digit' Turner
0e5411b4ba libc: <stdint.h>: fix typo in INTMAX_C()/UINTMAX_C() definition
Change-Id: I3c74269901a288c448734dd7eb442a62b9348db8
2011-03-10 20:35:17 +01:00