[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2017-07-26 Thread egallager at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38384

Eric Gallager  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 CC||egallager at gcc dot gnu.org
 Resolution|--- |FIXED

--- Comment #51 from Eric Gallager  ---
(In reply to Steven Bosscher from comment #50)
> There was a lot of patch activity for this PR. Is it fixed?

I guess so

[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2012-01-29 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38384

Steven Bosscher steven at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |WAITING
 CC||steven at gcc dot gnu.org

--- Comment #50 from Steven Bosscher steven at gcc dot gnu.org 2012-01-29 
23:13:55 UTC ---
There was a lot of patch activity for this PR. Is it fixed?


[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2011-04-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38384

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|4.4.7   |---


[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2011-04-16 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38384

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|4.4.6   |4.4.7


[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2010-10-01 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38384

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|4.4.5   |4.4.6


[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2010-04-30 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.4.4   |4.4.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38384



[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2010-01-21 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.4.3   |4.4.4


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38384



[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2009-12-05 Thread rwild at gcc dot gnu dot org


--- Comment #49 from rwild at gcc dot gnu dot org  2009-12-05 17:19 ---
Subject: Bug 38384

Author: rwild
Date: Sat Dec  5 17:18:53 2009
New Revision: 155012

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155012
Log:
Sync from git Libtool and regenerate.

/:
PR target/38384
PR bootstrap/40972
* libtool.m4: Sync from git Libtool.
* ltoptions.m4: Likewise.
* ltversion.m4: Likewise.
* lt~obsolete.m4: Likewise.
* ltmain.sh: Likewise.

boehm-gc/:
* Makefile.in: Regenerate.
* configure: Regenerate.
* include/Makefile.in: Regenerate.

fixincludes/:
* configure: Regenerate.

gcc/:
* configure: Regenerate.

libffi/:
* Makefile.in: Regenerate.
* configure: Regenerate.
* include/Makefile.in: Regenerate.
* man/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

libgfortran/:
* Makefile.in: Regenerate.
* configure: Regenerate.

libgomp/:
* Makefile.in: Regenerate.
* configure: Regenerate.
* testsuite/Makefile.in: Regenerate.

libjava/classpath/:
* Makefile.in: Regenerate.
* configure: Regenerate.
* doc/Makefile.in: Regenerate.
* doc/api/Makefile.in: Regenerate.
* examples/Makefile.in: Regenerate.
* external/Makefile.in: Regenerate.
* external/jsr166/Makefile.in: Regenerate.
* external/relaxngDatatype/Makefile.in: Regenerate.
* external/sax/Makefile.in: Regenerate.
* external/w3c_dom/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* lib/Makefile.in: Regenerate.
* native/Makefile.in: Regenerate.
* native/fdlibm/Makefile.in: Regenerate.
* native/jawt/Makefile.in: Regenerate.
* native/jni/Makefile.in: Regenerate.
* native/jni/classpath/Makefile.in: Regenerate.
* native/jni/gconf-peer/Makefile.in: Regenerate.
* native/jni/gstreamer-peer/Makefile.in: Regenerate.
* native/jni/gtk-peer/Makefile.in: Regenerate.
* native/jni/java-io/Makefile.in: Regenerate.
* native/jni/java-lang/Makefile.in: Regenerate.
* native/jni/java-math/Makefile.in: Regenerate.
* native/jni/java-net/Makefile.in: Regenerate.
* native/jni/java-nio/Makefile.in: Regenerate.
* native/jni/java-util/Makefile.in: Regenerate.
* native/jni/midi-alsa/Makefile.in: Regenerate.
* native/jni/midi-dssi/Makefile.in: Regenerate.
* native/jni/native-lib/Makefile.in: Regenerate.
* native/jni/qt-peer/Makefile.in: Regenerate.
* native/jni/xmlj/Makefile.in: Regenerate.
* native/plugin/Makefile.in: Regenerate.
* resource/Makefile.in: Regenerate.
* scripts/Makefile.in: Regenerate.
* tools/Makefile.in: Regenerate.

libjava/:
* Makefile.in: Regenerate.
* configure: Regenerate.
* gcj/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

libmudflap/:
* Makefile.in: Regenerate.
* configure: Regenerate.
* testsuite/Makefile.in: Regenerate.

libobjc/:
* configure: Regenerate.

libssp/:
* Makefile.in: Regenerate.
* configure: Regenerate.

libstdc++-v3/:
* Makefile.in: Regenerate.
* configure: Regenerate.
* doc/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* python/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

lto-plugin/:
* configure: Regenerate.
* Makefile.in: Regenerate.

zlib/:
* Makefile.in: Regenerate.
* configure: Regenerate.

Modified:
trunk/ChangeLog
trunk/boehm-gc/ChangeLog
trunk/boehm-gc/Makefile.in
trunk/boehm-gc/configure
trunk/boehm-gc/include/Makefile.in
trunk/fixincludes/ChangeLog
trunk/fixincludes/configure
trunk/gcc/ChangeLog
trunk/gcc/configure
trunk/libffi/ChangeLog
trunk/libffi/Makefile.in
trunk/libffi/configure
trunk/libffi/include/Makefile.in
trunk/libffi/man/Makefile.in
trunk/libffi/testsuite/Makefile.in
trunk/libgfortran/ChangeLog
trunk/libgfortran/Makefile.in
trunk/libgfortran/configure
trunk/libgomp/ChangeLog
trunk/libgomp/Makefile.in
trunk/libgomp/configure
trunk/libgomp/testsuite/Makefile.in
trunk/libjava/ChangeLog
trunk/libjava/Makefile.in
trunk/libjava/classpath/ChangeLog
trunk/libjava/classpath/Makefile.in
trunk/libjava/classpath/configure
trunk/libjava/classpath/doc/Makefile.in
trunk/libjava/classpath/doc/api/Makefile.in
trunk/libjava/classpath/examples/Makefile.in
trunk/libjava/classpath/external/Makefile.in
trunk/libjava/classpath/external/jsr166/Makefile.in

[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2009-10-15 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.4.2   |4.4.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38384



[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2009-07-22 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.4.1   |4.4.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38384



[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2009-04-21 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.4.0   |4.4.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38384



[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2009-01-23 Thread r dot emrich at de dot tecosim dot com


--- Comment #46 from r dot emrich at de dot tecosim dot com  2009-01-23 
10:45 ---
Created an attachment (id=17164)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17164action=view)
Verbose output of static link step

As you can see for all libraries except libdld archives are used.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38384



[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2009-01-23 Thread r dot emrich at de dot tecosim dot com


--- Comment #47 from r dot emrich at de dot tecosim dot com  2009-01-23 
10:50 ---
Created an attachment (id=17165)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17165action=view)
chatr output for the resulting object

As you can see there is one dependency to libdl.1 what is ok AFAIK. There is no
libdl archive.
In the segment index there are two unknown segments. That is with cvs binutils
as of yesterday. But I think it's the same with binutils-2.16.1.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38384



[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2009-01-23 Thread dave at hiauly1 dot hia dot nrc dot ca


--- Comment #48 from dave at hiauly1 dot hia dot nrc dot ca  2009-01-23 
17:41 ---
Subject: Re:  shared link/execute fails for cross gcc from linux to target
hppa64-hp-hpux11.00

 As you can see there is one dependency to libdl.1 what is ok AFAIK. There is 
 no
 libdl archive.

Yes, there are a number of libraries that don't have archive versions.
I believe libdld needs the dynamic loader.  Another library is librt.
We try to handle this problem in the LIB_SPEC define.

 In the segment index there are two unknown segments. That is with cvs binutils
 as of yesterday. But I think it's the same with binutils-2.16.1.

Advise using recent version.  There are no recent fixes affecting
GNU ld on hpux, but there have been some assembler fixes.

I've seen the segment issue but don't have a fix.  There's something
going wrong in the core code.  I think this is the main issue with
shared libraries.

I tried a full native build last night with GNU ld.  It failed with
a broken f951 compiler.  The problem is pc-relative calls are broken
(no stub, or incorrect offset to stub) when the call distance exceeds
the maximum branch distance for the 22-bit pc-relative relocation.
This should be relatively straightforward to fix.

Dave


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38384



[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2009-01-22 Thread bkoz at gcc dot gnu dot org


--- Comment #44 from bkoz at gcc dot gnu dot org  2009-01-22 22:01 ---

Hey. I couldn't stop myself: since Dave said that HPUX doesn't support symbol
versioning, (no way, no how) I have changed libstdc++ configure to reflect
this.

:)

Ranier, great to see you got something working. I've changed the summary again
to reflect what is now left of this bug. You are correct in that
--disable-shared turns off shared library versioning, since versioning only
applies to the shared lib.

I believe that this is a documentation-only bug at this point. 

In particular, I think that this documentation page:
http://gcc.gnu.org/install/specific.html#hppa-hp-hpux

Should reflect this discussion. As it stands this:

There are a number of issues to consider in selecting which linker to use with
the 64-bit port. The GNU 64-bit linker can only create dynamic binaries. The
-static option causes linking with archive libraries but doesn't produce a
truly static binary. Dynamic binaries still require final binding by the
dynamic loader to resolve a set of dynamic-loader-defined symbols. The default
behavior of the HP linker is the same as the GNU linker. However, it can
generate true 64-bit static binaries using the +compat option. 

oddly changes:

The GNU 64-bit linker has some issues with shared library support and
exceptions. As a result, we only support libgcc in archive format. For similar
reasons, dwarf2 unwind and exception support are disabled. The GNU linker also
has problems creating binaries with -static. It doesn't provide stubs for
internal calls to global functions in shared libraries, so these calls can't be
overloaded. 

I can see how people are confused by this. GNU ld appears to not really work
with shared or static libs, from the docs. (But maybe just for 64 bit targets?)
But experience says it works with static libs, but not shared libs. Something
needs to be changed, and this section should be updated with the latest status
and best practice (which appears to be GNU as, HPUX ld).  (FWIW, it looks like
shared libgcc is being created on this target now with GNU ld or else this
alone would turn off symbol versioning.) Some love here by people in the know
would be helpful to all.

I leave the edits to the target maintainer.


-- 

bkoz at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||documentation
Summary|link/execute fails for cross|shared link/execute fails
   |gcc from linux to target|for cross gcc from linux to
   |hppa64-hp-hpux11.00 |target hppa64-hp-hpux11.00


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38384



[Bug target/38384] shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00

2009-01-22 Thread dave at hiauly1 dot hia dot nrc dot ca


--- Comment #45 from dave at hiauly1 dot hia dot nrc dot ca  2009-01-22 
22:36 ---
Subject: Re:  shared link/execute fails for cross gcc from linux to target
hppa64-hp-hpux11.00

 Hey. I couldn't stop myself: since Dave said that HPUX doesn't support symbol
 versioning, (no way, no how) I have changed libstdc++ configure to reflect
 this.
 
 :)
 
 Ranier, great to see you got something working. I've changed the summary again
 to reflect what is now left of this bug. You are correct in that
 --disable-shared turns off shared library versioning, since versioning only
 applies to the shared lib.
 
 I believe that this is a documentation-only bug at this point. 
 
 In particular, I think that this documentation page:
 http://gcc.gnu.org/install/specific.html#hppa-hp-hpux
 
 Should reflect this discussion. As it stands this:
 
 There are a number of issues to consider in selecting which linker to use with
 the 64-bit port. The GNU 64-bit linker can only create dynamic binaries. The
 -static option causes linking with archive libraries but doesn't produce a
 truly static binary. Dynamic binaries still require final binding by the
 dynamic loader to resolve a set of dynamic-loader-defined symbols. The default
 behavior of the HP linker is the same as the GNU linker. However, it can
 generate true 64-bit static binaries using the +compat option. 
 
 oddly changes:
 
 The GNU 64-bit linker has some issues with shared library support and
 exceptions. As a result, we only support libgcc in archive format. For similar
 reasons, dwarf2 unwind and exception support are disabled. The GNU linker also
 has problems creating binaries with -static. It doesn't provide stubs for
 internal calls to global functions in shared libraries, so these calls can't 
 be
 overloaded. 
 
 I can see how people are confused by this. GNU ld appears to not really work
 with shared or static libs, from the docs. (But maybe just for 64 bit 
 targets?)
 But experience says it works with static libs, but not shared libs. Something
 needs to be changed, and this section should be updated with the latest status
 and best practice (which appears to be GNU as, HPUX ld).  (FWIW, it looks like
 shared libgcc is being created on this target now with GNU ld or else this
 alone would turn off symbol versioning.) Some love here by people in the know
 would be helpful to all.

It's been awhile but I believe there never was an issue using archive
libraries.  There was a problem linking executables with -static that
I believe got fixed.

I agree this needs rewriting.  The problems with shared library support
are more important than the issues with -static.  However, some testing
is needed to determine the current state of GNU ld.

Dave


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38384