[
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 [EMAIL PROTECTED]
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.