Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef __IR_BCOM_H__
00037 #define __IR_BCOM_H__
00038
00039 #ifdef __cplusplus
00040 extern "C" {
00041 #endif
00042
00043 extern char *Whirl_Revision;
00044
00045
00046
00047
00048 extern void *IPAA_Local_Map;
00049
00050 extern BOOL Doing_mmapped_io;
00051
00052 inline off_t
00053 ir_b_align (off_t offset, UINT32 addralign, UINT32 padding)
00054 {
00055 if (addralign-- > 1)
00056 return ((offset + padding + addralign) & ~addralign) - padding;
00057 else
00058 return offset;
00059 }
00060
00061 extern Elf64_Word
00062 ir_b_save_buf (const void *buf, Elf64_Word size, UINT32 align,
00063 UINT32 padding, Output_File *fl);
00064
00065 extern Elf64_Word
00066 ir_b_copy_file (const void *buf, Elf64_Word size, void *fl);
00067
00068 extern char*
00069 ir_b_grow_map (Elf64_Word min_size, Output_File *fl);
00070
00071 extern char *
00072 ir_b_create_map (Output_File *fl);
00073
00074 extern Elf64_Word
00075 ir_b_write_tree (WN *node, off_t base_offset, Output_File *fl, WN_MAP off_map);
00076
00077 extern Elf64_Word
00078 ir_b_write_dst (DST_TYPE dst, off_t base_offset, Output_File *fl);
00079
00080
00081 extern Elf64_Word
00082 ir_b_write_global_symtab (off_t base_offset, Output_File *fl);
00083
00084 extern Elf64_Word
00085 ir_b_write_local_symtab (const SCOPE& pu, off_t base_offset, Output_File *fl);
00086
00087
00088 extern void
00089 IPA_irb_write_summary(Output_File *fl);
00090
00091 #ifdef __cplusplus
00092 }
00093 #endif
00094
00095 #endif