Commit Graph

5745 Commits

Author SHA1 Message Date
David 'Digit' Turner
1e40783d9a Fix armv7-user builds by disabling the ARMv7-optimized memcpy.
This is required to work-around some corny bugs in ARMv7 emulation.

The emulation itself is required to run the dex pre-optimization pass
for -user builds.
2009-10-02 19:13:27 -07:00
David 'Digit' Turner
0893d49187 am 7a9e06fa: Merge change I2a7ad975 into eclair
Merge commit '7a9e06fa7e4e533074cde314f25dff3024f34a5d' into eclair-plus-aosp

* commit '7a9e06fa7e4e533074cde314f25dff3024f34a5d':
  Fix ABI breakage in libc.so and libm.so between 1.6 and Eclair.
2009-09-29 15:13:15 -07:00
Android (Google) Code Review
7a9e06fa7e Merge change I2a7ad975 into eclair
* changes:
  Fix ABI breakage in libc.so and libm.so between 1.6 and Eclair.
2009-09-29 18:04:51 -04:00
David 'Digit' Turner
2a7ad97539 Fix ABI breakage in libc.so and libm.so between 1.6 and Eclair.
For a detailed description of the problem and why this fix is
needed, plrease read the comments in libgcc_compat.c
2009-09-29 14:43:38 -07:00
Mathias Agopian
2d77d4dbd6 am ee223d02: NEON optimized memcpy.
Merge commit 'ee223d02d96815c989b62043ff1237b1cd4e14b0' into eclair-plus-aosp

* commit 'ee223d02d96815c989b62043ff1237b1cd4e14b0':
  NEON optimized memcpy.
