[prev in list] [next in list] [prev in thread] [next in thread] 

List:       apache-stdcxx-issues
Subject:    [jira] Commented: (STDCXX-1008) [HP aCC 6.16] -ipo: Invalid dynamic
From:       "Martin Sebor (JIRA)" <jira () apache ! org>
Date:       2008-09-05 19:00:48
Message-ID: 1911242995.1220641248719.JavaMail.jira () brutus
[Download RAW message or body]


    [ https://issues.apache.org/jira/browse/STDCXX-1008?page=com.atlassian.jira.plugin \
.system.issuetabpanels:comment-tabpanel&focusedCommentId=12628700#action_12628700 ] 

Martin Sebor commented on STDCXX-1008:
--------------------------------------

-------- Original Message --------
Subject: Re:  CXX-DEV: ld error: Invalid dynamic relocation needed for read-only \
                section
Date: Thu, 4 Sep 2008 19:38:46 -0700 (PDT)
From: Dennis Handly <dhandly AT cup DOT hp DOT com>
To: <cxx-dev AT cxx DOT cup DOT hp DOT com>, <sebor AT roguewave DOT com>

> From: Martin Sebor <sebor AT roguewave DOT com>
> I'm getting the errors below while building a 64-bit shared library with
> aCC A.06.16 and -ipo.  The objects referenced in the error messages are
> declared with internal linkage and thread-local.

In a small case I wrote to duplicate it, it seems a linker bug.
I.e. if you swap the two objects, it works.

> Is this a limitation of TLS/IPO or a known problem?
Martin

A new problem.  I filed QXCR1000848848:
Invalid dynamic relocation needed for read-only section for TLS -ipo

One workaround might be using \
[+tls|http://docs.hp.com/en/10946/options.htm#opt+tls]=static.

 _________________________________________________________________
 To leave this mailing list, send mail to majordomo@cxx.cup.hp.com
    with the message UNSUBSCRIBE cxx-dev
 _________________________________________________________________


> [HP aCC 6.16] -ipo: Invalid dynamic relocation error in domain_error.o and \
>                 iostore.o
> ------------------------------------------------------------------------------------
>  
> Key: STDCXX-1008
> URL: https://issues.apache.org/jira/browse/STDCXX-1008
> Project: C++ Standard Library
> Issue Type: Bug
> Components: Build and Installation
> Affects Versions: 4.2.1
> Environment: HP aCC 6.16 with the \
>                 [-ipo|http://docs.hp.com/en/10946/options.htm#opt-ipo] option
> Reporter: Martin Sebor
> Assignee: Martin Sebor
> Priority: Minor
> Fix For: 4.2.2
> 
> 
> Linking the library with HP aCC 6.16 with the \
> [-ipo|http://docs.hp.com/en/10946/options.htm#opt-ipo] option produces the \
> following linker errors: {noformat}
> aCC -AA +nostl -Wl,+s  -mt +DD64 +O2 -ipo  +Z -b +DD64 \
> assert.o atomic.o bitset.o catalog.o codecvt.o collate.o ctype.o ctype_bits.o \
> domain_error.o exception.o export.o facet.o file.o instance.o invalid_argument.o \
> ios.o ios_bits.o iostore.o iostream.o iso2022.o length_error.o limits.o \
> limits_bits.o \ locale_bits.o locale_body.o locale_classic.o locale_combine.o \
> locale_core.o \ locale_eq.o locale_global.o locale_name.o logic_error.o memattr.o \
> memory.o \ messages.o mman.o num_get.o num_put.o once.o out_of_range.o \
> overflow_error.o \ punct.o random.o range_error.o runtime_error.o setlocale.o \
> string.o strstream.o \ strtol.o ti_collate.o ti_filebuf.o ti_insert_dbl.o \
> ti_insert_int.o ti_insert_ptr.o ti_ios.o \ ti_istream.o ti_messages.o \
> ti_money_get.o ti_money_put.o ti_moneypunct.o \ ti_num_get.o ti_num_put.o \
> ti_numpunct.o ti_ostream.o ti_podarray.o ti_streambuf.o \ ti_string.o \
> ti_stringbuf.o ti_time_get.o ti_time_put.o ti_wcollate.o ti_wfilebuf.o \ \
> ti_winsert_dbl.o ti_winsert_int.o ti_winsert_ptr.o ti_wios.o ti_wistream.o \ \
> ti_wmessages.o ti_wmoney_get.o ti_wmoney_put.o ti_wmoneypunct.o \ ti_wnum_get.o \
> ti_wnum_put.o ti_wnumpunct.o ti_wostream.o ti_wstreambuf.o \ ti_wstring.o \
> ti_wstringbuf.o ti_wtime_get.o ti_wtime_put.o time_get.o time_put.o \ tmpbuf.o \
> typeinfo.o underflow_error.o valarray.o vecbool.o version.o wcodecvt.o \ wctype.o  \
> -o libstd12D.sl.4.2.2  "/amd/devco/sebor/stdcxx-4.2.x/src/collate.cpp", line 471, \
> procedure do_compare: warning #20200-D: Potential null pointer dereference through  \
> return of call to __rw::__rw_get_facet_data is detected (null \
> definition:/amd/devco/sebor/stdcxx-4.2.x/src/collate.cpp, line 974) \
> "/amd/devco/sebor/stdcxx-4.2.x/src/iso2022.cpp", line 775, procedure \
> __rw::__rw_eucjp_to_iso2022: warning #20200-D: Potential null pointer dereference \
> through esc is detected (null \
> definition:/amd/devco/sebor/stdcxx-4.2.x/src/iso2022.cpp, line 677) \
> "/amd/devco/sebor/stdcxx-4.2.x/src/locale_combine.cpp", line 511, procedure \
> __rw::__rw_init_classic: warning #20200-D: Potential null pointer dereference \
> through sep is detected (null \
> definition:/amd/devco/sebor/stdcxx-4.2.x/src/locale_combine.cpp, line 505) \
> "/amd/devco/sebor/stdcxx-4.2.x/src/locale_combine.cpp", line 533, procedure \
> __rw::__rw_init_classic: warning #20200-D: Potential null pointer dereference \
> through next is detected (null \
> definition:/amd/devco/sebor/stdcxx-4.2.x/src/locale_combine.cpp, line 511) \
> "/amd/devco/sebor/stdcxx-4.2.x/src/iso2022.cpp", line 744, procedure \
> __rw::__rw_iso2022jp_do_out: warning #20200-D: Potential null pointer dereference  \
> is detected (null definition:/amd/devco/sebor/stdcxx-4.2.x/src/iso2022.cpp, line \
> 744) "/amd/devco/sebor/stdcxx-4.2.x/src/file.cpp", line 521, procedure \
> ~basic_filebuf: warning #20200-D: Potential null pointer dereference through __buf \
> is detected (null definition:/amd/devco/sebor/stdcxx-4.2.x/include/fstream.cc, line \
> 390) "/amd/devco/sebor/stdcxx-4.2.x/include/loc/_money_put.cc", line 109, procedure \
> do_put: warning #20200-D: Potential null pointer dereference through __pun1 is \
> detected (null definition:/amd/devco/sebor/stdcxx-4.2.x/include/loc/_money_put.cc, \
> line 96) "/amd/devco/sebor/stdcxx-4.2.x/src/file.cpp", line 521, procedure seekpos: \
> warning #20200-D: Potential null pointer dereference through __buf is detected \
> (null definition:/amd/devco/sebor/stdcxx-4.2.x/include/fstream.cc, line 390) \
> "/amd/devco/sebor/stdcxx-4.2.x/include/loc/_money_put.cc", line 109, procedure \
> do_put: warning #20200-D: Potential null pointer dereference through __pun1 is \
> detected (null definition:/amd/devco/sebor/stdcxx-4.2.x/include/loc/_money_put.cc, \
> line 96) "/amd/devco/sebor/stdcxx-4.2.x/src/time_put.cpp", line 2691, procedure \
> __rw::__rw_fmt_time: warning #20200-D: Potential null pointer dereference through  \
> return of call to _C_get_data is detected (null \
> definition:/amd/devco/sebor/stdcxx-4.2.x/include/loc/_facet.h, line 193) \
> "/amd/devco/sebor/stdcxx-4.2.x/src/time_put.cpp", line 2786, procedure \
> __rw::__rw_fmt_time: warning #20200-D: Potential null pointer dereference through  \
> return of call to _C_get_data is detected (null \
>                 definition:/amd/devco/sebor/stdcxx-4.2.x/include/loc/_facet.h, line \
>                 193)
> ld: Invalid dynamic relocation needed for read-only section, in input file \
> domain_error.o, for symbol ____rw::__rw_what_buf___exception.cpp__262144_0140__ at \
>                 offset 52
> ld: Invalid dynamic relocation needed for read-only section, in input file \
> domain_error.o, for symbol ____rw::__rw_what_refcnt___exception.cpp__262144_0141__ \
>                 at offset 142
> ld: Invalid dynamic relocation needed for read-only section, in input file \
> iostore.o, for symbol ____rw::__rw_buffer___tmpbuf.cpp__2981888_0002__ at offset \
>                 242
> ld: Invalid dynamic relocation needed for read-only section, in input file \
> iostore.o, for symbol ____rw::__rw_buffer_busy___tmpbuf.cpp__2981888_0003__ at \
>                 offset 442
> ld: Invalid dynamic relocation needed for read-only section, in input file \
> iostore.o, for symbol ____rw::__rw_buffer___tmpbuf.cpp__2981888_0002__ at offset \
>                 582
> ld: Invalid dynamic relocation needed for read-only section, in input file \
> iostore.o, for symbol ____rw::__rw_buffer_busy___tmpbuf.cpp__2981888_0003__ at \
>                 offset 622
> ld: Invalid dynamic relocation needed for read-only section, in input file \
> iostore.o, for symbol ____rw::__rw_buffer_busy___tmpbuf.cpp__2981888_0003__ at \
>                 offset b42
> ld: Invalid dynamic relocation needed for read-only section, in input file \
>                 iostore.o, for symbol \
>                 ____rw::__rw_buffer___tmpbuf.cpp__2981888_0002__ at offset 12
> ld: Invalid dynamic relocation needed for read-only section, in input file \
> iostore.o, for symbol ____rw::__rw_buffer_busy___tmpbuf.cpp__2981888_0003__ at \
> offset 112 9 errors.
> gmake: *** [libstd12D.sl.4.2.2] Error 1
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic