Print this page
10267 ld and GCC disagree about i386 local dynamic TLS

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/sgs/packages/common/SUNWonld-README
          +++ new/usr/src/cmd/sgs/packages/common/SUNWonld-README
↓ open down ↓ 63 lines elided ↑ open up ↑
  64   64          /net/sunsoftpatch/patches/temporary
  65   65  
  66   66      Note, any patches logged here refer to the temporary ("T") name, as we
  67   67      never know when they're made official, and although we try to keep all
  68   68      patch information up-to-date the real status of any patch can be
  69   69      determined from:
  70   70  
  71   71          http://sunsoftpatch.eng
  72   72  
  73   73      If it has been obsoleted, the patch will be in:
  74      -    
       74 +
  75   75          /net/on${RELEASE}-patch/on${RELEASE}/patches/${MACH}/obsolete
  76   76  
  77   77  
  78   78    History:
  79   79  
  80   80      Note, starting after Solaris 10, letter codes in parenthesis may
  81   81      be found following the bug synopsis. Their meanings are as follows:
  82   82  
  83   83          (D) A documentation change accompanies the implementation change.
  84   84          (P) A packaging change accompanies the implementation change.
↓ open down ↓ 54 lines elided ↑ open up ↑
 139  139  4292238 linking a library which has a static char ptr invokes mprotect() call
 140  140  --------------------------------------------------------------------------------
 141  141  All the above changes except for:
 142  142      4256518 miscalculated calloc() during dlclose/tsorting can result in segv
 143  143      4254171 DT_SPARC_REGISTER has invalid value associated with it.
 144  144  plus:
 145  145      4238973 fix for 4121152 affects linking of Ada objects
 146  146      4158744 patch 103627-02 causes core when RPATH has blank entry and
 147  147              dlopen/dlclose is used
 148  148  are incorporated in the following patches:
 149      -        Solaris/SunOS 5.5.1_sparc       patch 103627-13 
      149 +        Solaris/SunOS 5.5.1_sparc       patch 103627-13
 150  150          Solaris/SunOS 5.5.1_x86         patch 103628-12
 151  151  --------------------------------------------------------------------------------
 152  152  All the above changes are incorporated in the following patches:
 153  153          Solaris/SunOS 5.7_sparc         patch 106950-08
 154  154          Solaris/SunOS 5.7_x86           patch 106951-08
 155  155          Solaris/SunOS 5.6_sparc         patch 107733-05
 156  156          Solaris/SunOS 5.6_x86           patch 107734-05
 157  157  --------------------------------------------------------------------------------
 158  158  4295613 COMMON symbol resolution can be incorrect
 159  159  --------------------------------------------------------------------------------
↓ open down ↓ 292 lines elided ↑ open up ↑
 452  452  4482035 setting LD_PROFILE & LD_AUDIT causes ping command to issue warnings
 453  453          on 5.8
 454  454  4377735 segment reservations cause sbrk() to fail
 455  455  4491434 ld.so.1 can leak file-descriptors when loading same named objects
 456  456  4289232 some of warning/error/debugging messages from libld.so can be revised
 457  457  4462748 Linker Portion of TLS Support
 458  458  4496718 run-time linkers mutex_locks not working with ld_libc interface
 459  459  4497270 The -zredlocsym option should not eliminate partially initialized local
 460  460          symbols
 461  461  4496963 dumping an object with crle(1) that uses $ORIGIN can loose its
 462      -        dependencies 
      462 +        dependencies
 463  463  4499413 Sun linker orders of magnitude slower than gnu linker
 464  464  4461760 lazy loading libXm and libXt can fail.
 465  465  4469031 The partial initialized (local) symbols for intel platform is not
 466  466          working.
 467  467  4492883 Add link-editor option to multi-pass archives to resolve unsatisfied
 468  468          symbols
 469  469  4503731 linker-related commands misspell "argument"
 470  470  4503768 whocalls(1) should output messages to stderr, not stdout
 471  471  4503748 whocalls(1) usage message and manpage could be improved
 472  472  4503625 nm should be taught about TLS symbols - that they aren't allowed that is