2009-09-29 13:31:57 -07:00
Mathias Agopian
ee223d02d9 NEON optimized memcpy.
372 MB/s for large transfers, 440 MB/s for smaller ones down to 1KB. 130 MB/s for very small transfers ( < 32 bytes )
Performance is similar with non-congruent buffers.
2009-09-28 19:08:18 -07:00
Shin-ichiro KAWASAKI
10093276e9 added and modified bionic code to support SuperH architecture
modified:   libc/Android.mk
    new files:   libc/arch-sh/bionic/*
    new files:   libc/arch-sh/include/*
2009-09-28 16:11:39 +09:00
David 'Digit' Turner
dfa87a200f am f355096a: Remove NEON optimizations for memcpy
Merge commit 'f355096a64b74c8e869527de55f7e908873e3128' into eclair-plus-aosp

* commit 'f355096a64b74c8e869527de55f7e908873e3128':
  Remove NEON optimizations for memcpy
2009-09-27 07:19:59 -07:00
David 'Digit' Turner
f355096a64 Remove NEON optimizations for memcpy 2009-09-27 07:08:46 -07:00
David 'Digit' Turner
7e5e9f4270 am bc10cd29: Fix a typo that resulted in a crash in the boot sequence
Merge commit 'bc10cd2900cdb7fed077163b6a33e0f8572b2b19' into eclair-plus-aosp

* commit 'bc10cd2900cdb7fed077163b6a33e0f8572b2b19':
  Fix a typo that resulted in a crash in the boot sequence
2009-09-23 16:09:39 -07:00
David 'Digit' Turner
bc10cd2900 Fix a typo that resulted in a crash in the boot sequence 2009-09-23 15:56:50 -07:00
David 'Digit' Turner
9641805419 am d154954f: Merge change 26419 into eclair
Merge commit 'd154954f02691618fdf73a5a97336e64cad37af0' into eclair-plus-aosp

* commit 'd154954f02691618fdf73a5a97336e64cad37af0':
  Add pthread_mutex_lock_timeout_np
2009-09-23 12:20:52 -07:00
Android (Google) Code Review
d154954f02 Merge change 26419 into eclair
* changes:
  Add pthread_mutex_lock_timeout_np
2009-09-23 15:10:02 -04:00
David 'Digit' Turner
7910e39d19 resolved conflicts for merge of 4a05d12c to eclair-plus-aosp 2009-09-22 15:41:36 -07:00
David 'Digit' Turner
3f56b7f65a Add pthread_mutex_lock_timeout_np
This is used to perform a mutex lock for a given amount of
milliseconds before giving up. Using the _np prefix since this
is absolutely not portable.

Also remove a compiler warning in pthread_attr_getstackaddr
2009-09-22 15:17:50 -07:00
David 'Digit' Turner
4a05d12cf5 Fix TLS access for ARMv6 and beyond.
For performance reasons, we don't call the kernel helper. Instead, we directly
access the TLS register on ARMv6 and higher. For ARMv5TE, keep using the hard-coded
address populated by the kernel on each task switch.

NOTE: Since we don't call the kernel helper, this must precisely match your
      kernel configuration. This is controlled by setting the ARCH_ARM_HAVE_TLS_REGISTER
      variable to 'true' in your board configuration file.
2009-09-22 10:03:59 -07:00
Android Code Review
4e30c09e57 Merge change 10538
* changes:
  added syscalls for SuperH which automatically generate by gensyscalls.py
2009-09-20 23:39:18 -07:00
Dima Zavin
7ed086eb99 am 916edf2a: libc: kernel-headers: update msm_mdp.h to include premultiplied alpha
Merge commit '916edf2a3fc60e08a5f29cd322d9f2a04d15cb49' into eclair-plus-aosp

* commit '916edf2a3fc60e08a5f29cd322d9f2a04d15cb49':
  libc: kernel-headers: update msm_mdp.h to include premultiplied alpha
2009-09-20 19:21:11 -07:00
Dima Zavin
916edf2a3f libc: kernel-headers: update msm_mdp.h to include premultiplied alpha
Change-Id: I653d638353d9246287bcf568bbffd0f5dbc64019
Signed-off-by: Dima Zavin <dima@android.com>
2009-09-20 19:11:18 -07:00
Android Code Review
5632aeb838 Merge change 10539
* changes:
  modified kernel headers re-generate tools to support SuperH architecture
2009-09-17 13:43:08 -07:00
Jean-Baptiste Queru
895244b2ab merge from open-source master 2009-09-16 16:21:35 -07:00
vinay harugop
a246a71975 Linux kernel helpers support is provided to android for its TLS implementation. This fix addresses this by modifying
the TLS access functions to use the kernel helper.
This Fix is verified on ST Ericsson's U8500 platform and Submitted on behalf of a third-party:
Surinder-pal SINGH from STMicroelectronics.
2009-09-16 14:38:40 -07:00
Android Code Review
252c576d7e Merge change 11671
* changes:
  Define 64 bit types if compiling with -std=c99
2009-09-15 16:43:44 -07:00
Ben Cheng
b8a18d059b am bd192b47: Add stack unwinding directives to assembly leaf functions.
Merge commit 'bd192b470b69e00e9313680b70c5572a609e535d' into eclair-plus-aosp

* commit 'bd192b470b69e00e9313680b70c5572a609e535d':
  Add stack unwinding directives to assembly leaf functions.
2009-09-15 14:51:10 -07:00
Ben Cheng
bd192b470b Add stack unwinding directives to assembly leaf functions.
So that the real culprit of native crashes can surface in the stack trace.
2009-09-15 13:41:14 -07:00
Jean-Baptiste Queru
cdeb4c8afa merge from open-source master 2009-09-15 07:51:39 -07:00
Matthieu CASTET
a4e67f4512 Remove code duplication for pthread_cond_timeout_np : use __pthread_cond_timedwait_relative helper 2009-09-14 09:19:42 -07:00
Martin Storsjo
c88110e284 Define 64 bit types if compiling with -std=c99
Compiling with -std=c99 defines __STRICT_ANSI__, but the 64 bit types
and type macros should still be defined in this case.

This helps compiling third party code that needs -std=c99 with the NDK.
2009-09-14 16:45:50 +02:00
Iliyan Malchev
664dac1e95 am 82420129: bionic: update processed msm_camera.h
Merge commit '824201294b5f3c3ad6ca9d9751d96f78142c5409' into eclair-plus-aosp

* commit '824201294b5f3c3ad6ca9d9751d96f78142c5409':
  bionic: update processed msm_camera.h
2009-09-11 00:39:49 -07:00
Iliyan Malchev
824201294b bionic: update processed msm_camera.h
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-09-11 00:29:59 -07:00
David 'Digit' Turner
0dfd94cff4 am 4e57cf3f: Merge change 24463 into eclair
Merge commit '4e57cf3f8c0b696f117579c8165b13c8d32b9b5d' into eclair-plus-aosp

* commit '4e57cf3f8c0b696f117579c8165b13c8d32b9b5d':
  Fix an infinite loop in time2sub.
2009-09-09 18:01:11 -07:00
Android (Google) Code Review
4e57cf3f8c Merge change 24463 into eclair
* changes:
  Fix an infinite loop in time2sub.
2009-09-09 20:53:15 -04:00
David 'Digit' Turner
2093d350be Fix an infinite loop in time2sub.
The problem is that time_t is signed, and the original code relied on the
fact that (X + c < X) in case of overflow for c >= 0. Unfortunately, this
condition is only guaranteed by the standard for unsigned arithmetic, and
the gcc 4.4.0 optimizer did completely remove the corresponding test from
the code. This resulted in a missing boundary check, and an infinite loop.

The problem is solved by testing explicitely for TIME_T_MIN and TIME_T_MAX
in the loop that uses this.

Also fix increment_overflow and long_increment_overflow which were buggy
for exactly the same reasons.

Note: a similar fix is needed for system/core/libcutils
2009-09-09 17:45:00 -07:00
Erik Gilling
842cdcd2f6 am 9e74f697: libc: add void to clock() function prototype
Merge commit '9e74f697e0178a0e9b6133a2b270cc7fed9920bf' into eclair-plus-aosp

* commit '9e74f697e0178a0e9b6133a2b270cc7fed9920bf':
  libc: add void to clock() function prototype
2009-09-09 15:13:56 -07:00
Erik Gilling
9e74f697e0 libc: add void to clock() function prototype
Signed-off-by: Erik Gilling <konkers@android.com>
2009-09-09 14:58:19 -07:00
vinay harugop
76ec6891e2 ARM architecture reference manuals for ARMv6 & ARMv7 state that the use of 'swp' instruction is deprecated
ARMv6 onwards. These architectures provide the load-linked, store-conditional pair of ldrex/strex whose use
is recommended in place of 'swp'. Also, the description of the 'swp' instruction in the ARMv6 reference
manual states that the swap operation does not include any memory barrier guarantees.This fix attempts to
address these issues by providing an atomic swap implementation using ldrex/strex under _ARM_HAVE_LDREX_STREX
macro.  This Fix is verified on ST Ericsson's U8500 platform and Submitted on behalf of a third-party:
Surinder-pal SINGH from STMicroelectronics.
2009-09-09 21:01:46 +05:30
David 'Digit' Turner
c0ed422958 am b4423ff7: Merge change 22848 into eclair
Merge commit 'b4423ff7dfd8c97688cbf87ba8ce22f5b54fa89c' into eclair-plus-aosp

* commit 'b4423ff7dfd8c97688cbf87ba8ce22f5b54fa89c':
  Neon-optimized versions of memcpy.
2009-09-02 15:09:19 -07:00
Android (Google) Code Review
b4423ff7df Merge change 22848 into eclair
* changes:
  Neon-optimized versions of memcpy.
2009-09-02 15:06:32 -07:00
David 'Digit' Turner
1bbc56cd22 Neon-optimized versions of memcpy.
This optimization come from the external 0xdroid repository.
Original patch can be found here:

ebafe41c2c
2009-09-02 23:21:52 +02:00
Jean-Baptiste Queru
00fb8b45d9 merge from open-source master 2009-09-01 08:27:42 -07:00
Shin-ichiro KAWASAKI
ce0595d01d modified SYSCALLS.TXT to support SuperH architecture 2009-09-01 19:03:06 +09:00
Chih-Wei Huang
a90528ad34 Include <endian.h> instead of <sys/endian.h>,
since the later doesn't define byte order.
2009-08-31 15:42:09 +08:00
Dima Zavin
2e5bd8f8aa libc: kernel-headers: Add qdsp6 vdec header
Change-Id: Ib6cd13e86cea84c1cc0901dee3e9ef05eb8279cd
Signed-off-by: Dima Zavin <dima@android.com>
2009-08-30 19:17:26 -07:00
Alexey Tarasov
cc05d12716 Changed logging functions in bionic/logd_write.c.
Main differences from original code:
1. now log channel for LOG_ID_MAIN may exist even if LOG_ID_RADIO
   facility failed.
2. __write_to_log_null() now acts as always successful function.
3. it's more simplier to add new logging channels now

ammended commit fixes my typo on line 130
2009-08-25 10:27:26 -07:00
Android Code Review
8f53951b05 Merge change 10749
* changes:
  Make sure size_t is defined before used in strings.h
2009-08-21 11:25:21 -07:00
Android Code Review
f76b577fed Merge change 10757
* changes:
  Add an 's and a . to the bionic/libc README.
2009-08-21 11:24:58 -07:00
Iliyan Malchev
898cc98f3d bionic: add sanitized lightsensor kernel header
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-08-20 16:31:28 -07:00
Dima Zavin
fcb10796ec Update pmem/hw3d/mdp headers
Signed-off-by: Dima Zavin <dima@android.com>
2009-08-19 18:48:57 -07:00
Android (Google) Code Review
ac68b70ed9 Merge change 9642
* changes:
  Don't request IPv6 addresses if AI_ADDRCONFIG is specified and the system has no IPv6 connectivity.
2009-08-08 09:46:30 -07:00
Jean-Baptiste Queru
44ac5d5d93 merge from open-source master 2009-08-07 17:04:35 -07:00
Android Code Review
bb08537104 Merge change 10057
* changes:
  Add mspace_merge_objects
2009-08-07 16:43:33 -07:00
Dima Zavin
81fa6d5f94 libc: add linux/msm_kgsl.h kernel include
Signed-off-by: Dima Zavin <dima@android.com>
2009-08-05 17:56:56 -07:00
Dima Zavin
4c4a9632bd libc: kernel: let clean_header tool take path to kernel originals as argument
Signed-off-by: Dima Zavin <dima@android.com>
2009-08-05 17:56:55 -07:00
Lorenzo Colitti
3d8f4ada56 Don't request IPv6 addresses if AI_ADDRCONFIG is specified and the system has no IPv6 connectivity. 2009-08-04 13:17:03 -07:00
Eric Fischer
d5f72afd49 Fix strftime to use localized month names.
It was using the default locale (capital L) instead of the
current locale (lowercase l).

Bug 2030864
2009-08-03 15:43:18 -07:00
David 'Digit' Turner
9cfb12e6bc am 3773d35e: Make the DNS resolver accept domain names with an underscore.
Merge commit '3773d35eb98e22b5edab4d82fb72bdf86ff80494'

* commit '3773d35eb98e22b5edab4d82fb72bdf86ff80494':
  Make the DNS resolver accept domain names with an underscore.
2009-07-28 15:27:33 -07:00
David 'Digit' Turner
3773d35eb9 Make the DNS resolver accept domain names with an underscore.
More precisely, this accepts domain labels with an underscore in
the middle (i.e. not at the start or the end of the label). This
is needed to perform complex CNAME chain resolution in certain
VPN networks.
2009-07-27 19:19:29 +02:00
Joe LaPenna
1d763d50e7 Add an 's and a . to the bionic/libc README. 2009-07-23 17:41:47 -07:00
Martin Storsjo
70f1280ca9 Make sure size_t is defined before used in strings.h
Otherwise, including strings.h as the first file in a C file yields errors.

This fixes issue 3332.
2009-07-22 11:41:02 +02:00
Andy McFadden
e40fb3d68f am 39f3745c: Restore malloc debug.
Merge commit '39f3745cf30efe38482ffead1c32f4e62f6fe32e'

* commit '39f3745cf30efe38482ffead1c32f4e62f6fe32e':
  Restore malloc debug.
2009-07-21 16:40:00 -07:00
Andy McFadden
39f3745cf3 Restore malloc debug.
Some libc changes were preventing the initialization call from being made.
The basic problem appears to be that libc_init_common.c is only built once,
and it's only built for the non-debug libc.
2009-07-21 15:44:23 -07:00
David 'Digit' Turner
d5b3513cca am b56b5659: Fix the C library runtime initialization order.
Merge commit 'b56b5659b3996e98c2060f168d1cff1474e77d2a'

* commit 'b56b5659b3996e98c2060f168d1cff1474e77d2a':
  Fix the C library runtime initialization order.
2009-07-20 00:13:21 -07:00
David 'Digit' Turner
d63185fd88 am ef0bd185: Pass the elfdata pointer in a slot of the temporary TLS area.
Merge commit 'ef0bd1857041ffde069cf52138aaf22c1af7130e'

* commit 'ef0bd1857041ffde069cf52138aaf22c1af7130e':
  Pass the elfdata pointer in a slot of the temporary TLS area.
2009-07-20 00:12:01 -07:00
David 'Digit' Turner
b56b5659b3 Fix the C library runtime initialization order.
This allows libc.so to run the C runtime initializer as soon as the
dynamic linker loads the shared library, i.e. before any other initializers
(e.g. static C++ constructors in other shared libraries the executable depends
on).

This also removes the bug where the initializers from the executable itself
were run twice: once by the dynamic linker, and another time by __libc_init
as defined by libc_init_dynamic.c
2009-07-18 01:11:10 +02:00
Android (Google) Code Review
a22c04502a Merge change 7652
* changes:
  Updating v4l2 headers from kernel
2009-07-17 15:34:38 -07:00
David 'Digit' Turner
ef0bd18570 Pass the elfdata pointer in a slot of the temporary TLS area.
This is needed to properly initialize the C runtime when libc.so
is loaded by the dynamic linker.

Move the temporary TLS setup before the first system call, just
in case something really horrible happens, we won't crash when
trying to write an error code in 'errno'

Remove the broken TLS_SLOT_THREAD_ID setup. First, this slot
should normally receive the address of a pthread_internal_t,
not a kernel thread identifier. Second, it is never used by
the linker anyway.

Also remove an obsolete comment.
2009-07-17 17:55:01 +02:00
Rebecca Schultz Zavin
09131482e7 Updating v4l2 headers from kernel
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
2009-07-16 18:33:52 -07:00
Android (Google) Code Review
08a85b69b4 Merge change 7610
* changes:
  linux: add headers for lis331dlh and sfh7743 sensor drivers.
2009-07-16 16:20:28 -07:00
Dmitry Shmidt
4553a785e2 Add linux/ethtool.h header file
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2009-07-16 16:03:29 -07:00
Mike Lockwood
bf8947da81 linux: add headers for lis331dlh and sfh7743 sensor drivers.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-07-16 18:53:41 -04:00
Mathias Agopian
b7681167cb allow pthread_mutexattr_setpshared to accept SHARED mutexes, since our current impl actually uses shared mutexes 2009-07-13 22:00:33 -07:00
Mathias Agopian
a2f5e21244 added pthread_cond_timedwait_relative_np() 2009-07-13 18:37:40 -07:00
David 'Digit' Turner
fc8b178759 am db4616b2: Add <linux/uinput.h> to C library kernel headers
Merge commit 'db4616b2d3234a1916cafb48e65c50cf302afcde'

* commit 'db4616b2d3234a1916cafb48e65c50cf302afcde':
  Add <linux/uinput.h> to C library kernel headers
2009-07-09 16:11:43 -07:00
David 'Digit' Turner
db4616b2d3 Add <linux/uinput.h> to C library kernel headers 2009-07-10 00:59:56 +02:00
David 'Digit' Turner
267e23ae99 am c4eee376: Prevent a crash in the memory leak checker (which happened in chk_free())
Merge commit 'c4eee3765bf9dd81ff055e70ff7daa83a3926d2a'

* commit 'c4eee3765bf9dd81ff055e70ff7daa83a3926d2a':
  Prevent a crash in the memory leak checker (which happened in chk_free())
2009-07-09 15:51:54 -07:00
David 'Digit' Turner
c4eee3765b Prevent a crash in the memory leak checker (which happened in chk_free())
Simplify the code a little, removing un-necessary mutex locks/unlocks.
Provide slightly better diagnostic message in case of corruption.
Use snprintf/strlcat instead of sprintf/strcat
2009-07-10 00:32:08 +02:00
Iliyan Malchev
4a1fe7167b bionic: add cleaned-up proximity-sensor header
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-07-08 20:33:12 -07:00
Shin-ichiro KAWASAKI
37429fff41 modified kernel headers re-generate tools to support SuperH architecture 2009-07-01 15:41:52 +09:00
Tony Sim
336efb5267 added syscalls for SuperH which automatically generate by gensyscalls.py 2009-07-01 15:35:27 +09:00
Android (Google) Code Review
bf013b1951 am 380f2498: Merge change 5184 into donut
Merge commit '380f24983e8e33d0b189dda198ec64c1766a359d'

* commit '380f24983e8e33d0b189dda198ec64c1766a359d':
  update clean msm_camera.h
2009-06-24 15:45:01 -07:00
Android (Google) Code Review
380f24983e Merge change 5184 into donut
* changes:
  update clean msm_camera.h
2009-06-24 12:45:35 -07:00
Iliyan Malchev
0711600b05 update clean msm_camera.h
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-06-23 20:08:10 -07:00
Iliyan Malchev
3772217641 delete akm8973.h from original headers
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-06-23 13:52:08 -07:00
Iliyan Malchev
5c3b16c576 add header for akm8973
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-06-22 15:07:34 -07:00
David 'Digit' Turner
fc90c51f72 am 09baf4e8: Add Glibc-compatible macro aliases for the nanosecond time accessors in stat structure
Merge commit '09baf4e881c78e67c7849aa81432ceb34e72e913'

* commit '09baf4e881c78e67c7849aa81432ceb34e72e913':
  Add Glibc-compatible macro aliases for the nanosecond time accessors in stat structure
2009-06-22 09:56:46 -07:00
David 'Digit' Turner
09baf4e881 Add Glibc-compatible macro aliases for the nanosecond time accessors in stat structure 2009-06-22 12:16:06 +02:00
Android (Google) Code Review
4b91ef8348 Merge change 4025
* changes:
  Make IPv6 definitions comply with RFC 3493:  - Add some definitions to netinet/in6.h  - Include netinet/in6.h from netinet/in.h
2009-06-17 15:36:55 -07:00
Lorenzo Colitti
c52c174e41 Make IPv6 definitions comply with RFC 3493:
- Add some definitions to netinet/in6.h
 - Include netinet/in6.h from netinet/in.h
2009-06-16 18:55:37 -07:00
David 'Digit' Turner
5b67764a5a am 9cfccefa: Update cleaned-up kernel headers
Merge commit '9cfccefa055554c7e951741c01373a52a82d3fd6'

* commit '9cfccefa055554c7e951741c01373a52a82d3fd6':
  Update cleaned-up kernel headers
2009-06-16 08:37:54 -07:00
David 'Digit' Turner
9cfccefa05 Update cleaned-up kernel headers 2009-06-16 15:56:06 +02:00
David 'Digit' Turner
2f4ce43033 am 3ddc15e1: Add new clean header for PPP on PPTP (VPN)
Merge commit '3ddc15e10a6f5690e53e729c0da2c42f0eb944d1'

* commit '3ddc15e10a6f5690e53e729c0da2c42f0eb944d1':
  Add new clean header for PPP on PPTP (VPN)
2009-06-14 20:49:29 -07:00
David 'Digit' Turner
3ddc15e10a Add new clean header for PPP on PPTP (VPN) 2009-06-12 14:21:49 +02:00
Iliyan Malchev
040ae31701 am bf8709f5: bionic: update msm_camera.h header
Merge commit 'bf8709f54b1eabbd4e9bb81e91b9385a9863f505'

* commit 'bf8709f54b1eabbd4e9bb81e91b9385a9863f505':
  bionic: update msm_camera.h header
2009-06-04 22:43:23 -07:00
Iliyan Malchev
bf8709f54b bionic: update msm_camera.h header
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-06-04 11:55:53 -07:00
David 'Digit' Turner
f24799580f am 3a654b1e: Revert "Fix the C library initialization to avoid calling static C++ constructors twice."
Merge commit '3a654b1e04d4275ae315cfe1b196998acf10052c'

* commit '3a654b1e04d4275ae315cfe1b196998acf10052c':
  Revert "Fix the C library initialization to avoid calling static C++ constructors twice."
2009-06-03 13:00:20 -07:00
David 'Digit' Turner
3a654b1e04 Revert "Fix the C library initialization to avoid calling static C++ constructors twice."
This reverts commit 03eabfe65e.
2009-06-03 19:32:37 +02:00
David 'Digit' Turner
1b02faeea6 am 03eabfe6: Fix the C library initialization to avoid calling static C++ constructors twice.
Merge commit '03eabfe65e1e2c36f4d26c78a730fa19a3bdada3'

* commit '03eabfe65e1e2c36f4d26c78a730fa19a3bdada3':
  Fix the C library initialization to avoid calling static C++ constructors twice.
2009-06-03 05:44:25 -07:00
Barry Hayes
f30dae9cf4 Add mspace_merge_objects 2009-06-02 14:48:59 -07:00
David 'Digit' Turner
03eabfe65e Fix the C library initialization to avoid calling static C++ constructors twice.
The problem was due to the fact that, in the case of dynamic executables,
the dynamic linker calls the DT_PREINIT_ARRAY, DT_INIT and DT_INIT_ARRAY
constructors when loading shared libraries and dynamic executables,
*before* calling the executable's entry point (i.e. arch-$ARCH/bionic/crtbegin_dynamic.c)
which in turns call __libc_init() in libc.so, as defined by bionic/libc_init_dynamic.c

The latter did call these constructors array again, mistakenly.

The patch also updates the documentation of many related functions.

Also adds a new section to linker/README.TXT explaining restrictions on
C library usage.

The patch has been tested on a Dream for stability issues with
proprietary blobs:

- H264 decoding works
- Camera + Video recording works
- GPS works
- Sensors work

The tests in system/extra/tests/bionic/libc/common/test_static_cpp_mutex.cpp has been
run and shows the static C++ constructor being called only once.
2009-06-02 23:27:44 +02:00
Dima Zavin
e76de9a8ca am 49e55332: libc: Add an intermediate version of the static libc without malloc
Merge commit '49e55332784b82f7112ee7c1ea3c176c9dc32d7a'

* commit '49e55332784b82f7112ee7c1ea3c176c9dc32d7a':
  libc: Add an intermediate version of the static libc without malloc
2009-05-28 12:38:02 -07:00
Dima Zavin
b489245af2 am ca122b0e: libc: Cleanup the libc makefile.
Merge commit 'ca122b0e34df0e8c485be0d3ab1b80f728b76276'

* commit 'ca122b0e34df0e8c485be0d3ab1b80f728b76276':
  libc: Cleanup the libc makefile.
2009-05-28 12:38:00 -07:00
Dima Zavin
49e5533278 libc: Add an intermediate version of the static libc without malloc
For now, this will only used by the dynamic loader to ensure that
malloc and friends are never called.

Signed-off-by: Dima Zavin <dima@android.com>
2009-05-27 20:16:19 -07:00
Dima Zavin
ca122b0e34 libc: Cleanup the libc makefile.
Removes a lot of redundant code, and reorganizes the file. We first
setup all the comomn variables we may need, and then define the
actual libraries that need to be generated.

Signed-off-by: Dima Zavin <dima@android.com>
2009-05-27 20:16:19 -07:00
Android (Google) Code Review
4cab53af77 am cdb68bf8: Merge change 2470 into donut
Merge commit 'cdb68bf8ce26448cfe173d86f1c074e167c3420f'

* commit 'cdb68bf8ce26448cfe173d86f1c074e167c3420f':
  Fix getservent() so that it returns s_port in network byte order.
2009-05-27 03:31:12 -07:00
Android (Google) Code Review
cdb68bf8ce Merge change 2470 into donut
* changes:
  Fix getservent() so that it returns s_port in network byte order. Also add a new document detailing known issues in the C library.
2009-05-27 03:29:35 -07:00
Android (Google) Code Review
1ff2ee440b am 5c106fca: Merge change 1852 into donut
Merge commit '5c106fcaa5b9d0a3ebeb2e8cdca589129d6a7ebd'

* commit '5c106fcaa5b9d0a3ebeb2e8cdca589129d6a7ebd':
  Fix __eabi_atexit() implementation, as well as a bug in the BSD-originated __cxa_finalize() implementation
2009-05-27 01:50:28 -07:00
Android (Google) Code Review
5c106fcaa5 Merge change 1852 into donut
* changes:
  Fix __eabi_atexit() implementation, as well as a bug in the BSD-originated __cxa_finalize() implementation This patch uses "#if ANDROID" instead of "#if 1" in the __cxa_finalize() fix
2009-05-27 01:48:26 -07:00
Iliyan Malchev
b572dc4b51 am 94a144ea: add msm_camera.h header and .gitignore file to bionic
Merge commit '94a144eabd1c7477e77e81e83aa04d43c8a79791'

* commit '94a144eabd1c7477e77e81e83aa04d43c8a79791':
  add msm_camera.h header and .gitignore file to bionic
2009-05-26 17:55:26 -07:00
Iliyan Malchev
bdde630b4a am 1c8e1094: update msm_adsp.h header
Merge commit '1c8e10945eb1ab1352f73c7fb026b99397a8ca70'

* commit '1c8e10945eb1ab1352f73c7fb026b99397a8ca70':
  update msm_adsp.h header
2009-05-26 17:51:49 -07:00
Iliyan Malchev
94a144eabd add msm_camera.h header and .gitignore file to bionic
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-05-26 17:06:24 -07:00
Iliyan Malchev
1c8e10945e update msm_adsp.h header
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-05-26 17:06:21 -07:00
David 'Digit' Turner
2735b33519 Fix getservent() so that it returns s_port in network byte order.
Also add a new document detailing known issues in the C library.
2009-05-27 00:01:11 +02:00
David 'Digit' Turner
38460b45bc am e5446feb: Add <linux/ipsec.h> and <linux/if_pppolac.h> for VPN support.
Merge commit 'e5446feb21a991426fb683d077a1a8ca5831ac0f'

* commit 'e5446feb21a991426fb683d077a1a8ca5831ac0f':
  Add <linux/ipsec.h> and <linux/if_pppolac.h> for VPN support.
2009-05-25 08:36:49 -07:00
David 'Digit' Turner
e5446feb21 Add <linux/ipsec.h> and <linux/if_pppolac.h> for VPN support.
Also update tools/update_all.py to not use perforce add/edit/delete commands automatically now that we're using git
2009-05-20 13:00:10 +02:00
David 'Digit' Turner
0ba91ed3ca Fix __eabi_atexit() implementation, as well as a bug in the BSD-originated __cxa_finalize() implementation
This patch uses "#if ANDROID" instead of "#if 1" in the __cxa_finalize() fix
2009-05-20 11:42:52 +02:00
Eric Fischer
a48fa7f4de Add standalone_months field to libc strftime().
Replicate my change 722a5c0462f38827f4097065bfc3826b9e0e9fb4 into
bionic in an attempt to fix the build.
2009-05-15 13:46:55 -07:00
David 'Digit' Turner
a0508577c9 am d386afcc: revert to previous implementation of __aeabi_atexit() since the new one seems to crash a static ICU String destructor. I don\'t have the time to investigate why right now, so a revert is preferred. Damn...
Merge commit 'd386afcc41e92c96778d9b1a498199f48fa2d4aa'

* commit 'd386afcc41e92c96778d9b1a498199f48fa2d4aa':
  revert to previous implementation of __aeabi_atexit() since the new one seems to crash a static ICU String destructor.
2009-05-14 17:14:08 -07:00
David 'Digit' Turner
d386afcc41 revert to previous implementation of __aeabi_atexit() since the new one seems to crash a static ICU String destructor.
I don't have the time to investigate why right now, so a revert is preferred. Damn...
2009-05-15 02:11:12 +02:00
David 'Digit' Turner
3ccce08bf8 am 3e16f84f: Fix __aeabi_atexit to call __cxa_atexit properly. This function is defined by the C++ ABI for ARM document.
Merge commit '3e16f84fcad103c97a2df4a58948835277043569'

* commit '3e16f84fcad103c97a2df4a58948835277043569':
  Fix __aeabi_atexit to call __cxa_atexit properly. This function is defined by the C++ ABI for ARM document.
2009-05-14 15:39:55 -07:00
David 'Digit' Turner
3e16f84fca Fix __aeabi_atexit to call __cxa_atexit properly. This function is defined by the C++ ABI for ARM document. 2009-05-14 14:25:26 +02:00
David 'Digit' Turner
6c9f88d15c am 5e56370: change getaddrinfo() implementation to match GLibc.
Merge commit '5e563700380eade647f347669ea61dbb0ede9814'

* commit '5e563700380eade647f347669ea61dbb0ede9814':
  change getaddrinfo() implementation to match GLibc.
2009-05-05 07:13:33 -07:00
David 'Digit' Turner
5e56370038 change getaddrinfo() implementation to match GLibc.
the issue is that the BSD implementation doesn't accept a call like:

  getaddrinfo(SERVER_NAME, "9999", NULL, &res);

because if will reject a numerical string in the second parameter if no hints are explicitely
provided. This technically doesn't violate POSIX but might make porting Linux software a bit
difficult. For more details see:

http://groups.google.com/group/android-ndk/browse_thread/thread/818ab9c53f24c87

also comment debugging printf() calls which shouldn't be there.
2009-05-05 15:50:24 +02:00
Android (Google) Code Review
bc89169b5e am 85a01ff: Merge change 57 into donut
Merge commit '85a01ffba337b123436f57eba4daae38c7c90d1e'

* commit '85a01ffba337b123436f57eba4daae38c7c90d1e':
  Add the domain search list for VPN connection.
2009-05-01 23:01:54 -07:00
Android (Google) Code Review
85a01ffba3 Merge change 57 into donut
* changes:
  Add the domain search list for VPN connection.   The current solution is to read the net.dns.search property, and expand the list during the resolve initialization. In the future, we could implement search list per process.
2009-05-01 14:28:28 -07:00
Dave Bort
3707ba5132 am d2c9dcc: libc: Replace a reference to TARGET_BUILD_TYPE with DEBUG_BI
Merge commit 'd2c9dcc9265e66f6432ec39dcc7378b944449e60'

* commit 'd2c9dcc9265e66f6432ec39dcc7378b944449e60':
  libc: Replace a reference to TARGET_BUILD_TYPE with DEBUG_BIONIC_LIBC
2009-04-29 11:02:39 -07:00
Dave Bort
d2c9dcc926 libc: Replace a reference to TARGET_BUILD_TYPE with DEBUG_BIONIC_LIBC
We're soon going to stop using TARGET_BUILD_TYPE==debug to debug
native modules.

Signed-off-by: Dave Bort <dbort@android.com>
2009-04-24 14:13:53 -07:00
Chung-yih Wang
aeae1f5b6c Add the domain search list for VPN connection.
The current solution is to read the net.dns.search property,
and expand the list during the resolve initialization. In the
future, we could implement search list per process.

Update: refine the code accordingly.

Update: remove unnecessary code.

Update: remove the unused variable.
2009-04-13 10:41:17 +08:00
Mathias Agopian
a80a1dcf13 AI 143310: am: CL 143161 am: CL 142857 Add some bluring to the animation. This requires a new kernel which will be checked-in later, at which point the blur effect will automatically be enabled.
Original author: mathias
  Merged from: //branches/cupcake/...
  Original author: android-build
  Merged from: //branches/donutburger/...

Automated import of CL 143310
2009-03-27 17:59:32 -07:00
Mathias Agopian
a43b482c54 AI 143161: am: CL 142857 Add some bluring to the animation. This requires a new kernel which will be checked-in later, at which point the blur effect will automatically be enabled.
Original author: mathias
  Merged from: //branches/cupcake/...

Automated import of CL 143161
2009-03-27 15:40:01 -07:00
Mathias Agopian
6ed739e1d3 Automated import from //branches/cupcake/...@142857,142857 2009-03-25 21:43:43 -07:00
The Android Open Source Project
edbe7fc97b auto import //branches/master/...@140412 2009-03-18 22:20:24 -07:00
The Android Open Source Project
78bf5fc677 auto import from //branches/cupcake_rel/...@140373 2009-03-18 17:39:42 -07:00
The Android Open Source Project
1dc9e472e1 auto import from //depot/cupcake/@135843 2009-03-03 19:28:35 -08:00
The Android Open Source Project
1767f908af auto import from //depot/cupcake/@135843 2009-03-03 18:28:13 -08:00
The Android Open Source Project
a799b53f10 auto import from //depot/cupcake/@132589 2009-03-03 14:03:51 -08:00
The Android Open Source Project
fe5745033a auto import from //depot/cupcake/@137055 2009-03-02 22:54:14 -08:00
The Android Open Source Project
7d9dcdc82a auto import from //branches/cupcake/...@132569 2009-02-20 07:38:28 -08:00
The Android Open Source Project
6f04a0f4c7 auto import from //branches/cupcake/...@132276 2009-02-19 10:57:29 -08:00
The Android Open Source Project
2489551343 auto import from //branches/cupcake/...@131421 2009-02-13 12:57:48 -08:00
The Android Open Source Project
9f65adf2ba auto import from //branches/cupcake/...@130745 2009-02-10 15:43:56 -08:00
The Android Open Source Project
d37527501c auto import from //branches/cupcake/...@127101 2009-01-20 14:03:55 -08:00
The Android Open Source Project
e5cc1f386b auto import from //branches/cupcake/...@126645 2009-01-15 16:12:07 -08:00
The Android Open Source Project
6d6c82c7a0 auto import from //branches/cupcake/...@125939 2009-01-09 17:50:54 -08:00
The Android Open Source Project
4e468ed2eb Code drop from //branches/cupcake/...@124589 2008-12-17 18:03:48 -08:00
The Android Open Source Project
a27d2baa0c Initial Contribution 2008-10-21 07:00:00 -07:00