| | Copyright |
| | Prentice Hall Open Source Software Development Series |
| | Preface |
| | Acknowledgments |
| | About the Authors |
| | Chapter 1. Porting Project Considerations |
| | | Section 1.1. Software Application Business Process |
| | | Section 1.2. The Porting Process |
| | | Section 1.3. Defining Project Scope and Objectives |
| | | Section 1.4. Estimating |
| | | Section 1.5. Creating a Porting Project Schedule |
| | | Section 1.6. Porting Process from a Business Perspective |
| | | Section 1.7. Annotated Sample Technical Questionnaire |
| | | Section 1.8. Summary |
| | Chapter 2. Scoping |
| | | Section 2.1. Compilers |
| | | Section 2.2. Java Environment |
| | | Section 2.3. Build Environment |
| | | Section 2.4. Linux Shells |
| | | Section 2.5. Packaging |
| | | Section 2.6. Project Management Tasks |
| | | Section 2.7. Summary |
| | Chapter 3. Analysis |
| | | Section 3.1. Linux Standards |
| | | Section 3.2. GNU libc |
| | | Section 3.3. GNU Scientific Library |
| | | Section 3.4. Shared Libraries |
| | | Section 3.5. Library Versioning |
| | | Section 3.6. Dynamic Linker (or Runtime Linker) |
| | | Section 3.7. System Calls |
| | | Section 3.8. Large Page Support |
| | | Section 3.9. The Native POSIX Threads Library (NPTL) |
| | | Section 3.10. Internationalization (I18N) and Localization |
| | | Section 3.11. Big/Little-Endian Environment |
| | | Section 3.12. 32- to 64-Bit Migration |
| | | Section 3.13. Summary |
| | Chapter 4. Porting Solaris Applications |
| | | Section 4.1. Preliminary Tasks |
| | | Section 4.2. General Differences |
| | | Section 4.3. Compilers |
| | | Section 4.4. Linker |
| | | Section 4.5. Porting Shell Scripts to Linux |
| | | Section 4.6. Internationalization and Localization |
| | | Section 4.7. Make |
| | | Section 4.8. Debugger |
| | | Section 4.9. Threads |
| | | Section 4.10. Signals |
| | | Section 4.11. System Calls |
| | | Section 4.12. System Libraries |
| | | Section 4.13. Solaris and Linux APIs |
| | | Section 4.14. Scientific Library |
| | | Section 4.15. Large Page Support |
| | | Section 4.16. Some Solaris Nonportable Programming Practices |
| | | Section 4.17. Summary |
| | Chapter 5. Porting AIX Applications |
| | | Section 5.1. Preliminary Tasks |
| | | Section 5.2. General Differences |
| | | Section 5.3. Compilers |
| | | Section 5.4. Make |
| | | Section 5.5. Linker |
| | | Section 5.6. AIX Versus Linux Shared Library Creation |
| | | Section 5.7. Dynamic Loading |
| | | Section 5.8. Template Instantiation Differences Between AIX and Linux |
| | | Section 5.9. C++filt Utility |
| | | Section 5.10. System APIs: AIX/Linux |
| | | Section 5.11. Selected AIX/Linux System API Comparisons |
| | | Section 5.12. Some AIX Nonstandard Programming Practices |
| | | Section 5.13. Signals |
| | | Section 5.14. Network Programming |
| | | Section 5.15. Interprocess Communications |
| | | Section 5.16. POSIX Threads |
| | | Section 5.17. Large Page Support |
| | | Section 5.18. Common APIs |
| | | Section 5.19. Summary |
| | Chapter 6. Porting HP-UX Applications |
| | | Section 6.1. Preliminary Tasks |
| | | Section 6.2. General Differences |
| | | Section 6.3. The Compilers |
| | | Section 6.4. Linker |
| | | Section 6.5. Library Versioning |
| | | Section 6.6. Dynamic Linking and Shared Libraries |
| | | Section 6.7. Porting Shell Scripts to Linux |
| | | Section 6.8. Internationalization (I18N) |
| | | Section 6.9. Software Development Tools |
| | | Section 6.10. Threads |
| | | Section 6.11. Signals |
| | | Section 6.12. HP-UX System Calls and Linux Equivalents |
| | | Section 6.13. System Libraries |
| | | Section 6.14. GNU Scientific Library |
| | | Section 6.15. HP-UX and Linux APIs |
| | | Section 6.16. Interprocess Communications |
| | | Section 6.17. Summary |
| | Chapter 7. Testing and Debugging |
| | | Section 7.1. Using the GNU Debugger |
| | | Section 7.2. strace and ltrace |
| | | Section 7.3. cscope Utility |
| | | Section 7.4. glibc Debugging Support |
| | | Section 7.5. Memory-Debugging Tools |
| | | Section 7.6. Static Program Checker |
| | | Section 7.7. Threads trace Tool |
| | | Section 7.8. Performance Monitoring Tools |
| | | Section 7.9. Summary |
| | Appendix A. Solaris to Linux Reference Tables |
| | | Section A.1. Internationalization |
| | | Section A.2. System Calls |
| | | Section A.3. Basic Library Functions |
| | Appendix B. AIX to Linux Reference Tables |
| | | Section B.1. AIX and Linux C Compiler Options Table |
| | | Section B.2. AIX and Linux Linker Options Comparison Table |
| | | Section B.3. I/O Services APIs: AIX to Linux Cross-Reference |
| | | Section B.4. IPC Reference: AIX-Linux |
| | Appendix C. HP-UX to Linux Reference Tables |
| | | Section C.1. HP-UX and Linux C Compiler Options Table |
| | | Section C.2. HP-UX and Linux C++ Compiler Options Table |
| | | Section C.3. HP-UX and Linux System Calls Comparison Table |
| | | Section C.4. HP-UX and Linux Library API Comparison Table |
| | Appendix D. Linux on POWER |
| | | Section D.1. Development Environment for Linux on POWER |
| | | Section D.2. Porting Considerations |
| | | Section D.3. Architecture-Specific Differences |
| | Appendix E. gprof helper |
| | | Section E.1. gprof helper Module for Multithreaded Applications |
| | Appendix F. Porting Issues Specific to the IBM zSeries Mainframe |
| | | Section F.1. Linux on IBM zSeries |
| | | Section F.2. Data Types, Addresses, and Machine Words |
| | | Section F.3. Compiling and Linking |
| | | Section F.4. Byte Ordering |
| | | Section F.5. Other Differences |
| | | Section F.6. Variable Argument Lists |
| | | Section F.7. Where to Find More Information |
| | | Section F.8. Acknowledgments |
| | Appendix G. Solaris to Linux Migration: A Guide for System Administrators |
| | | Section G.1. Packaging Tasks |
| | | Section G.2. Installation and Upgrade Tasks |
| | | Section G.3. User Management Tasks |
| | | Section G.4. Network Management and Configuration |
| | | Section G.5. NFS Management and Configuration |
| | | Section G.6. Managing System Resources |
| | | Section G.7. Disk and Filesystem Management |
| | | Section G.8. Swap Management |
| | | Section G.9. Logical Volume Management |
| | | Section G.10. General Troubleshooting |
| | | Section G.11. Network Troubleshooting |
| | | Section G.12. Configuration and Other Files |
| | | Section G.13. Comparable Commands |
| | Index |