↓ open down ↓ 169 lines elided ↑ open up ↑
 642  642          PSARC/2002/478 New dlopen(3dl) flag - RTLD_FIRST
 643  643  4714146 crle: 64-bit secure pathname is incorrect.
 644  644  4504895 dlclose() does not remove all objects
 645  645  4698800 Wrong comments in /usr/lib/ld/sparcv9/map.*
 646  646  4745129 dldump is inconsistent with .dynamic processing errors.
 647  647  4753066 LD_SIGNAL isn't very useful in a threaded environment
 648  648          PSARC/2002/569 New dlinfo(3dl) flag - RTLD_DI_SIGNAL
 649  649  4765536 crle: symbolic links can confuse alternative object configuration info
 650  650  4766815 ld -r of object the TLS data fails
 651  651  4770484 elfdump can not handle stripped archive file
 652      -4770494 The ld command gives improper error message handling broken archive 
      652 +4770494 The ld command gives improper error message handling broken archive
 653  653  4775738 overwriting output relocation table when 'ld -zignore' is used
 654  654  4778247 elfdump -e of core files fails
 655  655  4779976 elfdump dies on bad relocation entries
 656  656  4787579 invalid SHT_GROUP entries can cause linker to seg fault
 657  657  4783869 dlclose: filter closure exhibits hang/failure - introduced with 4504895
 658  658  4778418 ld.so.1: there be nits out there
 659  659  4792461 Thread-Local Storage - x86 instruction sequence updates
 660  660          PSARC/2002/746 Thread-Local Storage - x86 instruction sequence updates
 661  661  4461340 sgs: ugly build output while suppressing ia64 (64-bit) build on Intel
 662  662  4790194 dlopen(..., RTLD_GROUP) has an odd interaction with interposition
↓ open down ↓ 52 lines elided ↑ open up ↑
 715  715  4838226 unrelocated shared objects may be erroneously collected for init firing
 716  716  4830889 TLS: testcase coredumps with -xarch=v9 and -g
 717  717  4845764 filter removal can leave dangling filtee pointer
 718  718  4811093 apptrace -F libc date core dumps
 719  719  4826315 Link editors need to be pre- and post- Unified Process Model aware
 720  720  4868300 interposing on direct bindings can fail
 721  721  4872634 Large LD_PRELOAD values can cause SEGV of process
 722  722  --------------------------------------------------------------------------------
 723  723  All the above changes are incorporated in the following patches:
 724  724          Solaris/SunOS 5.9_sparc         patch T112963-09
 725      -        Solaris/SunOS 5.9_x86           patch T113986-05
      725 +        Solaris/SunOS 5.9_x86           patch T113986-05
 726  726          Solaris/SunOS 5.8_sparc         patch T109147-25
 727  727          Solaris/SunOS 5.8_x86           patch T109148-25
 728  728  --------------------------------------------------------------------------------
 729  729  
 730  730  ------------------------------------
 731  731  Solaris 9 404 (6th Q-update - s9u6)
 732  732  ------------------------------------
 733  733  Bugid   Risk Synopsis
 734  734  ================================================================================
 735  735  4870260 The elfdump command should produce more warning message on invalid move
↓ open down ↓ 63 lines elided ↑ open up ↑
 799  799  4939626 SUNWonld internal package must be updated...
 800  800  4939565 per-symbol filtering required
 801  801  4948119 ld(1) -z loadfltr fails with per-symbol filtering
 802  802  4948427 ld.so.1 gives fatal error when multiple RTLDINFO objects are loaded
 803  803  4940894 ld core dumps using "-xldscope=symbolic
 804  804  4955373 per-symbol filtering refinements
 805  805  4878827 crle(1M) - display post-UPM search paths, and compensate for pre-UPM.
 806  806  4955802 /usr/ccs/bin/ld dumps core in process_reld()
 807  807  4964415 elfdump issues wrong relocation error message
 808  808  4966465 LD_NOAUXFLTR fails when object is both a standard and auxiliary filter
 809      -4973865 the link-editor does not scale properly when linking objects with 
      809 +4973865 the link-editor does not scale properly when linking objects with
 810  810          lots of syms
 811  811  4975598 SHT_SUNW_ANNOTATE section relocation not resolved
 812  812  4974828 nss_files nss_compat r_mt tests randomly segfaulting
 813  813  --------------------------------------------------------------------------------
 814  814  All the above changes are incorporated in the following patches:
 815  815          Solaris/SunOS 5.9_sparc         patch T112963-13
 816  816          Solaris/SunOS 5.9_x86           patch T113986-09
 817  817  --------------------------------------------------------------------------------
 818  818  4860508 link-editors should create/promote/verify hardware capabilities
 819  819  5002160 crle: reservation for dumped objects gets confused by mmaped object
