am 3a131026: resolved conflicts for merge of 50a83255 to gingerbread-plus-aosp
* commit '3a13102637c8be53edf28f96598ac11aaa3e14df': enable support for large files (> 2G) Enable functional DSO object destruction x86: Enable -fstack-protector Update X86 Bionic CRT files for unwind/exceptions bionic, libthread_db x86 fixes Updated gcc 4.4.3 IA toolchain doesn't require the .ctors list Remove an extra register move. Replace __atomic_XXX with GCC __sync_XXX intrinsics. move some typedefs to procfs.h required by gdbserver build use consistent guards for off_t and size_t defines for IA Simplify variable typing for IA builds sigsetmask.c was not processing the "mask" argument. Add defines for CAIF support Remove extra/unneeded copy of fenv.h Use proper variable typing Update ATOM string routines to latest Fix undefined reference to dl_iterate_phdr for x86 Fix missing NL ptrace.c Fix source file format to unix from dos
This commit is contained in:
commit
6b6ebeca98
@ -509,7 +509,13 @@ ifeq ($(TARGET_ARCH),arm)
|
|||||||
libc_common_cflags += -DHAVE_ARM_TLS_REGISTER
|
libc_common_cflags += -DHAVE_ARM_TLS_REGISTER
|
||||||
endif
|
endif
|
||||||
else # !arm
|
else # !arm
|
||||||
libc_crt_target_cflags :=
|
ifeq ($(TARGET_ARCH),x86)
|
||||||
|
libc_crt_target_cflags := -m32
|
||||||
|
|
||||||
|
# Enable recent IA friendly memory routines (such as for Atom)
|
||||||
|
# These will not work on the earlier x86 machines
|
||||||
|
libc_common_cflags += -mtune=i686 -DUSE_SSSE3 -DUSE_SSE2
|
||||||
|
endif # x86
|
||||||
endif # !arm
|
endif # !arm
|
||||||
|
|
||||||
# Define ANDROID_SMP appropriately.
|
# Define ANDROID_SMP appropriately.
|
||||||
@ -556,18 +562,24 @@ ifneq ($(filter arm x86,$(TARGET_ARCH)),)
|
|||||||
# that will call __cxa_finalize(&__dso_handle) in order to ensure that
|
# that will call __cxa_finalize(&__dso_handle) in order to ensure that
|
||||||
# static C++ destructors are properly called on dlclose().
|
# static C++ destructors are properly called on dlclose().
|
||||||
#
|
#
|
||||||
|
|
||||||
|
libc_crt_target_so_cflags := $(libc_crt_target_cflags)
|
||||||
|
ifeq ($(TARGET_ARCH),x86)
|
||||||
|
# This flag must be added for x86 targets, but not for ARM
|
||||||
|
libc_crt_target_so_cflags += -fPIC
|
||||||
|
endif
|
||||||
GEN := $(TARGET_OUT_STATIC_LIBRARIES)/crtbegin_so.o
|
GEN := $(TARGET_OUT_STATIC_LIBRARIES)/crtbegin_so.o
|
||||||
$(GEN): $(LOCAL_PATH)/arch-$(TARGET_ARCH)/bionic/crtbegin_so.S
|
$(GEN): $(LOCAL_PATH)/arch-$(TARGET_ARCH)/bionic/crtbegin_so.S
|
||||||
@mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
$(TARGET_CC) $(libc_crt_target_cflags) -fPIC -o $@ -c $<
|
$(TARGET_CC) $(libc_crt_target_so_cflags) -o $@ -c $<
|
||||||
ALL_GENERATED_SOURCES += $(GEN)
|
ALL_GENERATED_SOURCES += $(GEN)
|
||||||
|
|
||||||
GEN := $(TARGET_OUT_STATIC_LIBRARIES)/crtend_so.o
|
GEN := $(TARGET_OUT_STATIC_LIBRARIES)/crtend_so.o
|
||||||
$(GEN): $(LOCAL_PATH)/arch-$(TARGET_ARCH)/bionic/crtend_so.S
|
$(GEN): $(LOCAL_PATH)/arch-$(TARGET_ARCH)/bionic/crtend_so.S
|
||||||
@mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
$(TARGET_CC) $(libc_crt_target_cflags) -o $@ -c $<
|
$(TARGET_CC) $(libc_crt_target_so_cflags) -o $@ -c $<
|
||||||
ALL_GENERATED_SOURCES += $(GEN)
|
ALL_GENERATED_SOURCES += $(GEN)
|
||||||
endif # TARGET_ARCH == x86
|
endif # TARGET_ARCH == x86 || TARGET_ARCH == arm
|
||||||
|
|
||||||
|
|
||||||
GEN := $(TARGET_OUT_STATIC_LIBRARIES)/crtbegin_static.o
|
GEN := $(TARGET_OUT_STATIC_LIBRARIES)/crtbegin_static.o
|
||||||
|
@ -1,62 +1,62 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2008 The Android Open Source Project
|
* Copyright (C) 2008 The Android Open Source Project
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
* are met:
|
* are met:
|
||||||
* * Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer.
|
* notice, this list of conditions and the following disclaimer.
|
||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in
|
* notice, this list of conditions and the following disclaimer in
|
||||||
* the documentation and/or other materials provided with the
|
* the documentation and/or other materials provided with the
|
||||||
* distribution.
|
* distribution.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/ptrace.h>
|
#include <sys/ptrace.h>
|
||||||
|
|
||||||
extern long __ptrace(int request, pid_t pid, void *addr, void *data);
|
extern long __ptrace(int request, pid_t pid, void *addr, void *data);
|
||||||
|
|
||||||
long ptrace(int request, pid_t pid, void * addr, void * data)
|
long ptrace(int request, pid_t pid, void * addr, void * data)
|
||||||
{
|
{
|
||||||
switch (request) {
|
switch (request) {
|
||||||
case PTRACE_PEEKUSR:
|
case PTRACE_PEEKUSR:
|
||||||
case PTRACE_PEEKTEXT:
|
case PTRACE_PEEKTEXT:
|
||||||
case PTRACE_PEEKDATA:
|
case PTRACE_PEEKDATA:
|
||||||
{
|
{
|
||||||
long word;
|
long word;
|
||||||
long ret;
|
long ret;
|
||||||
|
|
||||||
ret = __ptrace(request, pid, addr, &word);
|
ret = __ptrace(request, pid, addr, &word);
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
return word;
|
return word;
|
||||||
} else {
|
} else {
|
||||||
// __ptrace will set errno for us
|
// __ptrace will set errno for us
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return __ptrace(request, pid, addr, data);
|
return __ptrace(request, pid, addr, data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Hook for gdb to get notified when a thread is created
|
* Hook for gdb to get notified when a thread is created
|
||||||
*/
|
*/
|
||||||
#ifdef __i386__
|
#ifdef __i386__
|
||||||
#define ATTRIBUTES __attribute__((noinline)) __attribute__((fastcall))
|
#define ATTRIBUTES __attribute__((noinline)) __attribute__((fastcall))
|
||||||
#else
|
#else
|
||||||
@ -64,5 +64,5 @@ long ptrace(int request, pid_t pid, void * addr, void * data)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void ATTRIBUTES _thread_created_hook(pid_t thread_id)
|
void ATTRIBUTES _thread_created_hook(pid_t thread_id)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user