MantisBT - CMake | |||||
| View Issue Details | |||||
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0007873 | CMake | CMake | public | 2008-10-28 12:31 | 2016-06-10 14:30 |
| Reporter | George Neill | ||||
| Assigned To | Bill Hoffman | ||||
| Priority | normal | Severity | minor | Reproducibility | N/A |
| Status | closed | Resolution | moved | ||
| Platform | Sun SPARC | OS | Solaris | OS Version | 10 |
| Product Version | CMake-2-6 | ||||
| Target Version | Fixed in Version | ||||
| Summary | 0007873: sun solaris (sparc) -xcode vs. -KPIC | ||||
| Description | Sun Studio 12, on SPARC, (possibly back to SS10?) obsoletes the use of the -KPIC when building shared libraries. <manpage quote> -KPIC (SPARC) Obsolete. You should not use this option. Use -xcode=pic32 instead. For a complete list of obsolete options and flags, see the C User's Guide. (x86) -KPIC is identical to -Kpic on x86 architectures. -Kpic (SPARC) Obsolete. You should not use this option. Use -xcode=pic13 instead. For a complete list of obsolete options and flags, see the C User's Guide. (x86) Produces position-independent code. Use this option to compile source files when building a shared library. Each reference to a global datum is generated as a dereference of a pointer in the global offset table. Each function call is generated in pc-relative addressing mode through a procedure linkage table. </manpage quote> and here's the relevent documentation from the manpages about -xcode. <manpage quote> -xcode=v (SPARC) Specify code address space Note: It is highly recommended that you build shared objects by specifying -xcode=pic13 or -xcode=pic32. It is possible to build workable shared objects with -xarch=v9 -xcode=abs64 and with -xarch=v8 -xcode=abs32, but these will be inefficient. Shared objects built with -xarch=v9 -xcode=abs32 or -xarch=v9 -xcode=abs44 will not work. The values for -xcode are: abs32 This is the default for 32-bit systems. Gen- erates 32-bit absolute addresses. Code + data + bss size is limited to 2**32 bytes. abs44 This is the default for 64-bit systems. Gen- erates 44-bit absolute addresses. Code + data + bss size is limited to 2**44 bytes. Available only on 64-bit architectures. abs64 Generates 64-bit absolute addresses. Available only on 64-bit architectures. pic13 Generates position-independent code for use in shared libraries (small model). Equivalent to -Kpic. Permits references to at most 2**11 unique external symbols on 32-bit architectures, 2**10 on 64-bit. pic32 Generates position-independent code for use in shared libraries (large model). Equivalent to -KPIC. Permits references to at most 2**30 unique external symbols on 32-bit architectures, 2**29 on 64-bit. The default is -xcode=abs32 for 32-bit architectures. The default is -xcode=abs44 for 64-bit architectures. When building shared dynamic libraries, the default -xcode value of abs44 (not abs32) will not work with 64-bit architectures. Specify -xcode=pic13 or -xcode=pic32 instead. To determine whether to use -xcode=pic13 or -xcode=pic32, check the size of the Global Offset Table (GOT) by using elfdump -c (see the elfdump(1) man page for more information) and to look for the section header, sh_name: .got. The sh_size value is the size of the GOT. If the GOT is less than 8,192 bytes, specify -xcode=pic13, otherwise specify -xcode=pic32. In general, use the following guidelines to determine how you should use -xcode: o If you are building an executable you should not use -xcode=pic13 or -xcode=pic32. o If you are building an archive library only for linking into executables you should not use -xcode=pic13 or -xcode=pic32. o If you are building a shared library, start with -xcode=pic13 and once the GOT size exceeds 8,192 bytes, use -xcode=pic32. o If you are building an archive library for linking into shared libraries you should just use -xcode=pic32. </manpage quote> | ||||
| Steps To Reproduce | |||||
| Additional Information | It appears the -KPIC flag is still accepted by the compiler, so I have set this bug as minor severity. | ||||
| Tags | No tags attached. | ||||
| Relationships | |||||
| Attached Files | |||||
| Issue History | |||||
| Date Modified | Username | Field | Change | ||
| 2008-10-28 12:31 | George Neill | New Issue | |||
| 2009-01-07 14:34 | Bill Hoffman | Status | new => assigned | ||
| 2009-01-07 14:34 | Bill Hoffman | Assigned To | => Bill Hoffman | ||
| 2013-11-02 10:18 | Stephen Kelly | Note Added: 0034322 | |||
| 2016-06-10 14:27 | Kitware Robot | Note Added: 0041461 | |||
| 2016-06-10 14:27 | Kitware Robot | Status | assigned => resolved | ||
| 2016-06-10 14:27 | Kitware Robot | Resolution | open => moved | ||
| 2016-06-10 14:30 | Kitware Robot | Status | resolved => closed | ||
| Notes | |||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||