diff --git a/other-licenses/android/ba.h b/other-licenses/android/ba.h deleted file mode 100644 index c11017bcdd0f..000000000000 --- a/other-licenses/android/ba.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef __LINKER_BA_H -#define __LINKER_BA_H - -struct ba_bits { - unsigned allocated:1; /* 1 if allocated, 0 if free */ - unsigned order:7; /* size of the region in ba space */ -}; - -struct ba { - /* start address of the ba space */ - unsigned long base; - /* total size of the ba space */ - unsigned long size; - /* the smaller allocation that can be made */ - unsigned long min_alloc; - /* the order of the largest allocation that can be made */ - unsigned long max_order; - /* number of entries in the ba space */ - int num_entries; - /* the bitmap for the region indicating which entries are allocated - * and which are free */ - struct ba_bits *bitmap; -}; - -extern void ba_init(struct ba *ba); -extern int ba_allocate(struct ba *ba, unsigned long len); -extern int ba_free(struct ba *ba, int index); -extern unsigned long ba_start_addr(struct ba *ba, int index); -extern unsigned long ba_len(struct ba *ba, int index); - -#endif diff --git a/other-licenses/android/bionic_tls.h b/other-licenses/android/bionic_tls.h deleted file mode 100644 index 241257768c20..000000000000 --- a/other-licenses/android/bionic_tls.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -#ifndef _SYS_TLS_H -#define _SYS_TLS_H - -#include - -__BEGIN_DECLS - -/** WARNING WARNING WARNING - ** - ** This header file is *NOT* part of the public Bionic ABI/API - ** and should not be used/included by user-serviceable parts of - ** the system (e.g. applications). - ** - ** It is only provided here for the benefit of the system dynamic - ** linker and the OpenGL sub-system (which needs to access the - ** pre-allocated slot directly for performance reason). - **/ - -/* maximum number of elements in the TLS array */ -#define BIONIC_TLS_SLOTS 64 - -/* note that slot 0, called TLS_SLOT_SELF must point to itself. - * this is required to implement thread-local storage with the x86 - * Linux kernel, that reads the TLS from fs:[0], where 'fs' is a - * thread-specific segment descriptor... - */ - -/* Well known TLS slots */ -#define TLS_SLOT_SELF 0 -#define TLS_SLOT_THREAD_ID 1 -#define TLS_SLOT_ERRNO 2 - -#define TLS_SLOT_OPENGL_API 3 -#define TLS_SLOT_OPENGL 4 - -/* this slot is only used to pass information from the dynamic linker to - * libc.so when the C library is loaded in to memory. The C runtime init - * function will then clear it. Since its use is extremely temporary, - * we reuse an existing location. - */ -#define TLS_SLOT_BIONIC_PREINIT (TLS_SLOT_ERRNO+1) - -/* small technical note: it is not possible to call pthread_setspecific - * on keys that are <= TLS_SLOT_MAX_WELL_KNOWN, which is why it is set to - * TLS_SLOT_ERRNO. - * - * later slots like TLS_SLOT_OPENGL are pre-allocated through the use of - * TLS_DEFAULT_ALLOC_MAP. this means that there is no need to use - * pthread_key_create() to initialize them. on the other hand, there is - * no destructor associated to them (we might need to implement this later) - */ -#define TLS_SLOT_MAX_WELL_KNOWN TLS_SLOT_ERRNO - -#define TLS_DEFAULT_ALLOC_MAP 0x0000001F - -/* set the Thread Local Storage, must contain at least BIONIC_TLS_SLOTS pointers */ -extern void __init_tls(void** tls, void* thread_info); - -/* syscall only, do not call directly */ -extern int __set_tls(void *ptr); - -/* get the TLS */ -#ifdef __arm__ -/* Linux kernel helpers for its TLS implementation */ -/* For performance reasons, avoid calling the kernel helper - * Note that HAVE_ARM_TLS_REGISTER is build-specific - * (it must match your kernel configuration) - */ -# ifdef HAVE_ARM_TLS_REGISTER -# define __get_tls() \ - ({ register unsigned int __val asm("r0"); \ - asm ("mrc p15, 0, r0, c13, c0, 3" : "=r"(__val) ); \ - (volatile void*)__val; }) -# else /* !HAVE_ARM_TLS_REGISTER */ -# define __get_tls() ( *((volatile void **) 0xffff0ff0) ) -# endif -#else -extern void* __get_tls( void ); -#endif - -/* return the stack base and size, used by our malloc debugger */ -extern void* __get_stack_base(int *p_stack_size); - -__END_DECLS - -#endif /* _SYS_TLS_H */ diff --git a/other-licenses/android/dlfcn.h b/other-licenses/android/dlfcn.h deleted file mode 100644 index 5b1b7c7fc1aa..000000000000 --- a/other-licenses/android/dlfcn.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -#ifndef __DLFCN_H__ -#define __DLFCN_H__ - -#include - -__BEGIN_DECLS - -typedef struct { - const char *dli_fname; /* Pathname of shared object that - contains address */ - void *dli_fbase; /* Address at which shared object - is loaded */ - const char *dli_sname; /* Name of nearest symbol with address - lower than addr */ - void *dli_saddr; /* Exact address of symbol named - in dli_sname */ -} Dl_info; - -#pragma GCC visibility push(default) -extern void* moz_mapped_dlopen(const char* filename, int flag, - int fd, void *mem, unsigned int len, unsigned int offset); -extern void* __wrap_dlopen(const char* filename, int flag); -extern int __wrap_dlclose(void* handle); -extern const char* __wrap_dlerror(void); -extern void* __wrap_dlsym(void* handle, const char* symbol); -extern int __wrap_dladdr(void* addr, Dl_info *info); -#pragma GCC visibility pop - -enum { - RTLD_NOW = 0, - RTLD_LAZY = 1, - - RTLD_LOCAL = 0, - RTLD_GLOBAL = 2, -}; - -#define RTLD_DEFAULT ((void*) 0xffffffff) -#define RTLD_NEXT ((void*) 0xfffffffe) - -__END_DECLS - -#endif /* __DLFCN_H */ - - diff --git a/other-licenses/android/linker.h b/other-licenses/android/linker.h deleted file mode 100644 index 4ea470ab4709..000000000000 --- a/other-licenses/android/linker.h +++ /dev/null @@ -1,243 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef _LINKER_H_ -#define _LINKER_H_ - -#include -#include -#include - -#undef PAGE_MASK -#undef PAGE_SIZE -#define PAGE_SIZE 4096 -#define PAGE_MASK 4095 - -void debugger_init(); -const char *addr_to_name(unsigned addr); - -/* magic shared structures that GDB knows about */ - -struct link_map -{ - uintptr_t l_addr; - char * l_name; - uintptr_t l_ld; - struct link_map * l_next; - struct link_map * l_prev; -}; - -/* needed for dl_iterate_phdr to be passed to the callbacks provided */ -struct dl_phdr_info -{ - Elf32_Addr dlpi_addr; - const char *dlpi_name; - const Elf32_Phdr *dlpi_phdr; - Elf32_Half dlpi_phnum; -}; - - -// Values for r_debug->state -enum { - RT_CONSISTENT, - RT_ADD, - RT_DELETE -}; - -struct r_debug -{ - int32_t r_version; - struct link_map * r_map; - void (*r_brk)(void); - int32_t r_state; - uintptr_t r_ldbase; -}; - -typedef struct soinfo soinfo; - -#define FLAG_LINKED 0x00000001 -#define FLAG_ERROR 0x00000002 -#define FLAG_EXE 0x00000004 // The main executable -#define FLAG_PRELINKED 0x00000008 // This is a pre-linked lib -#define FLAG_MMAPPED 0x00000010 // The object was loaded through load_mapped_library - -#define SOINFO_NAME_LEN 128 - -struct soinfo -{ - const char name[SOINFO_NAME_LEN]; - Elf32_Phdr *phdr; - int phnum; - unsigned entry; - unsigned base; - unsigned size; - // buddy-allocator index, negative for prelinked libraries - int ba_index; - - unsigned *dynamic; - - unsigned wrprotect_start; - unsigned wrprotect_end; - - soinfo *next; - unsigned flags; - - const char *strtab; - Elf32_Sym *symtab; - - unsigned nbucket; - unsigned nchain; - unsigned *bucket; - unsigned *chain; - - unsigned *plt_got; - - Elf32_Rel *plt_rel; - unsigned plt_rel_count; - - Elf32_Rel *rel; - unsigned rel_count; - -#ifdef ANDROID_SH_LINKER - Elf32_Rela *plt_rela; - unsigned plt_rela_count; - - Elf32_Rela *rela; - unsigned rela_count; -#endif /* ANDROID_SH_LINKER */ - - unsigned *preinit_array; - unsigned preinit_array_count; - - unsigned *init_array; - unsigned init_array_count; - unsigned *fini_array; - unsigned fini_array_count; - - void (*init_func)(void); - void (*fini_func)(void); - -#ifdef ANDROID_ARM_LINKER - /* ARM EABI section used for stack unwinding. */ - unsigned *ARM_exidx; - unsigned ARM_exidx_count; -#endif - - unsigned refcount; - struct link_map linkmap; -}; - - -extern soinfo libdl_info; - -/* these must all be powers of two */ -#ifdef ARCH_SH -#define LIBBASE 0x60000000 -#define LIBLAST 0x70000000 -#define LIBINC 0x00100000 -#else -#define LIBBASE 0x70000000 -#define LIBLAST 0x80000000 -#define LIBINC 0x00100000 -#endif - -#ifdef ANDROID_ARM_LINKER - -#define R_ARM_COPY 20 -#define R_ARM_GLOB_DAT 21 -#define R_ARM_JUMP_SLOT 22 -#define R_ARM_RELATIVE 23 - -/* According to the AAPCS specification, we only - * need the above relocations. However, in practice, - * the following ones turn up from time to time. - */ -#define R_ARM_ABS32 2 -#define R_ARM_REL32 3 - -#elif defined(ANDROID_X86_LINKER) - -#define R_386_32 1 -#define R_386_PC32 2 -#define R_386_GLOB_DAT 6 -#define R_386_JUMP_SLOT 7 -#define R_386_RELATIVE 8 - -#elif defined(ANDROID_SH_LINKER) - -#define R_SH_DIR32 1 -#define R_SH_GLOB_DAT 163 -#define R_SH_JUMP_SLOT 164 -#define R_SH_RELATIVE 165 - -#endif /* ANDROID_*_LINKER */ - - -#ifndef DT_INIT_ARRAY -#define DT_INIT_ARRAY 25 -#endif - -#ifndef DT_FINI_ARRAY -#define DT_FINI_ARRAY 26 -#endif - -#ifndef DT_INIT_ARRAYSZ -#define DT_INIT_ARRAYSZ 27 -#endif - -#ifndef DT_FINI_ARRAYSZ -#define DT_FINI_ARRAYSZ 28 -#endif - -#ifndef DT_PREINIT_ARRAY -#define DT_PREINIT_ARRAY 32 -#endif - -#ifndef DT_PREINIT_ARRAYSZ -#define DT_PREINIT_ARRAYSZ 33 -#endif - -soinfo *find_library(const char *name); -soinfo *find_mapped_library(const char *name, int fd, - void *mem, size_t len, size_t offset); -unsigned unload_library(soinfo *si); -Elf32_Sym *lookup_in_library(soinfo *si, const char *name); -Elf32_Sym *lookup(const char *name, soinfo **found, soinfo *start); -soinfo *find_containing_library(void *addr); -Elf32_Sym *find_containing_symbol(void *addr, soinfo *si); -const char *linker_get_error(void); -void simple_linker_init(void); - -#ifdef ANDROID_ARM_LINKER -typedef long unsigned int *_Unwind_Ptr; -_Unwind_Ptr dl_unwind_find_exidx(_Unwind_Ptr pc, int *pcount); -#elif defined(ANDROID_X86_LINKER) || defined(ANDROID_SH_LINKER) -int dl_iterate_phdr(int (*cb)(struct dl_phdr_info *, size_t, void *), void *); -#endif - -#endif diff --git a/other-licenses/android/linker_debug.h b/other-licenses/android/linker_debug.h deleted file mode 100644 index 3f08303ba164..000000000000 --- a/other-licenses/android/linker_debug.h +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright (C) 2008-2010 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef _LINKER_DEBUG_H_ -#define _LINKER_DEBUG_H_ - -#include - -#ifndef LINKER_DEBUG -#error LINKER_DEBUG should be defined to either 1 or 0 in Android.mk -#endif - -/* set LINKER_DEBUG_TO_LOG to 1 to send the logs to logcat, - * or 0 to use stdout instead. - */ -#define LINKER_DEBUG_TO_LOG 1 -#define TRACE_DEBUG 1 -#define DO_TRACE_LOOKUP 1 -#define DO_TRACE_RELO 1 -#define TIMING 0 -#define STATS 0 -#define COUNT_PAGES 0 - -/********************************************************************* - * You shouldn't need to modify anything below unless you are adding - * more debugging information. - * - * To enable/disable specific debug options, change the defines above - *********************************************************************/ - - -/*********************************************************************/ -#undef TRUE -#undef FALSE -#define TRUE 1 -#define FALSE 0 - -/* Only use printf() during debugging. We have seen occasional memory - * corruption when the linker uses printf(). - */ -#if LINKER_DEBUG -#include "linker_format.h" -extern int debug_verbosity; -#if LINKER_DEBUG_TO_LOG -extern int format_log(int, const char *, const char *, ...); -#define _PRINTVF(v,f,x...) \ - do { \ - if (debug_verbosity > (v)) format_log(5-(v),"linker",x); \ - } while (0) -#else /* !LINKER_DEBUG_TO_LOG */ -extern int format_fd(int, const char *, ...); -#define _PRINTVF(v,f,x...) \ - do { \ - if (debug_verbosity > (v)) format_fd(1, x); \ - } while (0) -#endif /* !LINKER_DEBUG_TO_LOG */ -#else /* !LINKER_DEBUG */ -#define _PRINTVF(v,f,x...) do {} while(0) -#endif /* LINKER_DEBUG */ - -#define PRINT(x...) _PRINTVF(-1, FALSE, x) -#define INFO(x...) _PRINTVF(0, TRUE, x) -#define TRACE(x...) _PRINTVF(1, TRUE, x) -#define WARN(fmt,args...) \ - _PRINTVF(-1, TRUE, "%s:%d| WARNING: " fmt, __FILE__, __LINE__, ## args) -#define ERROR(fmt,args...) \ - _PRINTVF(-1, TRUE, "%s:%d| ERROR: " fmt, __FILE__, __LINE__, ## args) - - -#if TRACE_DEBUG -#define DEBUG(x...) _PRINTVF(2, TRUE, "DEBUG: " x) -#else /* !TRACE_DEBUG */ -#define DEBUG(x...) do {} while (0) -#endif /* TRACE_DEBUG */ - -#if LINKER_DEBUG -#define TRACE_TYPE(t,x...) do { if (DO_TRACE_##t) { TRACE(x); } } while (0) -#else /* !LINKER_DEBUG */ -#define TRACE_TYPE(t,x...) do {} while (0) -#endif /* LINKER_DEBUG */ - -#if STATS -#define RELOC_ABSOLUTE 0 -#define RELOC_RELATIVE 1 -#define RELOC_COPY 2 -#define RELOC_SYMBOL 3 -#define NUM_RELOC_STATS 4 - -struct _link_stats { - int reloc[NUM_RELOC_STATS]; -}; -extern struct _link_stats linker_stats; - -#define COUNT_RELOC(type) \ - do { if (type >= 0 && type < NUM_RELOC_STATS) { \ - linker_stats.reloc[type] += 1; \ - } else { \ - PRINT("Unknown reloc stat requested\n"); \ - } \ - } while(0) -#else /* !STATS */ -#define COUNT_RELOC(type) do {} while(0) -#endif /* STATS */ - -#if TIMING -#undef WARN -#define WARN(x...) do {} while (0) -#endif /* TIMING */ - -#if COUNT_PAGES -extern unsigned bitmask[]; -#define MARK(offset) do { \ - bitmask[((offset) >> 12) >> 3] |= (1 << (((offset) >> 12) & 7)); \ - } while(0) -#else -#define MARK(x) do {} while (0) -#endif - -#define DEBUG_DUMP_PHDR(phdr, name, pid) do { \ - DEBUG("%5d %s (phdr = 0x%08x)\n", (pid), (name), (unsigned)(phdr)); \ - DEBUG("\t\tphdr->offset = 0x%08x\n", (unsigned)((phdr)->p_offset)); \ - DEBUG("\t\tphdr->p_vaddr = 0x%08x\n", (unsigned)((phdr)->p_vaddr)); \ - DEBUG("\t\tphdr->p_paddr = 0x%08x\n", (unsigned)((phdr)->p_paddr)); \ - DEBUG("\t\tphdr->p_filesz = 0x%08x\n", (unsigned)((phdr)->p_filesz)); \ - DEBUG("\t\tphdr->p_memsz = 0x%08x\n", (unsigned)((phdr)->p_memsz)); \ - DEBUG("\t\tphdr->p_flags = 0x%08x\n", (unsigned)((phdr)->p_flags)); \ - DEBUG("\t\tphdr->p_align = 0x%08x\n", (unsigned)((phdr)->p_align)); \ - } while (0) - -#endif /* _LINKER_DEBUG_H_ */