• Home
  • History
  • Annotate
  • only in /bionic/libc/arch-common/
History log of /bionic/libc/arch-common/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6b56691a678420477595a531b2d2829980eb51c0 29-Apr-2014 Dmitriy Ivanov <dimitry@google.com> Fixes for __cxa_finalize

* Ability to register atexit handler from atexit handler
* Correct way to handle both forms of atexit handler

Bug: https://code.google.com/p/android/issues/detail?id=66595
Bug: 4998315
Change-Id: I39529afaef97b6e1469c21389d54c0d7d175da28
ionic/atexit.h
e210488e0d4082b9a0c55195c22191f29ed56bf8 26-Sep-2013 Serban Constantinescu <serban.constantinescu@arm.com> AArch64: Add initial support for AArch64

This is the first patch out of a series of patches that add support for
AArch64, the new 64bit execution state of the ARMv8 Architecture. The
patches add support for LP64 programming model.

The patch adds:
* "arch-aarch64" to the architecture directories.
* "arch-aarch64/include" - headers used by libc
* "arch-aarch64/bionic":
- crtbegin, crtend support;
- aarch64 specific syscall stubs;
- setjmp, clone, vfork assembly files.

Change-Id: If72b859f81928d03ad05d4ccfcb54c2f5dbf99a5
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
ionic/__dso_handle.h
ionic/__dso_handle_so.h
33a209e57595fbb7934fcc4606d2b0dd0de688ad 21-Oct-2013 Pavel Chupin <pavel.v.chupin@intel.com> Fix 16-byte stack alignment requirement for x86_64 ABI

Change-Id: I43304803ac54c8688c61688bd96c7160614172d4
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
ionic/crtbegin.c
eb847bc8666842a3cfc9c06e8458ad1abebebaf0 10-Oct-2013 Elliott Hughes <enh@google.com> Fix x86_64 build, clean up intermediate libraries.

The x86_64 build was failing because clone.S had a call to __thread_entry which
was being added to a different intermediate .a on the way to making libc.so,
and the linker couldn't guarantee statically that such a relocation would be
possible.

ld: error: out/target/product/generic_x86_64/obj/STATIC_LIBRARIES/libc_common_intermediates/libc_common.a(clone.o): requires dynamic R_X86_64_PC32 reloc against '__thread_entry' which may overflow at runtime; recompile with -fPIC

This patch addresses that by ensuring that the caller and callee end up in the
same intermediate .a. While I'm here, I've tried to clean up some of the mess
that led to this situation too. In particular, this removes libc/private/ from
the default include path (except for the DNS code), and splits out the DNS
code into its own library (since it's a weird special case of upstream NetBSD
code that's diverged so heavily it's unlikely ever to get back in sync).

There's more cleanup of the DNS situation possible, but this is definitely a
step in the right direction, and it's more than enough to get x86_64 building
cleanly.

Change-Id: I00425a7245b7a2573df16cc38798187d0729e7c4
ionic/__dso_handle.h
ionic/__dso_handle_so.h
ionic/crtbegin_so.c
589eaa4c728d39a1fcadc98030033cd60833fbb1 07-Oct-2013 synergydev <synergye@codefi.re> libc: fix __cxa_atexit implicit declaration

Change-Id: Iacad18b332a717e4485c83df4bd42a850ff7699f
ionic/atexit.h
719269db18a03dee45de63cc989855b117e9e177 04-Oct-2013 Pavel Chupin <pavel.v.chupin@intel.com> Fixed ASM_ALIGN macro

Got it all wrong on first patch. Somehow that didn't affect system
build, neither arm nor x86... something to think about.

Change-Id: I45416d843aad44af62841c6f6ab607ccf3f012ea
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
ionic/asm_multiarch.h
b49c17c2bf1232e29bc390e58d6fa43688929aa5 02-Oct-2013 Pavel Chupin <pavel.v.chupin@intel.com> Move common arch-* code to arch-common directory

Will be helpful on adding x86_64

Change-Id: I96cf6fc7912c02f289c75f07ae0079c32d69173f
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
ionic/asm_multiarch.h
ionic/atexit.h
ionic/crtbegin.c
ionic/crtbegin_so.c
ionic/crtend.S
ionic/crtend_so.S