【正文】
發(fā)行版本 ),缺省為Exp Acegene IT Co. Ltd. 47 ABI Compatibility ? What is Application Binary Interface –Runtime patibility mechanism –Allows for an upgrade option on ponents so long as the “binary” interface is maintained –If “binary” interface changed then ABI is said to have “changed” losing patibility Acegene IT Co. Ltd. 48 ABI Illustration define ARRAY_SIZE 8 struct my_struct { int array[ARRAY_SIZE]。 }。 init_struct( struct my_struct *p ) { memset( p, 0, sizeof(struct mystruct)。 } Acegene IT Co. Ltd. 49 Glibc Compatibility ? Usually only affected by 2nddigit change –., ? ? Symbols are versioned to provide executable binary patibility ? Does NOT provide link time patibility –Must link against the same version of glibc that objects were piled against –Since Oracle links at the customer site, we get around this by using glibc stubs for linking Acegene IT Co. Ltd. 50 Gcc C++ Compatibility ? C++ ABI has changed between and –C++ on Linux now closer to ISO standard –C++ programs built with will not run with runtime libraries from gcc ? patibility package ??? Acegene IT Co. Ltd. 51 Current Architectures ? These are the CPUs that can run Linux today: –List all CPUs one would need to build for if wanted to send a product on all types of CPUs. –IBM s/390, IA32 –Building for i386 covers most bases w/o optimizations Acegene IT Co. Ltd. 52 Debugging your code ? Spinning process? Oracle shadow? Attach to process using gdb debugger: $ gdb pid 8520 `which oracle` GDB is free software, covered by the GNU General Public Attaching to program: oracle, process 8520 Reading symbols from (gdb) where 0 0x40550104 in semop () from /lib/i686/ 1 0x0981aae9 in sskgpwwait () ? Wait on Semaphore … … … 6 0x0822ed45 in kslwait () 7 0x084fbaf0 in kjudbm () ? Mount Instance (gdb) detach Acegene IT Co. Ltd. 53 Profiling your code ? Is your code doing what you think it should? –To find out or learn more on 3rd party tools, use oprofile, a freeware runtime profiling tool ?Works on UL but not on RHEL –Intel piler: vtune Q U E S T I O N S A N S W E R S