00001 /* 00002 ################################################################## 00003 XCOFF32 XCOFF64 Name Description 00004 Offset Length Offset Length 00005 0 4 0 4 l_ addr.l_ symndx+ Symbol table index for function 00006 4 2 8 4 l_ lnno+ Value 0 (line number 0) 00007 +Use "32" or "64" suffix when __XCOFF_HYBRID__ is defined. With l_addr.l_symndx, the suffix is added to l_addr (i.e. l_addr32.l_symndx). 00008 Table 24. Subsequent Line Number Entries for Function XCOFF32 XCOFF64 Name Description 00009 Offset Length Offset Length 00010 0 4 0 8 l_paddr+ Address at which break point can be inserted 00011 4 2 8 4 l_lnno+ Line number relative to start of function 00012 +Use "32" or "64" suffix when __XCOFF_HYBRID__ is defined. With l_addr.l_paddr, the suffix is added to l_addr (i.e. l_addr32.l_paddr). 00013 ################################################################## 00014 */ 00015 00016 #define LINEINFO_MACROS_BASIS(__str) \ 00017 GET_FIELD_BASIS_U(uint32_t,l_symndx,l_addr); \ 00018 GET_FIELD_BASIS_U(uint64_t,l_paddr,l_addr); \ 00019 GET_FIELD_BASIS(uint32_t,l_lnno); \ 00020 00022 #define LINEINFO_MACROS_CLASS(__str) \ 00023 GET_FIELD_CLASS_U(uint32_t,l_symndx,l_addr); \ 00024 GET_FIELD_CLASS_U(uint64_t,l_paddr,l_addr); \ 00025 GET_FIELD_CLASS(uint32_t,l_lnno); \ 00026