↓ open down ↓ 108 lines elided ↑ open up ↑
 928  928  6190863 sparc disassembly code should be removed from rdb_demo
 929  929  6191488 unwind eh_frame_hdr needs corrected encoding value
 930  930  6192490 moe(1) returns /lib/libc.so.1 for optimal expansion of libc HWCAP
 931  931          libraries
 932  932  6192164 AMD64: introduce dlamd64getunwind interface
 933  933          PSARC/2004/747 libc::dlamd64getunwind()
 934  934  6195030 libdl has bad version name
 935  935  6195521 64-bit moe(1) missed the train
 936  936  6198358 AMD64: bad eh_frame_hdr data when C and C++ mixed in a.out
 937  937  6204123 ld.so.1: symbol lookup fails even after lazy loading fallback
 938      -6207495 UNIX98/UNIX03 vsx namespace violation DYNL.hdr/misc/dlfcn/T.dlfcn 
      938 +6207495 UNIX98/UNIX03 vsx namespace violation DYNL.hdr/misc/dlfcn/T.dlfcn
 939  939          14 Failed
 940  940  6217285 ctfmerge crashed during full onnv build
 941  941  --------------------------------------------------------------------------------
 942  942  
 943  943  -------------------------------------
 944  944  Solaris 10 106 (1st Q-update - s10u1)
 945  945  -------------------------------------
 946  946  Bugid   Risk Synopsis
 947  947  ================================================================================
 948  948  6209350 Do not include signature section from dynamic dependency library into
↓ open down ↓ 394 lines elided ↑ open up ↑
1343 1343          extraction
1344 1344  6515970 HWCAP processing doesn't clean up fmap structure - browser fails to
1345 1345          run java applet
1346 1346  6494214 Refinements to symbolic binding, symbol declarations and
1347 1347          interposition (D)
1348 1348          PSARC/2006/714 ld(1) mapfile: symbol interpose definition
1349 1349  6475344 DTrace needs ELF function and data symbols sorted by address (D)
1350 1350          PSARC/2007/026 ELF symbol sort sections
1351 1351  6518480 ld -melf_i386 doesn't complain (D)
1352 1352  6519951 bfu is just another word for exit today (RPATH -> RUNPATH conversion
1353      -        bites us) (D) 
     1353 +        bites us) (D)
1354 1354  6521504 ld: hardware capabilities processing from relocatables objects needs
1355 1355          hardening.
1356 1356  6518322 Some ELF utilities need updating for .SUNW_ldynsym section (D)
1357 1357          PSARC/2007/074 -L option for nm(1) to display SHT_SUNW_LDYNSYM symbols
1358 1358  6523787 dlopen() handle gets mistakenly orphaned - results in access to freed
1359 1359          memory
1360 1360  6531189 SEGV in dladdr()
1361 1361  6527318 dlopen(name, RTLD_NOLOAD) returns handle for unloaded library
1362 1362  6518359 extern mapfiles references to _init/_fini can create INIT/FINI
1363 1363          addresses of 0
↓ open down ↓ 290 lines elided ↑ open up ↑
1654 1654  4270    ld(1) argument error reporting is still pretty bad
1655 1655  4383    libelf can't write extended sections when ELF_F_LAYOUT
1656 1656  4959    completely discarded merged string sections will corrupt output objects
1657 1657  4996    rtld _init race leads to incorrect symbol values
1658 1658  5688    ELF tools need to be more careful with dwarf data
1659 1659  6098    ld(1) should not require symbols which identify group sections be global
1660 1660  6252    ld should merge function/data-sections in the same manner as GNU ld
1661 1661  7323    ld(1) -zignore can erroneously discard init and fini arrays as unreferenced
1662 1662  7594    ld -zaslr should accept Solaris-compatible values
1663 1663  8616    ld has trouble parsing -z options specified with -Wl
     1664 +10267   ld and GCC disagree about i386 local dynamic TLS
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX