Commit Graph

255 Commits

Author SHA1 Message Date
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
Nicolas Catania
ec6c274da2 Removed non-standard declaration in cstring.
Aligned the list of the function declared in std:: to
match gcc.
In the first cut, too many functions were included.
The test under system/extras/tests/bionic/libstdc++ already
has the correct (shorter) list.
2009-06-17 14:54:02 -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 Bartley
bc3a5c26f1 Add LD_LIBRARY_PATH support to bionic's linker 2009-06-15 21:36:03 -07: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
654476654e am 0353195f: linker: Give more context for failures during library dependency resolution.
Merge commit '0353195f344666256dba474a15c9ba22cf0cccc9'

* commit '0353195f344666256dba474a15c9ba22cf0cccc9':
  linker: Give more context for failures during library dependency resolution.
2009-06-01 13:02:20 -07:00
Dima Zavin
0353195f34 linker: Give more context for failures during library dependency resolution.
Signed-off-by: Dima Zavin <dima@android.com>
2009-06-01 12:55:48 -07:00
Dima Zavin
563b15dbfe am 2e85579c: linker: Make the errors reported by dlopen/dlsym be more useful.
Merge commit '2e85579c34047c305caf15fb0ebe02bf3d001d0e'

* commit '2e85579c34047c305caf15fb0ebe02bf3d001d0e':
  linker: Make the errors reported by dlopen/dlsym be more useful.
2009-05-28 12:38:04 -07: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
2e85579c34 linker: Make the errors reported by dlopen/dlsym be more useful.
Changed it so that when the linker generates error messages, they are
scribbled away into a buffer that dlfcn and friends can read from.

Since the error messages are generetad with snprintf, and snprintf
MAY call malloc during some code paths, we now link against a version
of libc that does not contain malloc/free/realloc/calloc. We then define
malloc and friends in the dynamic loader, and make them abort() if they
are ever called.

Signed-off-by: Dima Zavin <dima@android.com>
2009-05-27 20:16:19 -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
d7f5035959 am 8215679b: Fix the parsing of the .fini_array in the dynamic linker (it should happen in reverse order). Also add a small design overview document for the linker. The latter contains details on how the initialization/finalization is supposed to work.
Merge commit '8215679b355efe3829bab571bd566dc818ea4ccc'

* commit '8215679b355efe3829bab571bd566dc818ea4ccc':
  Fix the parsing of the .fini_array in the dynamic linker (it should happen in reverse order).
2009-05-26 10:11:25 -07:00
David 'Digit' Turner
8215679b35 Fix the parsing of the .fini_array in the dynamic linker (it should happen in reverse order).
Also add a small design overview document for the linker. The latter contains details on
how the initialization/finalization is supposed to work.
2009-05-26 11:16:28 +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
David 'Digit' Turner
24a41091f4 am 8169573c: Add <cmath> standard C++ header. This is needed for upcoming STLport experimentation.
Merge commit '8169573c8744ee3a484ea74bd5e06a8a4f708e37'

* commit '8169573c8744ee3a484ea74bd5e06a8a4f708e37':
  Add <cmath> standard C++ header.
2009-05-19 02:53:26 -07:00
David 'Digit' Turner
8169573c87 Add <cmath> standard C++ header.
This is needed for upcoming STLport experimentation.
2009-05-18 23:34:13 +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
Dima Zavin
cd64095ad1 am d1b40d8: linker: Compute symbol name before lookup so we can also use
Merge commit 'd1b40d8c69dfca94185ea9231f6cb16f70c02e39'

* commit 'd1b40d8c69dfca94185ea9231f6cb16f70c02e39':
  linker: Compute symbol name before lookup so we can also use it for error msg
2009-05-12 11:31:39 -07:00
Dima Zavin
d1b40d8c69 linker: Compute symbol name before lookup so we can also use it for error msg
Signed-off-by: Dima Zavin <dima@android.com>
2009-05-12 10:59:09 -07: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