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 | |||||
|
|||||
|
|
||||
|
|||||
|
|