#define SHN_PARISC_ANSI_COMMON 0xff00 /* Section for tenatively declared
symbols in ANSI C. */ #define SHN_PARISC_HUGE_COMMON 0xff01 /* Common blocks in huge model. */
/* Legal values for sh_type field of Elf32_Shdr. */
#define SHT_PARISC_EXT 0x70000000 /* Contains product specific ext. */ #define SHT_PARISC_UNWIND 0x70000001 /* Unwind information. */ #define SHT_PARISC_DOC 0x70000002 /* Debug info for optimized code. */
/* Legal values for sh_flags field of Elf32_Shdr. */
#define SHF_PARISC_SHORT 0x20000000 /* Section with short addressing. */ #define SHF_PARISC_HUGE 0x40000000 /* Section far from gp. */ #define SHF_PARISC_SBP 0x80000000 /* Static branch prediction code. */
/* Legal values for ST_TYPE subfield of st_info (symbol type). */
#define STT_PARISC_MILLICODE 13 /* Millicode function entry point. */
#define PA_PLABEL_FDESC 0x02 /* bit set if PLABEL points to * a function descriptor, not
* an address */
/* The following are PA function descriptors * * addr: the absolute address of the function * gp: either the data pointer (r27) for non-PIC code or
* the PLT pointer (r19) for PIC code */
/* Format for the Elf32 Function descriptor */ typedefstruct elf32_fdesc {
__u32 addr;
__u32 gp;
} Elf32_Fdesc;
/* Format for the Elf64 Function descriptor */ typedefstruct elf64_fdesc {
__u64 dummy[2]; /* used by 64-bit eBPF and tracing functions */
__u64 addr;
__u64 gp;
} Elf64_Fdesc;
/* * This yields a string that ld.so will use to load implementation * specific libraries for optimization. This is more specific in * intent than poking at uname or /proc/cpuinfo.
*/
#define ELF_PLATFORM ("PARISC")
/* * The following definitions are those for 32-bit ELF binaries on a 32-bit * kernel and for 64-bit binaries on a 64-bit kernel. To run 32-bit binaries * on a 64-bit kernel, fs/compat_binfmt_elf.c defines ELF_CLASS and then * #includes binfmt_elf.c, which then includes this file.
*/ #ifndef ELF_CLASS
/* * Fill in general registers in a core dump. This saves pretty * much the same registers as hp-ux, although in a different order. * Registers marked # below are not currently saved in pt_regs, so * we use their current values here. * * gr0..gr31 * sr0..sr7 * iaoq0..iaoq1 * iasq0..iasq1 * cr11 (sar) * cr19 (iir) * cr20 (isr) * cr21 (ior) * # cr22 (ipsw) * # cr0 (recovery counter) * # cr24..cr31 (temporary registers) * # cr8,9,12,13 (protection IDs) * # cr10 (scr/ccr) * # cr15 (ext int enable mask) *
*/
/* * These are used to set parameters in the core dumps.
*/ #define ELF_DATA ELFDATA2MSB #define ELF_ARCH EM_PARISC #define ELF_OSABI ELFOSABI_LINUX
/* %r23 is set by ld.so to a pointer to a function which might be registered using atexit. This provides a means for the dynamic linker to call DT_FINI functions for shared libraries that have been loaded before the code runs.
So that we can use the same startup file with static executables, we start programs with a value of 0 to indicate that there is no
such function. */ #define ELF_PLAT_INIT(_r, load_addr) _r->gr[23] = 0
#define ELF_EXEC_PAGESIZE 4096
/* This is the location that an ET_DYN program is loaded if exec'ed. Typical use of this is to invoke "./ld.so someprog" to test out a new version of the loader. We need to make sure that it is out of the way of the program that it will "exec", and that there is sufficient room for the brk.
(2 * TASK_SIZE / 3) turns into something undefined when run through a 32 bit preprocessor and in some cases results in the kernel trying to map ld.so to the kernel virtual base. Use a sane value instead. /Jes
*/
/* This yields a mask that user programs can use to figure out what instruction set this CPU supports. This could be done in user space,
but it's not easy, and we've already done it here. */
#define ELF_HWCAP 0
#define STACK_RND_MASK 0x7ff /* 8MB of VA */
#define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1 struct linux_binprm; externint arch_setup_additional_pages(struct linux_binprm *bprm, int executable_stack); #define VDSO_AUX_ENT(a, b) NEW_AUX_ENT(a, b) #define VDSO_CURRENT_BASE current->mm->context.vdso_base
#define ARCH_DLINFO \ do { \ if (VDSO_CURRENT_BASE) { \
NEW_AUX_ENT(AT_SYSINFO_EHDR, VDSO_CURRENT_BASE);\
} \
} while (0)
#endif
Messung V0.5
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.