Who's Online |
77 user(s) are online ( 65 user(s) are browsing Forums)
Members: 1
Guests: 76
BCP,
more...
|
|
Headlines |
-
amystromwifiswitch.lha - utility/misc
Mar 29, 2023
-
nvme_driver.lha - driver/storage
Mar 26, 2023
-
amiarcadia.lha - emulation/gamesystem
Mar 26, 2023
-
animwebconverter.lha - graphics/misc
Mar 27, 2023
-
vanillara.lha - game/strategy
Mar 25, 2023
-
vanillatd.lha - game/strategy
Mar 25, 2023
-
amitube.lha - video/play
Mar 25, 2023
-
amissl-sdk.lha - development/misc
Mar 23, 2023
-
unext.lha - game/platform
Mar 23, 2023
-
mce.lha - game/utility
Mar 23, 2023
|
|
|
|
Re: The ADTOOLS thread
|
|
Quite a regular 
|
@afxgroup
Okay, can you please add a test that proves that CLIB2 SO works? You can add it to the linked repository above.
Can you show that the order of the constructors and destructor are correct also?
You just need to close that repo above and add a new test into tests.
Or, just give me the sources and I'll add it.
Thanks.
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Re: X1000 doesn't power on
|
|
Quite a regular 
|
You have a multi meter tool?
Heard it many times on this thread, but just make sure the battery is giving a good voltage. Should be able to measure the voltage when it is plugged into to the socket too. Can just use a mounting screw for ground.
Make sure that there are also no shorts between the ground rail and 3v etc.
I am no expert, but dable in classic repairs from time to time and these simple things have helped me before.
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Re: The ADTOOLS thread
|
|
Quite a regular 
|
@afxgroup Is it possible to consider the response from @Joerg? It is useful to talk openly in this thread versus silo-d Discord discussion (though that is necessary and useful too). I would like to be able to make a PR to ADTOOLS to start using this amigaos.h file. But, I would also like someone to add tests to https://github.com/3246251196/adtools_testing to prove the SO works for newlib and clib2. Then, I can even make another PR to add those tests to ADTOOLS.
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Re: Official release date of Doom3 for AmigaOS4
|
|
Quite a regular 
|
That is what I am using. I just mis-typed it.
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Re: How does AmiUpdate work internally?
|
|
Quite a regular 
|
Well, since I have no way to re-download the newlib updated I cannot remember what was in it - but I am 90% sure there was a libc.a in there.
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Re: binutils 2.23.2
|
|
Quite a regular 
|
If you want any help with how the patching in ADTOOLS works (GILD) then let me know.
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
How does AmiUpdate work internally?
|
|
Quite a regular 
|
Say I installed the SDK (that contains an older "libc.a" for newlib)
Say I then ran AmiUpdate and get the updated newlib that was pushed out; presumably that updates both "newlib.library" and replaces the older "libc.a" in the SDK?
Now, say that I reinstall the SDK overwriting the previously updated "libc.a".
If I run AmiUpdate again, will it recognise that my SDK "libc.a" for newlib is out of date and offer me to resinstall it again - or does it merely check "version newlib.library"?
In any case, is there not a way to see all the recent updates. I should be able to see them and redownloaded them even if the program thinks that I do not need them.
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Re: Enhancer Installer - Impossible to reinstall
|
|
Quite a regular 
|
For now: I just hacked the install script to bypass this and forced the option to back it up.
The top left window also cannot be moved - stopping me from being able to do necessary things.
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Enhancer Installer - Impossible to reinstall
|
|
Quite a regular 
|
https://ibb.co/3c788GkI can click on PROCEED all day and nothing will happen. I cannot see the check boxes to the right. I wanted to re-install so that the SDK files would be reinstalled versus needing to write some DOS script to do this for me. Please either fix or let me know how to work around this. I guess I can look into the installer script and figure it out; regardless, it should be addressed.
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Re: Official release date of Doom3 for AmigaOS4
|
Posted on: 3/15 12:41
#10
|
Quite a regular 
|
Well there is some improvement. BTW, I am really using these demos to try and find out where the bottleneck in my system is. Either this is normal, or I have some bad hardware or something is badly configured. It is nothing to do with criticising the game! So, with everything completely untouched... except... changing to "ARB" render in the doom3.cfg file and... except... changing to 1920x1080 fullscreen I get the following:
Doom3 AOS4 joystick: No joystick found, please! connect your joystick.
terminal support disabled
pid: 453
2048 MB System Memory
guessing video ram ( use +set sys_videoRam to force ) ..
256 MB Video Memory
doom using generic code for SIMD processing
----- Initializing File System -----
Loaded pk4 base/base/pak000.pk4 with checksum 0x28d208f1
Loaded pk4 base/base/pak001.pk4 with checksum 0x40244be0
Loaded pk4 base/base/pak002.pk4 with checksum 0xc51ecdcd
Loaded pk4 base/base/pak003.pk4 with checksum 0xcd79d028
Loaded pk4 base/base/pak004.pk4 with checksum 0x765e4f8b
Loaded pk4 base/base/pak005.pk4 with checksum 0x8ffc3621
Loaded pk4 base/base/pak006.pk4 with checksum 0x95b65ab
Loaded pk4 base/base/pak007.pk4 with checksum 0x666bdb3c
Loaded pk4 base/base/pak008.pk4 with checksum 0x23ae5993
Current search path:
Doom3-Configs/base
Doom3-Saves/base
base/base
base/base/pak008.pk4 (3 files)
base/base/pak007.pk4 (38 files)
base/base/pak006.pk4 (48 files)
base/base/pak005.pk4 (63 files)
base/base/pak004.pk4 (5137 files)
base/base/pak003.pk4 (4676 files)
base/base/pak002.pk4 (6120 files)
base/base/pak001.pk4 (8972 files)
base/base/pak000.pk4 (2698 files)
game DLL: 0x0 in pak: 0x0
Addon pk4s:
file system initialized.
--------------------------------------
----- Initializing Decls -----
------- Initializing renderSystem --------
renderSystem initialized.
--------------------------------------
5206 strings read from strings/english.lang
Couldn't open journal files
execing editor.cfg
execing default.cfg
"" isn't a valid key
execing doom3.cfg
couldn't exec autoexec.cfg
5206 strings read from strings/english.lang
----- Initializing OpenAL AmigaOS4 for Doom3 EGL_Wrap 2022 -----
Setup OpenAL device and context
OpenAL: found device 'AHI Default'
OpenAL vendor: OpenAL Community
OpenAL renderer: OpenAL Soft
OpenAL version: 1.1 ALSOFT 1.18.2
OpenAL: found EFX extension
OpenAL: found 256 hardware voices
----- Initializing OpenGL -----
Initializing Dhewm3 OpenGL subsystem
Using 8 color bits, 24 depth, 8 stencil display
OpenGL vendor: ptitSeb
OpenGL renderer: GL4ES wrapper
OpenGL version: 2.0 gl4es wrapper 1.1.5
...using GL_ARB_multitexture
...using GL_ARB_texture_env_combine
...using GL_ARB_texture_cube_map
...using GL_ARB_texture_env_dot3
...using GL_ARB_texture_env_add
...using GL_ARB_texture_non_power_of_two
...using GL_ARB_texture_compression
...using GL_EXT_texture_compression_s3tc
...using GL_EXT_texture_filter_anisotropic
maxTextureAnisotropy: 16.000000
...using GL_1.4_texture_lod_bias
X..GL_EXT_shared_texture_palette not found
X..GL_EXT_texture3D not found
...using GL_EXT_stencil_wrap
X..GL_EXT_stencil_two_side not found
... got GL2.0+ glStencilOpSeparate()
...using GL_ARB_vertex_buffer_object
...using GL_ARB_vertex_program
...using GL_ARB_fragment_program
ARBFragmentProgram is Available now! for EGL_Wrap and arb2
...using GL_ARB_shading_language_100
X..EXT_depth_bounds_test not found
---------- R_ARB2 renderer Init ----------
Available.
---------------------------------
----- R_ReloadARBPrograms -----
Loading external shader ARB2 == glprogs/test.vfp
Loading external shader ARB2 == glprogs/test.vfp
Loading external shader ARB2 == glprogs/interaction.vfp
Loading external shader ARB2 == glprogs/interaction.vfp
Loading external shader ARB2 == glprogs/bumpyEnvironment.vfp
Loading external shader ARB2 == glprogs/bumpyEnvironment.vfp
Loading external shader ARB2 == glprogs/ambientLight.vfp
Loading external shader ARB2 == glprogs/ambientLight.vfp
Loading external shader ARB2 == glprogs/shadow.vp
Loading external shader ARB2 == glprogs/environment.vfp
Loading external shader ARB2 == glprogs/environment.vfp
Loading external shader ARB2 == glprogs/arbVP_glasswarp.txt
Loading external shader ARB2 == glprogs/arbFP_glasswarp.txt
-------------------------------
---------- R_GLSL_Init ----------
Available.
---------------------------------
----- R_ReloadGLSLPrograms -----
glslprogs/interaction.vert
glslprogs/interaction_etc.frag
glslprogs/shadow.vert
glslprogs/shadow.frag
glslprogs/default.vert
glslprogs/default.frag
glslprogs/zfill.vert
glslprogs/zfill.frag
glslprogs/cubemap.vert
glslprogs/cubemap.frag
glslprogs/reflectionCubemap.vert
glslprogs/reflectionCubemap.frag
glslprogs/zfillClip.vert
glslprogs/zfillClip.frag
glslprogs/fog.vert
glslprogs/fog.frag
glslprogs/blendLight.vert
glslprogs/blendLight.frag
glslprogs/interaction_blinnphong.vert
glslprogs/interaction_blinnphong_etc.frag
glslprogs/diffuseCubemap.vert
glslprogs/diffuseCubemap.frag
glslprogs/texgen.vert
glslprogs/texgen.frag
-------------------------------
using ARB_vertex_buffer_object memory (FAST)
using ARB AmigaOS4 renderSystem
Will apply r_gamma and r_brightness in shaders (r_gammaInShader 1)
----- Initializing Game -----
gamename: baseDOOM-1
gamedate: Mar 5 2023
Initializing event system
...473 event definitions
Initializing class hierarchy
...142 classes, 382184 bytes for event callbacks
Initializing scripts
Compiled 'script/doom_main.script': 3088 ms
----- Compile stats -----
Memory usage:
Strings: 79, 9648 bytes
Statements: 67875, 1357500 bytes
Functions: 2109, 250532 bytes
Variables: 147376 bytes
Mem used: 2576440 bytes
Static data: 2477552 bytes
Allocated: 3481696 bytes
Thread size: 13212 bytes
...6 aas types
game initialized.
-----------------------------
----- Initializing Session -----
]timedemo demo1 usecache
----- Game Map Shutdown -----
removed 4 degenerate triangles
stopped playing .
----- Game Map Shutdown -----
----- Game Map Shutdown -----
idRenderWorldLocal::InitFromMap: retaining existing map
stopped playing .
2148 frames rendered in 101.3 seconds = 21.2 fps
----- Game Map Shutdown -----
----- Game Map Shutdown -----
Shutting down sound hardware
idRenderSystem::Shutdown()
Shutting down OpenGL subsystem
----- Game Shutdown -----
----- Game Map Shutdown -----
Shutdown event system
Which is 21FPS ARB. GLSL gives 16FPS. This time I am using "timedemo demo1 usecache" As well as the lib versions reported above, RadeonHD.chip is at 3.7. Seems to be way off the mark. === On my X5000 the demo is 25 fps, 1920,1200 GLSL. Very playable, though I do notice that Betruger is completely black as well as a few other things.
Edited by rjd324 on 2023/3/15 14:32:42 Edited by rjd324 on 2023/3/15 16:42:38
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Re: Official release date of Doom3 for AmigaOS4
|
Posted on: 3/15 11:08
#11
|
Quite a regular 
|
Hi, thanks.
So? command can go either in the: - autoexec.cfg - default.cfg - in the command window at runtime when you press the ` key (probably not a good idea, or not possible: changing renderer at runtime for example)
Thanks.
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Re: binutils 2.23.2
|
Posted on: 3/15 10:43
#12
|
Quite a regular 
|
@kas1e
I guess what you are doing is checkingout/cloning ADTOOLS and going through the patches for 2.23.2 and trying to "port" those patches to the newer version of binutils which - of course - is a lot of manual work.
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Re: Official release date of Doom3 for AmigaOS4
|
Posted on: 3/15 10:11
#13
|
Quite a regular 
|
Hi,
Let me try this later.
One thing - how do I force a change in the driver? Say I want to run with GLSL instead of ARB2...
Merci.
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Re: Official release date of Doom3 for AmigaOS4
|
|
Quite a regular 
|
Hi, on my X1000 machine I downloaded the latest game and egl wrap. No matter what I do I am seeing the same FPS rate. Fullscreen/Window, high settings/low settings, 800/600, 1920/1200; It does not matter if I even insert into "default.cfg" into the BASE dir:
seta r_speedHackShadow "0"
I have also tried "2.0" and always the same frame rate of 11FPS. I am always using
timedemo demo1.demo
X1000, 7950HD
6.Workbench:> version warp3dnova.library
Warp3DNova.library 54.16
6.Workbench:> version ogles2.library
ogles2.library 3.3
Log file:
Doom3 AOS4 joystick: No joystick found, please! connect your joystick.
terminal support disabled
pid: 605
2048 MB System Memory
guessing video ram ( use +set sys_videoRam to force ) ..
256 MB Video Memory
doom using generic code for SIMD processing
----- Initializing File System -----
Loaded pk4 base/base/pak000.pk4 with checksum 0x28d208f1
Loaded pk4 base/base/pak001.pk4 with checksum 0x40244be0
Loaded pk4 base/base/pak002.pk4 with checksum 0xc51ecdcd
Loaded pk4 base/base/pak003.pk4 with checksum 0xcd79d028
Loaded pk4 base/base/pak004.pk4 with checksum 0x765e4f8b
Loaded pk4 base/base/pak005.pk4 with checksum 0x8ffc3621
Loaded pk4 base/base/pak006.pk4 with checksum 0x95b65ab
Loaded pk4 base/base/pak007.pk4 with checksum 0x666bdb3c
Loaded pk4 base/base/pak008.pk4 with checksum 0x23ae5993
Current search path:
Doom3-Configs/base
Doom3-Saves/base
base/base
base/base/pak008.pk4 (3 files)
base/base/pak007.pk4 (38 files)
base/base/pak006.pk4 (48 files)
base/base/pak005.pk4 (63 files)
base/base/pak004.pk4 (5137 files)
base/base/pak003.pk4 (4676 files)
base/base/pak002.pk4 (6120 files)
base/base/pak001.pk4 (8972 files)
base/base/pak000.pk4 (2698 files)
game DLL: 0x0 in pak: 0x0
Addon pk4s:
file system initialized.
--------------------------------------
----- Initializing Decls -----
------- Initializing renderSystem --------
renderSystem initialized.
--------------------------------------
5206 strings read from strings/english.lang
Couldn't open journal files
execing editor.cfg
execing default.cfg
"" isn't a valid key
execing doom3.cfg
couldn't exec autoexec.cfg
5206 strings read from strings/english.lang
----- Initializing OpenAL AmigaOS4 for Doom3 EGL_Wrap 2022 -----
Setup OpenAL device and context
OpenAL: found device 'AHI Default'
OpenAL vendor: OpenAL Community
OpenAL renderer: OpenAL Soft
OpenAL version: 1.1 ALSOFT 1.18.2
OpenAL: found EFX extension
OpenAL: found 256 hardware voices
----- Initializing OpenGL -----
Initializing Dhewm3 OpenGL subsystem
Using 8 color bits, 24 depth, 8 stencil display
OpenGL vendor: ptitSeb
OpenGL renderer: GL4ES wrapper
OpenGL version: 2.0 gl4es wrapper 1.1.5
...using GL_ARB_multitexture
...using GL_ARB_texture_env_combine
...using GL_ARB_texture_cube_map
...using GL_ARB_texture_env_dot3
...using GL_ARB_texture_env_add
...using GL_ARB_texture_non_power_of_two
...using GL_ARB_texture_compression
...using GL_EXT_texture_compression_s3tc
...using GL_EXT_texture_filter_anisotropic
maxTextureAnisotropy: 16.000000
...using GL_1.4_texture_lod_bias
X..GL_EXT_shared_texture_palette not found
X..GL_EXT_texture3D not found
...using GL_EXT_stencil_wrap
X..GL_EXT_stencil_two_side not found
... got GL2.0+ glStencilOpSeparate()
...using GL_ARB_vertex_buffer_object
...using GL_ARB_vertex_program
...using GL_ARB_fragment_program
ARBFragmentProgram is Available now! for EGL_Wrap and arb2
...using GL_ARB_shading_language_100
X..EXT_depth_bounds_test not found
---------- R_ARB2 renderer Init ----------
Available.
---------------------------------
----- R_ReloadARBPrograms -----
Loading external shader ARB2 == glprogs/test.vfp
Loading external shader ARB2 == glprogs/test.vfp
Loading external shader ARB2 == glprogs/interaction.vfp
Loading external shader ARB2 == glprogs/interaction.vfp
Loading external shader ARB2 == glprogs/bumpyEnvironment.vfp
Loading external shader ARB2 == glprogs/bumpyEnvironment.vfp
Loading external shader ARB2 == glprogs/ambientLight.vfp
Loading external shader ARB2 == glprogs/ambientLight.vfp
Loading external shader ARB2 == glprogs/shadow.vp
Loading external shader ARB2 == glprogs/environment.vfp
Loading external shader ARB2 == glprogs/environment.vfp
Loading external shader ARB2 == glprogs/arbVP_glasswarp.txt
Loading external shader ARB2 == glprogs/arbFP_glasswarp.txt
-------------------------------
---------- R_GLSL_Init ----------
Available.
---------------------------------
----- R_ReloadGLSLPrograms -----
glslprogs/interaction.vert
glslprogs/interaction_etc.frag
glslprogs/shadow.vert
glslprogs/shadow.frag
glslprogs/default.vert
glslprogs/default.frag
glslprogs/zfill.vert
glslprogs/zfill.frag
glslprogs/cubemap.vert
glslprogs/cubemap.frag
glslprogs/reflectionCubemap.vert
glslprogs/reflectionCubemap.frag
glslprogs/zfillClip.vert
glslprogs/zfillClip.frag
glslprogs/fog.vert
glslprogs/fog.frag
glslprogs/blendLight.vert
glslprogs/blendLight.frag
glslprogs/interaction_blinnphong.vert
glslprogs/interaction_blinnphong_etc.frag
glslprogs/diffuseCubemap.vert
glslprogs/diffuseCubemap.frag
glslprogs/texgen.vert
glslprogs/texgen.frag
-------------------------------
using ARB_vertex_buffer_object memory (FAST)
using ARB2 AmigaOS4 renderSystem
Will apply r_gamma and r_brightness in shaders (r_gammaInShader 1)
----- Initializing Game -----
gamename: baseDOOM-1
gamedate: Mar 5 2023
Initializing event system
...473 event definitions
Initializing class hierarchy
...142 classes, 382184 bytes for event callbacks
Initializing scripts
Compiled 'script/doom_main.script': 3094 ms
----- Compile stats -----
Memory usage:
Strings: 79, 9648 bytes
Statements: 67875, 1357500 bytes
Functions: 2109, 250532 bytes
Variables: 147376 bytes
Mem used: 2576440 bytes
Static data: 2477552 bytes
Allocated: 3481696 bytes
Thread size: 13212 bytes
...6 aas types
game initialized.
-----------------------------
----- Initializing Session -----
]timedemo demo1.demo
----- Game Map Shutdown -----
removed 4 degenerate triangles
stopped playing .
2148 frames rendered in 185.3 seconds = 11.6 fps
----- Game Map Shutdown -----
----- Game Map Shutdown -----
Shutting down sound hardware
idRenderSystem::Shutdown()
Shutting down OpenGL subsystem
----- Game Shutdown -----
----- Game Map Shutdown -----
Shutdown event system
Thanks for all your work.
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Re: The ADTOOLS thread
|
Posted on: 3/14 16:42
#16
|
Quite a regular 
|
Quote: The libstdc++.so [cd]tors have to be inside libstdc++.so, just like in the Linux version.
Okay. Well, they are currently not. Quote: Did I get the QT6 thread completely wrong?
I do not know. All I know is that I have a test program that when built with newlib and using -use-dynld and copying that exe and the SO to the same PROGDIR: the programs runs fine. What I also see is that the "libstdc++.so" for newlib looks the same as the clib one - there are no NEEDED sections when viewing readelf. If this is expected, then fine. Again, the NEEDED sections only come out when finally linking the test executable. Quote: I don't know what gthr-amigaos-native is.
This is the c++ threading object file and is always linked with when you use -athread=native. Quote: The -use-dynld option seems to be missing in the g++ command line?
It is not in the compiler phase collection options. It is only used in $(LDFLAGS) which is passed to "ld". As far as I am aware, this option is only of use when using "ld". Hence, it is not clearly visible, though, I expected -Wl,--verbose to display it. Quote: Linux works differently. On AmigaOS4 shared objects have to be linked with shcrtbegin.o and shcrtend.o (gcc -shared ...) but the executables have to be linked with crtbegin.o and crtend.o instead, no matter if using static or shared linking (for using shared objects gcc -use-dynld ... has to be used).
Understood. === Quote: Shared objects now with new unreleased elf library are working correctly. Everything is in shcrbegin/end and libraries are created correctly. Of course you have to change amigaos.h file like newlib one to use -use-dynld/-shared
You have the ability to see what I am doing in the repository references above. From what you have just said, it sounds like the only thing necessary is to copy over the "amigaos.h" in your CLIB2 repo and copy it over the rs6000/amigaos.h file in the ADTOOLS GCC repo. Well, I am doing that, and I am using CLIB2 master. In that case, it sounds like we need to update the ADTOOLS repo to either make a further patch to the GCC repo to update the amigaos.h file, or, to hack this in to the makefile and force the copy if EXP_CLIB2 is set. From what you currently say, if I had a copy of the new elf.library, cloned my repo linked above, ran the 4afx script (which builds the tests), copy over the test(s) [since there is only 1, and I welcome anyone to add more] to my X5000 including their "NEEDED" SO files - then I would be able successfully run the test. What I do not understand is that we have someone saying that libstdc++.so CANNOT work if it is not linking with c, gcc etc, and yet we have you who is saying that everything works: when I say everything - I mean being able to invoke a test program using shared libraries and ... it running; not that binutils is perfect or anything. This is why I created the thread anyway, just so that we can converge on clarity. Let me if I have misunderstood something. Thanks.
Edited by rjd324 on 2023/3/14 17:28:35 Edited by rjd324 on 2023/3/14 19:09:36
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Re: ISO making SW
|
Posted on: 3/14 14:49
#17
|
Quite a regular 
|
Are we now able to write to CD/DVD?
Is AmiDVD the software? I heard, before, that a third party sata controller was needed. Like some SIL thing that you plugged into PCI(e) and that you plugged your drive into.
Ty.
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Re: The ADTOOLS thread
|
Posted on: 3/13 18:41
#18
|
Quite a regular 
|
@Joerg See my comment above, but the [cd]tors are there, just only when finally linking an executable using -with-dynld. They are just not in the libstdc++.so SO. I noticed that when using newlib, the single test in my adtools_test repo works with SO. Anyway, I may look into adding brining BINUTILS 2.14 into the ADTOOLS via a branch or something. The old SVN repo contains an older version - 2.18. A few revisions further back and it is basically 2.14. When you say Quote: It's known that that doesn't work currently.
what specifically is known. As I see when building with newlib and using GCC 11.3 and BINUTILS 2.23.2 then SO are working. For w/e reason, I am also under the impression that later BINUTILS did not ditch the older [cd]tors way of startup/fini but just deprecated it.
Edited by rjd324 on 2023/3/14 4:19:42
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
Re: The ADTOOLS thread
|
Posted on: 3/12 18:37
#19
|
Quite a regular 
|
At the minute there is this repository: https://github.com/3246251196/adtools_testing.gitIf you clone that and just run the script named "4afx" script it will do what is says in the README.md file. Quote: This will checkout ADTOOLS building GCC 11 and BINUTILS 2.23.2 using AFXGROUP's CLIB2. It also makes the following modifications: - Copies over the AMIGAOS.H file from AFXGROUP's CLIB2 to the GCC rs6000 (linker script); - Currently hacks out -Werror in AFXGROUP's CLIB2 due to an issue with timeval cast; - Forces the creation of AFXGROUP'S CLIB2 shared libraries;
It will then run some tests in the tests folder which I welcome anyone to add to. === The readelf description that I gave above for the "libstdc++.so" build with clib2 still stands (see above). Though, when creating some silly test that I added into "tests" I see the following log; this log includes the verbose compilation log, linking log and finally the readelf for the created executable of the test:
#####
Compile phase for main_with_use_dynld_.o
#####
Using built-in specs.
COLLECT_GCC=ppc-amigaos-g++
Target: ppc-amigaos
Configured with: /home/rjd/projects/adtools_test/build/4afx/4afx_adtools/gcc/repo/configure --with-bugurl=https://github.com/sba1/adtools/issues --with-pkgversion='adtools build 11.3.0' --target=ppc-amigaos --prefix=/home/rjd/projects/adtools_test/build/4afx/4afx_build --enable-languages=c,c++ --enable-haifa --enable-sjlj-exceptions --disable-libstdcxx-pch --disable-tls --enable-threads=amigaos --enable-lto --disable-c++tools
Thread model: amigaos
Supported LTO compression algorithms: zlib
gcc version 11.3.0 (adtools build 11.3.0)
COLLECT_GCC_OPTIONS='-mcrt=clib2' '-Wall' '-Werror' '-Wpedantic' '-std=c++11' '-v' '-c' '-o' 'main_with_use_dynld_.o'
/home/rjd/projects/adtools_test/build/4afx/4afx_build/libexec/gcc/ppc-amigaos/11.3.0/cc1plus -quiet -v -imultilib clib2 -idirafter /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/include -idirafter /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/clib2/include -idirafter /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/include/include_h -idirafter /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/include/netinclude -idirafter /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/common/include main.cpp -quiet -dumpbase main_with_use_dynld_.cpp -dumpbase-ext .cpp -mcrt=clib2 -Wall -Werror -Wpedantic -std=c++11 -version -o /tmp/ccvjRCNn.s
GNU C++11 (adtools build 11.3.0) version 11.3.0 (ppc-amigaos)
compiled by GNU C version 11.3.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version none
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring non-existent directory "/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/../../../../ppc-amigaos/sys-include"
ignoring non-existent directory "/home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/clib2/include"
ignoring non-existent directory "/home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/common/include"
#include "..." search starts here:
#include <...> search starts here:
/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/../../../../ppc-amigaos/include/c++/11.3.0
/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/../../../../ppc-amigaos/include/c++/11.3.0/ppc-amigaos/clib2
/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/../../../../ppc-amigaos/include/c++/11.3.0/backward
/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/include
/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/include-fixed
/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/../../../../ppc-amigaos/include
/home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/include
/home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/include/include_h
/home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/include/netinclude
End of search list.
GNU C++11 (adtools build 11.3.0) version 11.3.0 (ppc-amigaos)
compiled by GNU C version 11.3.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version none
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 15529d9e6649ec84a01b7a231c1a8f91
COLLECT_GCC_OPTIONS='-mcrt=clib2' '-Wall' '-Werror' '-Wpedantic' '-std=c++11' '-v' '-c' '-o' 'main_with_use_dynld_.o'
/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/../../../../ppc-amigaos/bin/as -mppc -mbig -o main_with_use_dynld_.o /tmp/ccvjRCNn.s
COMPILER_PATH=/home/rjd/projects/adtools_test/build/4afx/4afx_build/libexec/gcc/ppc-amigaos/11.3.0/:/home/rjd/projects/adtools_test/build/4afx/4afx_build/libexec/gcc/ppc-amigaos/11.3.0/:/home/rjd/projects/adtools_test/build/4afx/4afx_build/libexec/gcc/ppc-amigaos/:/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/:/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/:/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/../../../../ppc-amigaos/bin/
LIBRARY_PATH=/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/:/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/../../../../ppc-amigaos/lib/clib2/:/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/:/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/../../../../ppc-amigaos/lib/
COLLECT_GCC_OPTIONS='-mcrt=clib2' '-Wall' '-Werror' '-Wpedantic' '-std=c++11' '-v' '-c' '-o' 'main_with_use_dynld_.o' '-dumpdir' 'main_with_use_dynld_.'
#####
Link phase for main_with_use_dynld_.exe
#####
GNU ld (GNU Binutils) 2.23.2
Supported emulations:
amigaos
elf32ppc
using internal linker script:
==================================================
/* Default linker script, for normal executables */
OUTPUT_FORMAT("elf32-amigaos", "elf32-amigaos",
"elf32-amigaos")
OUTPUT_ARCH(powerpc)
ENTRY(_start)
SEARCH_DIR("/home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/lib");
PROVIDE (__stack = 0); PROVIDE (___stack = 0);
SECTIONS
{
/* Read-only sections, merged into text segment: */
PROVIDE (__executable_start = 0x01000000); . = 0x01000000 + SIZEOF_HEADERS;
.interp : { *(.interp) }
.note.gnu.build-id : { *(.note.gnu.build-id) }
.hash : { *(.hash) }
.gnu.hash : { *(.gnu.hash) }
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }
.gnu.version : { *(.gnu.version) }
.gnu.version_d : { *(.gnu.version_d) }
.gnu.version_r : { *(.gnu.version_r) }
.rel.init : { *(.rel.init) }
.rela.init : { *(.rela.init) }
.rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) }
.rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
.rel.fini : { *(.rel.fini) }
.rela.fini : { *(.rela.fini) }
.rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) }
.rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
.rel.data.rel.ro : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) }
.rela.data.rel.ro : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) }
.rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) }
.rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
.rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) }
.rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
.rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) }
.rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
.rel.ctors : { *(.rel.ctors) }
.rela.ctors : { *(.rela.ctors) }
.rel.dtors : { *(.rel.dtors) }
.rela.dtors : { *(.rela.dtors) }
.rel.got : { *(.rel.got) }
.rela.got : { *(.rela.got) }
.rela.got1 : { *(.rela.got1) }
.rela.got2 : { *(.rela.got2) }
.rel.sdata : { *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*) }
.rela.sdata : { *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*) }
.rel.sbss : { *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*) }
.rela.sbss : { *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*) }
.rel.sdata2 : { *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*) }
.rela.sdata2 : { *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*) }
.rel.sbss2 : { *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*) }
.rela.sbss2 : { *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) }
.rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) }
.rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
.rel.plt : { *(.rel.plt) }
.rela.plt : { *(.rela.plt) }
.init :
{
KEEP (*(.init))
} =0
.text :
{
*(.text .stub .text.* .gnu.linkonce.t.*)
KEEP (*(.text.*personality*))
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
*(.glink)
} =0
. = ALIGN(4096);
.plt : { *(.plt) }
. = ALIGN(4096);
.fini :
{
KEEP (*(.fini))
} =0
PROVIDE (__etext = .);
PROVIDE (_etext = .);
PROVIDE (etext = .);
.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
.rodata1 : { *(.rodata1) }
.sdata2 :
{
PROVIDE (_SDA2_BASE_ = 32768);
*(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
}
.sbss2 : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) }
.eh_frame_hdr : { *(.eh_frame_hdr) }
.eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
/* Adjust the address for the data segment. We want to adjust up to
the same address within the page on the next page up. */
. = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
/* Thread Local Storage sections */
.tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
.tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
.preinit_array :
{
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP (*(.preinit_array))
PROVIDE_HIDDEN (__preinit_array_end = .);
}
.init_array :
{
PROVIDE_HIDDEN (__init_array_start = .);
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array))
PROVIDE_HIDDEN (__init_array_end = .);
}
.fini_array :
{
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP (*(.fini_array))
KEEP (*(SORT(.fini_array.*)))
PROVIDE_HIDDEN (__fini_array_end = .);
}
.ctors :
{
/* gcc uses crtbegin.o to find the start of
the constructors, so we make sure it is
first. Because this is a wildcard, it
doesn't matter if the user does not
actually link against crtbegin.o; the
linker won't look for a file to match a
wildcard. The wildcard also means that it
doesn't matter which directory crtbegin.o
is in. */
KEEP (*crtbegin.o(.ctors))
KEEP (*crtbegin?.o(.ctors))
/* We don't want to include the .ctor section from
the crtend.o file until after the sorted ctors.
The .ctor section from the crtend file contains the
end of ctors marker and it must be last */
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
}
.dtors :
{
KEEP (*crtbegin.o(.dtors))
KEEP (*crtbegin?.o(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
}
.jcr : { KEEP (*(.jcr)) }
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
.fixup : { *(.fixup) }
.got1 : { *(.got1) }
.got2 : { *(.got2) }
.dynamic : { *(.dynamic) }
.got : SPECIAL { *(.got) }
. = DATA_SEGMENT_RELRO_END (0, .);
.data :
{
_DATA_BASE_ = .;
*(.data .data.* .gnu.linkonce.d.*)
KEEP (*(.gnu.linkonce.d.*personality*))
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
.got : SPECIAL { *(.got) }
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
we can shorten the on-disk segment size. */
.sdata :
{
_SDA_BASE_ = . + 0x8000;
*(.sdata .sdata.* .gnu.linkonce.s.*)
}
_edata = .; PROVIDE (edata = .);
__bss_start = .;
.sbss :
{
PROVIDE (__sbss_start = .); PROVIDE (___sbss_start = .);
*(.dynsbss)
*(.sbss .sbss.* .gnu.linkonce.sb.*)
*(.scommon)
PROVIDE (__sbss_end = .); PROVIDE (___sbss_end = .);
}
.bss :
{
*(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*)
*(COMMON)
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections.
FIXME: Why do we need it? When there is no .bss section, we don't
pad the .data section. */
. = ALIGN(. != 0 ? 16 : 1);
}
. = ALIGN(16);
. = ALIGN(16);
__end = .;
_end = .; PROVIDE (end = .);
. = DATA_SEGMENT_END (.);
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
.stab.exclstr 0 : { *(.stab.exclstr) }
.stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) }
/* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */
/* DWARF 1 */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
/* GNU DWARF 1 extensions */
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames) }
/* DWARF 1.1 and DWARF 2 */
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) }
.debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
/* SGI/MIPS DWARF 2 extensions */
.debug_weaknames 0 : { *(.debug_weaknames) }
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
/* DWARF 3 */
.debug_pubtypes 0 : { *(.debug_pubtypes) }
.debug_ranges 0 : { *(.debug_ranges) }
.gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) }
}
==================================================
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/gthr-amigaos-native.o succeeded
/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/gthr-amigaos-native.o
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/crtbegin.o succeeded
/home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/crtbegin.o
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/crt0.o succeeded
/home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/crt0.o
attempt to open main_with_use_dynld_.o succeeded
main_with_use_dynld_.o
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/libstdc++.so failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/libstdc++.a failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/lib/libstdc++.so failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/lib/libstdc++.a failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/clib2/lib/libstdc++.so failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/clib2/lib/libstdc++.a failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/common/lib/libstdc++.so failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/common/lib/libstdc++.a failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/libstdc++.so failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/libstdc++.a failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/../../../../ppc-amigaos/lib/clib2/libstdc++.so succeeded
-lstdc++ (/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/../../../../ppc-amigaos/lib/clib2/libstdc++.so)
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/libm.so succeeded
-lm (/home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/libm.so)
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/libgcc.so failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/libgcc.a failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/lib/libgcc.so failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/lib/libgcc.a failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/clib2/lib/libgcc.so failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/clib2/lib/libgcc.a failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/common/lib/libgcc.so failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/common/lib/libgcc.a failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/libgcc.so succeeded
-lgcc (/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/libgcc.so)
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/libc.so succeeded
-lc (/home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/libc.so)
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/libgcc.so failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/libgcc.a failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/lib/libgcc.so failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/lib/libgcc.a failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/clib2/lib/libgcc.so failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/clib2/lib/libgcc.a failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/common/lib/libgcc.so failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/local/common/lib/libgcc.a failed
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/libgcc.so succeeded
-lgcc (/home/rjd/projects/adtools_test/build/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/libgcc.so)
attempt to open /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/crtend.o succeeded
/home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/crtend.o
#####
ppc-amigaos-readelf -d for main_with_use_dynld_.exe
#####
Dynamic section at offset 0x614c contains 21 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libstdc++.so]
0x00000001 (NEEDED) Shared library: [libm.so]
0x00000001 (NEEDED) Shared library: [libgcc.so]
0x00000001 (NEEDED) Shared library: [libc.so]
0x0000000c (INIT) 0x1002644
0x0000000d (FINI) 0x10026ec
0x00000004 (HASH) 0x1000108
0x00000005 (STRTAB) 0x100067c
0x00000006 (SYMTAB) 0x100029c
0x0000000a (STRSZ) 1060 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x1005000
0x00000002 (PLTRELSZ) 228 (bytes)
0x00000014 (PLTREL) RELA
0x00000017 (JMPREL) 0x1000b00
0x00000007 (RELA) 0x1000aa0
0x00000008 (RELASZ) 324 (bytes)
0x00000009 (RELAENT) 12 (bytes)
0x6000000e (AMIGAOS_DYNVERSION) 0x2
0x00000000 (NULL) 0x0
The executable does now rely on the shared libraries we expected would be needed in the "standalone" libstdc++.so. === If all of this is merely academic because the first thing we must to is upgrade binutils then that is fine. That will be the task. I just wanted the opinion of others. Thanks. Btw, that repository at the top of this post I welcome anyone to run in case it helps. === FYI: I am not a beta tester, I only have the stock machine and stock libraries. Which is actually useful since most devs have all of these later libraries. It is good for someone to have "stock". This means I have no such updated elf.library. EDIT: 13/March/23 (Added):=== At the moment, when building the single test exectuable (test in directory named "1" in tests) I notice that it is linked with crtbegin/crtend. You can see it in the log file in the verbose link phase section: Quote: /home/rjd/projects/adtools_test/build/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/crtend.o - which is not the same as that used for the libstdc++.so (which uses the shcrtbegin/end)
This is not what the Linux version does. The libstdc++.so is linked with crtbeginS/end (shared version, hence the S) and so is the test binary. I notice that when I add "-shared" in the ppc-amigaos-g++ command then the shcrtbegin/end files are used. This is probably due to the linker script copied over which only uses those when the shared option is provided. When copying the test executable and running it (also having copied the NEEDED so into PROGDIR:, I get a GURU). When I rebuild the test exectuable using the "-shared" option in the ppc-amigaos-g++ driver, I get zero output. Looks like the executable runs but I am back on the shell and it is waiting for the next command - nothing printed to the screen. But: === Quote: IMHO the main problem is that he is tying to use GCC 11.3 and binutils 2.23.2 (+ maybe beta elf.library). It's known that that doesn't work currently. What should be done instead is - test GCC 11.3 with binutils 2.14.x - test GCC 3.4.x with binutils 2.23.2 If one of both works it's much easier to update the AmigaOS4 parts. binutils definitely needs updates in the AmigaOS4 parts, but I'd be very surprised if current GCC versions work without changes in the AmigaOS4 parts. First getting current versions of GCC work with binutils 2.14.x (if it doesn't already work) and only after that updating binutils should be the easiest way. But in any case do it one by one, either first get current GCC or first current binutils working correctly on AmigaOS4, not both at once. Additionally not trying to update the last known working version (in case of GCC that should be version 3.4.x or maybe 4.0.x) directly to the current version, but for example first GCC to 6.x, then to 8.x, 10.x, etc. would make it much easier to find out by which changes the ancient AmigaOS4 parts stopped working as indented and to update them.
Then, maybe I look into testing the suggestions you made. As you said, if this combination is KNOWN to be broken, then it is pointless posting more information and asking questions on something that is already known not to work.
Edited by rjd324 on 2023/3/13 18:21:17 Edited by rjd324 on 2023/3/13 18:22:02 Edited by rjd324 on 2023/3/13 18:23:30 Edited by rjd324 on 2023/3/13 18:28:33
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|
The ADTOOLS thread
|
Posted on: 3/10 16:16
#20
|
Quite a regular 
|
This is part of bringing the adtools up to date in the context of AOS4. One part is upgrading binutils, but this post is not about binutils right now. There has been discussion on the "Qt" thread about shared objects recently and I wanted to pull that part out into this thread. Later on, in the same thread we can discuss other sub-topics. This revolves around using adtools with GCC 11.3 and binutils 2.23.2 and afxgroup's clib2 (where ever clib2 is used it refers to afxgroup clib2). This also means copying a modified amigos.h (from afxgroup clib2) file into the checked out gcc 11.3 repo - replacing the amigaos.h file in the rs6000 dir. Regarding libstdc++.so:I see that on a *LINUX* machine the following command (with link phase and compile phase verbosity) shows:
Reading specs from /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/specs
COLLECT_GCC=/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/xgcc
COLLECT_LTO_WRAPPER=/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ./configure --prefix=/home/rjd/Downloads/gcc/installLinux --disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.3.0 (GCC)
COMPILER_PATH=/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/
LIBRARY_PATH=/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/:/lib/x86_64-linux-gnu/:/lib/../lib64/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib64/:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-shared-libgcc' '-B' '/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc' '-nostdinc++' '-L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src' '-L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs' '-L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs' '-B' '/home/rjd/Downloads/gcc/installLinux/x86_64-pc-linux-gnu/bin/' '-B' '/home/rjd/Downloads/gcc/installLinux/x86_64-pc-linux-gnu/lib/' '-isystem' '/home/rjd/Downloads/gcc/installLinux/x86_64-pc-linux-gnu/include' '-isystem' '/home/rjd/Downloads/gcc/installLinux/x86_64-pc-linux-gnu/sys-include' '-fno-checking' '-fPIC' '-D' 'PIC' '-D' '_GLIBCXX_SHARED' '-shared' '-nostdlib' '-L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs' '-L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src' '-L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs' '-L/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc' '-L/lib/x86_64-linux-gnu' '-L/lib/../lib64' '-L/usr/lib/x86_64-linux-gnu' '-L/usr/lib/../lib64' '-v' '-o' '.libs/libstdc++.so.6.0.29' '-mtune=generic' '-march=x86-64' '-dumpdir' '.libs/libstdc++.so.6.0.29.'
/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/collect2 -plugin /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/liblto_plugin.so -plugin-opt=/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/lto-wrapper -plugin-opt=-fresolution=/tmp/ccGtTgUR.res --eh-frame-hdr -m elf_x86_64 -shared -o .libs/libstdc++.so.6.0.29 -L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src -L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs -L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs -L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src -L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -L/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib64 -L/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib64 /lib/x86_64-linux-gnu/crti.o /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/crtbeginS.o .libs/compatibility.o .libs/compatibility-debug_list.o .libs/compatibility-debug_list-2.o .libs/compatibility-c++0x.o .libs/compatibility-atomic-c++0x.o .libs/compatibility-thread-c++0x.o .libs/compatibility-chrono.o .libs/compatibility-condvar.o --whole-archive ../libsupc++/.libs/libsupc++convenience.a ../src/c++98/.libs/libc++98convenience.a ../src/c++11/.libs/libc++11convenience.a ../src/c++17/.libs/libc++17convenience.a ../src/c++20/.libs/libc++20convenience.a --no-whole-archive -lm -lc -lgcc_s /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/crtendS.o /lib/x86_64-linux-gnu/crtn.o -O1 -z relro --gc-sections --version-script=libstdc++-symbols.ver --verbose -soname libstdc++.so.6
GNU ld (GNU Binutils for Ubuntu) 2.38
Supported emulations:
elf_x86_64
elf32_x86_64
elf_i386
elf_iamcu
elf_l1om
elf_k1om
i386pep
i386pe
using internal linker script:
==================================================
/* Script for -shared -z combreloc -z separate-code */
/* Copyright (C) 2014-2022 Free Software Foundation, Inc.
Copying and distribution of this script, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
"elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("=/usr/local/lib/x86_64-linux-gnu"); SEARCH_DIR("=/lib/x86_64-linux-gnu"); SEARCH_DIR("=/usr/lib/x86_64-linux-gnu"); SEARCH_DIR("=/usr/lib/x86_64-linux-gnu64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SEARCH_DIR("=/usr/x86_64-linux-gnu/lib64"); SEARCH_DIR("=/usr/x86_64-linux-gnu/lib");
SECTIONS
{
. = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
.note.gnu.build-id : { *(.note.gnu.build-id) }
.hash : { *(.hash) }
.gnu.hash : { *(.gnu.hash) }
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }
.gnu.version : { *(.gnu.version) }
.gnu.version_d : { *(.gnu.version_d) }
.gnu.version_r : { *(.gnu.version_r) }
.rela.dyn :
{
*(.rela.init)
*(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
*(.rela.fini)
*(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
*(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
*(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
*(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
*(.rela.ctors)
*(.rela.dtors)
*(.rela.got)
*(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
*(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
*(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
*(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
*(.rela.ifunc)
}
.rela.plt :
{
*(.rela.plt)
*(.rela.iplt)
}
.relr.dyn : { *(.relr.dyn) }
. = ALIGN(CONSTANT (MAXPAGESIZE));
.init :
{
KEEP (*(SORT_NONE(.init)))
}
.plt : { *(.plt) *(.iplt) }
.plt.got : { *(.plt.got) }
.plt.sec : { *(.plt.sec) }
.text :
{
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
*(SORT(.text.sorted.*))
*(.text .stub .text.* .gnu.linkonce.t.*)
/* .gnu.warning sections are handled specially by elf.em. */
*(.gnu.warning)
}
.fini :
{
KEEP (*(SORT_NONE(.fini)))
}
PROVIDE (__etext = .);
PROVIDE (_etext = .);
PROVIDE (etext = .);
. = ALIGN(CONSTANT (MAXPAGESIZE));
/* Adjust the address for the rodata segment. We want to adjust up to
the same address within the page on the next page up. */
. = SEGMENT_START("rodata-segment", ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)));
.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
.rodata1 : { *(.rodata1) }
.eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) }
.eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) }
.gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
.gnu_extab : ONLY_IF_RO { *(.gnu_extab*) }
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges : ONLY_IF_RO { *(.exception_ranges*) }
/* Adjust the address for the data segment. We want to adjust up to
the same address within the page on the next page up. */
. = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) }
.gnu_extab : ONLY_IF_RW { *(.gnu_extab) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
.exception_ranges : ONLY_IF_RW { *(.exception_ranges*) }
/* Thread Local Storage sections */
.tdata :
{
*(.tdata .tdata.* .gnu.linkonce.td.*)
}
.tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
.preinit_array :
{
KEEP (*(.preinit_array))
}
.init_array :
{
KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))
KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors))
}
.fini_array :
{
KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))
KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))
}
.ctors :
{
/* gcc uses crtbegin.o to find the start of
the constructors, so we make sure it is
first. Because this is a wildcard, it
doesn't matter if the user does not
actually link against crtbegin.o; the
linker won't look for a file to match a
wildcard. The wildcard also means that it
doesn't matter which directory crtbegin.o
is in. */
KEEP (*crtbegin.o(.ctors))
KEEP (*crtbegin?.o(.ctors))
/* We don't want to include the .ctor section from
the crtend.o file until after the sorted ctors.
The .ctor section from the crtend file contains the
end of ctors marker and it must be last */
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
}
.dtors :
{
KEEP (*crtbegin.o(.dtors))
KEEP (*crtbegin?.o(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
}
.jcr : { KEEP (*(.jcr)) }
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
.dynamic : { *(.dynamic) }
.got : { *(.got) *(.igot) }
. = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .);
.got.plt : { *(.got.plt) *(.igot.plt) }
.data :
{
*(.data .data.* .gnu.linkonce.d.*)
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
PROVIDE (_edata = .); PROVIDE (edata = .);
. = .;
PROVIDE (__bss_start = .);
.bss :
{
*(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*)
*(COMMON)
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections.
FIXME: Why do we need it? When there is no .bss section, we do not
pad the .data section. */
. = ALIGN(. != 0 ? 64 / 8 : 1);
}
.lbss :
{
*(.dynlbss)
*(.lbss .lbss.* .gnu.linkonce.lb.*)
*(LARGE_COMMON)
}
. = ALIGN(64 / 8);
. = SEGMENT_START("ldata-segment", .);
.lrodata ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
{
*(.lrodata .lrodata.* .gnu.linkonce.lr.*)
}
.ldata ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
{
*(.ldata .ldata.* .gnu.linkonce.l.*)
. = ALIGN(. != 0 ? 64 / 8 : 1);
}
. = ALIGN(64 / 8);
PROVIDE (_end = .); PROVIDE (end = .);
. = DATA_SEGMENT_END (.);
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
.stab.exclstr 0 : { *(.stab.exclstr) }
.stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) }
.gnu.build.attributes : { *(.gnu.build.attributes .gnu.build.attributes.*) }
/* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */
/* DWARF 1. */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
/* GNU DWARF 1 extensions. */
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames) }
/* DWARF 1.1 and DWARF 2. */
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2. */
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end) }
.debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
/* SGI/MIPS DWARF 2 extensions. */
.debug_weaknames 0 : { *(.debug_weaknames) }
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
/* DWARF 3. */
.debug_pubtypes 0 : { *(.debug_pubtypes) }
.debug_ranges 0 : { *(.debug_ranges) }
/* DWARF 5. */
.debug_addr 0 : { *(.debug_addr) }
.debug_line_str 0 : { *(.debug_line_str) }
.debug_loclists 0 : { *(.debug_loclists) }
.debug_macro 0 : { *(.debug_macro) }
.debug_names 0 : { *(.debug_names) }
.debug_rnglists 0 : { *(.debug_rnglists) }
.debug_str_offsets 0 : { *(.debug_str_offsets) }
.debug_sup 0 : { *(.debug_sup) }
.gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}
==================================================
/usr/bin/ld: mode elf_x86_64
attempt to open /lib/x86_64-linux-gnu/crti.o succeeded
/lib/x86_64-linux-gnu/crti.o
attempt to open /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/crtbeginS.o succeeded
/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/crtbeginS.o
attempt to open .libs/compatibility.o succeeded
.libs/compatibility.o
attempt to open .libs/compatibility-debug_list.o succeeded
.libs/compatibility-debug_list.o
attempt to open .libs/compatibility-debug_list-2.o succeeded
.libs/compatibility-debug_list-2.o
attempt to open .libs/compatibility-c++0x.o succeeded
.libs/compatibility-c++0x.o
attempt to open .libs/compatibility-atomic-c++0x.o succeeded
.libs/compatibility-atomic-c++0x.o
attempt to open .libs/compatibility-thread-c++0x.o succeeded
.libs/compatibility-thread-c++0x.o
attempt to open .libs/compatibility-chrono.o succeeded
.libs/compatibility-chrono.o
attempt to open .libs/compatibility-condvar.o succeeded
.libs/compatibility-condvar.o
attempt to open ../libsupc++/.libs/libsupc++convenience.a succeeded
../libsupc++/.libs/libsupc++convenience.a
(../libsupc++/.libs/libsupc++convenience.a)array_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)atexit_arm.o
(../libsupc++/.libs/libsupc++convenience.a)atexit_thread.o
(../libsupc++/.libs/libsupc++convenience.a)atomicity.o
(../libsupc++/.libs/libsupc++convenience.a)bad_alloc.o
(../libsupc++/.libs/libsupc++convenience.a)bad_array_length.o
(../libsupc++/.libs/libsupc++convenience.a)bad_array_new.o
(../libsupc++/.libs/libsupc++convenience.a)bad_cast.o
(../libsupc++/.libs/libsupc++convenience.a)bad_typeid.o
(../libsupc++/.libs/libsupc++convenience.a)class_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)del_op.o
(../libsupc++/.libs/libsupc++convenience.a)del_ops.o
(../libsupc++/.libs/libsupc++convenience.a)del_opnt.o
(../libsupc++/.libs/libsupc++convenience.a)del_opv.o
(../libsupc++/.libs/libsupc++convenience.a)del_opvs.o
(../libsupc++/.libs/libsupc++convenience.a)del_opvnt.o
(../libsupc++/.libs/libsupc++convenience.a)dyncast.o
(../libsupc++/.libs/libsupc++convenience.a)eh_alloc.o
(../libsupc++/.libs/libsupc++convenience.a)eh_arm.o
(../libsupc++/.libs/libsupc++convenience.a)eh_aux_runtime.o
(../libsupc++/.libs/libsupc++convenience.a)eh_call.o
(../libsupc++/.libs/libsupc++convenience.a)eh_catch.o
(../libsupc++/.libs/libsupc++convenience.a)eh_exception.o
(../libsupc++/.libs/libsupc++convenience.a)eh_globals.o
(../libsupc++/.libs/libsupc++convenience.a)eh_personality.o
(../libsupc++/.libs/libsupc++convenience.a)eh_ptr.o
(../libsupc++/.libs/libsupc++convenience.a)eh_term_handler.o
(../libsupc++/.libs/libsupc++convenience.a)eh_terminate.o
(../libsupc++/.libs/libsupc++convenience.a)eh_tm.o
(../libsupc++/.libs/libsupc++convenience.a)eh_throw.o
(../libsupc++/.libs/libsupc++convenience.a)eh_type.o
(../libsupc++/.libs/libsupc++convenience.a)eh_unex_handler.o
(../libsupc++/.libs/libsupc++convenience.a)enum_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)function_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)fundamental_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)guard.o
(../libsupc++/.libs/libsupc++convenience.a)guard_error.o
(../libsupc++/.libs/libsupc++convenience.a)hash_bytes.o
(../libsupc++/.libs/libsupc++convenience.a)nested_exception.o
(../libsupc++/.libs/libsupc++convenience.a)new_handler.o
(../libsupc++/.libs/libsupc++convenience.a)new_op.o
(../libsupc++/.libs/libsupc++convenience.a)new_opnt.o
(../libsupc++/.libs/libsupc++convenience.a)new_opv.o
(../libsupc++/.libs/libsupc++convenience.a)new_opvnt.o
(../libsupc++/.libs/libsupc++convenience.a)new_opa.o
(../libsupc++/.libs/libsupc++convenience.a)new_opant.o
(../libsupc++/.libs/libsupc++convenience.a)new_opva.o
(../libsupc++/.libs/libsupc++convenience.a)new_opvant.o
(../libsupc++/.libs/libsupc++convenience.a)del_opa.o
(../libsupc++/.libs/libsupc++convenience.a)del_opant.o
(../libsupc++/.libs/libsupc++convenience.a)del_opsa.o
(../libsupc++/.libs/libsupc++convenience.a)del_opva.o
(../libsupc++/.libs/libsupc++convenience.a)del_opvant.o
(../libsupc++/.libs/libsupc++convenience.a)del_opvsa.o
(../libsupc++/.libs/libsupc++convenience.a)pbase_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)pmem_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)pointer_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)pure.o
(../libsupc++/.libs/libsupc++convenience.a)si_class_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)tinfo.o
(../libsupc++/.libs/libsupc++convenience.a)tinfo2.o
(../libsupc++/.libs/libsupc++convenience.a)vec.o
(../libsupc++/.libs/libsupc++convenience.a)vmi_class_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)vterminate.o
(../libsupc++/.libs/libsupc++convenience.a)cp-demangle.o
attempt to open ../src/c++98/.libs/libc++98convenience.a succeeded
../src/c++98/.libs/libc++98convenience.a
(../src/c++98/.libs/libc++98convenience.a)bitmap_allocator.o
(../src/c++98/.libs/libc++98convenience.a)pool_allocator.o
(../src/c++98/.libs/libc++98convenience.a)mt_allocator.o
(../src/c++98/.libs/libc++98convenience.a)codecvt.o
(../src/c++98/.libs/libc++98convenience.a)complex_io.o
(../src/c++98/.libs/libc++98convenience.a)globals_io.o
(../src/c++98/.libs/libc++98convenience.a)hash_tr1.o
(../src/c++98/.libs/libc++98convenience.a)hashtable_tr1.o
(../src/c++98/.libs/libc++98convenience.a)ios_failure.o
(../src/c++98/.libs/libc++98convenience.a)ios_init.o
(../src/c++98/.libs/libc++98convenience.a)ios_locale.o
(../src/c++98/.libs/libc++98convenience.a)list.o
(../src/c++98/.libs/libc++98convenience.a)list-aux.o
(../src/c++98/.libs/libc++98convenience.a)list-aux-2.o
(../src/c++98/.libs/libc++98convenience.a)list_associated.o
(../src/c++98/.libs/libc++98convenience.a)list_associated-2.o
(../src/c++98/.libs/libc++98convenience.a)locale.o
(../src/c++98/.libs/libc++98convenience.a)locale_init.o
(../src/c++98/.libs/libc++98convenience.a)locale_facets.o
(../src/c++98/.libs/libc++98convenience.a)localename.o
(../src/c++98/.libs/libc++98convenience.a)math_stubs_float.o
(../src/c++98/.libs/libc++98convenience.a)math_stubs_long_double.o
(../src/c++98/.libs/libc++98convenience.a)stdexcept.o
(../src/c++98/.libs/libc++98convenience.a)strstream.o
(../src/c++98/.libs/libc++98convenience.a)tree.o
(../src/c++98/.libs/libc++98convenience.a)istream.o
(../src/c++98/.libs/libc++98convenience.a)istream-string.o
(../src/c++98/.libs/libc++98convenience.a)streambuf.o
(../src/c++98/.libs/libc++98convenience.a)valarray.o
(../src/c++98/.libs/libc++98convenience.a)cow-istream-string.o
(../src/c++98/.libs/libc++98convenience.a)collate_members_cow.o
(../src/c++98/.libs/libc++98convenience.a)messages_members_cow.o
(../src/c++98/.libs/libc++98convenience.a)monetary_members_cow.o
(../src/c++98/.libs/libc++98convenience.a)numeric_members_cow.o
(../src/c++98/.libs/libc++98convenience.a)codecvt_members.o
(../src/c++98/.libs/libc++98convenience.a)collate_members.o
(../src/c++98/.libs/libc++98convenience.a)messages_members.o
(../src/c++98/.libs/libc++98convenience.a)monetary_members.o
(../src/c++98/.libs/libc++98convenience.a)numeric_members.o
(../src/c++98/.libs/libc++98convenience.a)time_members.o
(../src/c++98/.libs/libc++98convenience.a)basic_file.o
(../src/c++98/.libs/libc++98convenience.a)c++locale.o
(../src/c++98/.libs/libc++98convenience.a)allocator-inst.o
(../src/c++98/.libs/libc++98convenience.a)concept-inst.o
(../src/c++98/.libs/libc++98convenience.a)ext-inst.o
(../src/c++98/.libs/libc++98convenience.a)misc-inst.o
(../src/c++98/.libs/libc++98convenience.a)parallel_settings.o
attempt to open ../src/c++11/.libs/libc++11convenience.a succeeded
../src/c++11/.libs/libc++11convenience.a
(../src/c++11/.libs/libc++11convenience.a)chrono.o
(../src/c++11/.libs/libc++11convenience.a)codecvt.o
(../src/c++11/.libs/libc++11convenience.a)condition_variable.o
(../src/c++11/.libs/libc++11convenience.a)cow-stdexcept.o
(../src/c++11/.libs/libc++11convenience.a)ctype.o
(../src/c++11/.libs/libc++11convenience.a)debug.o
(../src/c++11/.libs/libc++11convenience.a)functexcept.o
(../src/c++11/.libs/libc++11convenience.a)functional.o
(../src/c++11/.libs/libc++11convenience.a)futex.o
(../src/c++11/.libs/libc++11convenience.a)future.o
(../src/c++11/.libs/libc++11convenience.a)hash_c++0x.o
(../src/c++11/.libs/libc++11convenience.a)hashtable_c++0x.o
(../src/c++11/.libs/libc++11convenience.a)ios.o
(../src/c++11/.libs/libc++11convenience.a)limits.o
(../src/c++11/.libs/libc++11convenience.a)mutex.o
(../src/c++11/.libs/libc++11convenience.a)placeholders.o
(../src/c++11/.libs/libc++11convenience.a)random.o
(../src/c++11/.libs/libc++11convenience.a)regex.o
(../src/c++11/.libs/libc++11convenience.a)shared_ptr.o
(../src/c++11/.libs/libc++11convenience.a)snprintf_lite.o
(../src/c++11/.libs/libc++11convenience.a)system_error.o
(../src/c++11/.libs/libc++11convenience.a)thread.o
(../src/c++11/.libs/libc++11convenience.a)cow-locale_init.o
(../src/c++11/.libs/libc++11convenience.a)cow-shim_facets.o
(../src/c++11/.libs/libc++11convenience.a)cxx11-hash_tr1.o
(../src/c++11/.libs/libc++11convenience.a)cxx11-ios_failure.o
(../src/c++11/.libs/libc++11convenience.a)cxx11-shim_facets.o
(../src/c++11/.libs/libc++11convenience.a)cxx11-stdexcept.o
(../src/c++11/.libs/libc++11convenience.a)ctype_configure_char.o
(../src/c++11/.libs/libc++11convenience.a)ctype_members.o
(../src/c++11/.libs/libc++11convenience.a)cow-fstream-inst.o
(../src/c++11/.libs/libc++11convenience.a)cow-sstream-inst.o
(../src/c++11/.libs/libc++11convenience.a)cow-string-inst.o
(../src/c++11/.libs/libc++11convenience.a)cow-string-io-inst.o
(../src/c++11/.libs/libc++11convenience.a)cow-wstring-inst.o
(../src/c++11/.libs/libc++11convenience.a)cow-wstring-io-inst.o
(../src/c++11/.libs/libc++11convenience.a)cxx11-locale-inst.o
(../src/c++11/.libs/libc++11convenience.a)cxx11-wlocale-inst.o
(../src/c++11/.libs/libc++11convenience.a)sso_string.o
(../src/c++11/.libs/libc++11convenience.a)ext11-inst.o
(../src/c++11/.libs/libc++11convenience.a)fstream-inst.o
(../src/c++11/.libs/libc++11convenience.a)ios-inst.o
(../src/c++11/.libs/libc++11convenience.a)iostream-inst.o
(../src/c++11/.libs/libc++11convenience.a)istream-inst.o
(../src/c++11/.libs/libc++11convenience.a)locale-inst.o
(../src/c++11/.libs/libc++11convenience.a)ostream-inst.o
(../src/c++11/.libs/libc++11convenience.a)sstream-inst.o
(../src/c++11/.libs/libc++11convenience.a)streambuf-inst.o
(../src/c++11/.libs/libc++11convenience.a)string-inst.o
(../src/c++11/.libs/libc++11convenience.a)string-io-inst.o
(../src/c++11/.libs/libc++11convenience.a)wlocale-inst.o
(../src/c++11/.libs/libc++11convenience.a)wstring-inst.o
(../src/c++11/.libs/libc++11convenience.a)wstring-io-inst.o
attempt to open ../src/c++17/.libs/libc++17convenience.a succeeded
../src/c++17/.libs/libc++17convenience.a
(../src/c++17/.libs/libc++17convenience.a)floating_from_chars.o
(../src/c++17/.libs/libc++17convenience.a)floating_to_chars.o
(../src/c++17/.libs/libc++17convenience.a)fs_dir.o
(../src/c++17/.libs/libc++17convenience.a)fs_ops.o
(../src/c++17/.libs/libc++17convenience.a)fs_path.o
(../src/c++17/.libs/libc++17convenience.a)memory_resource.o
(../src/c++17/.libs/libc++17convenience.a)cow-fs_dir.o
(../src/c++17/.libs/libc++17convenience.a)cow-fs_ops.o
(../src/c++17/.libs/libc++17convenience.a)cow-fs_path.o
(../src/c++17/.libs/libc++17convenience.a)ostream-inst.o
(../src/c++17/.libs/libc++17convenience.a)string-inst.o
(../src/c++17/.libs/libc++17convenience.a)cow-string-inst.o
attempt to open ../src/c++20/.libs/libc++20convenience.a succeeded
../src/c++20/.libs/libc++20convenience.a
(../src/c++20/.libs/libc++20convenience.a)sstream-inst.o
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libm.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libm.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libm.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libm.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libm.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libm.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libm.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libm.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libm.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libm.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libm.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libm.a failed
attempt to open /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/libm.so failed
attempt to open /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/libm.a failed
attempt to open /lib/x86_64-linux-gnu/libm.so succeeded
opened script file /lib/x86_64-linux-gnu/libm.so
/lib/x86_64-linux-gnu/libm.so
opened script file /lib/x86_64-linux-gnu/libm.so
attempt to open /lib/x86_64-linux-gnu/libm.so.6 succeeded
/lib/x86_64-linux-gnu/libm.so.6
attempt to open /lib/x86_64-linux-gnu/libmvec.so.1 succeeded
/lib/x86_64-linux-gnu/libmvec.so.1
/lib/x86_64-linux-gnu/libmvec.so.1
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libc.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libc.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libc.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libc.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libc.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libc.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libc.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libc.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libc.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libc.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libc.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libc.a failed
attempt to open /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/libc.so failed
attempt to open /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/libc.a failed
attempt to open /lib/x86_64-linux-gnu/libc.so succeeded
opened script file /lib/x86_64-linux-gnu/libc.so
/lib/x86_64-linux-gnu/libc.so
opened script file /lib/x86_64-linux-gnu/libc.so
attempt to open /lib/x86_64-linux-gnu/libc.so.6 succeeded
/lib/x86_64-linux-gnu/libc.so.6
attempt to open /usr/lib/x86_64-linux-gnu/libc_nonshared.a succeeded
/usr/lib/x86_64-linux-gnu/libc_nonshared.a
(/usr/lib/x86_64-linux-gnu/libc_nonshared.a)atexit.oS
attempt to open /lib64/ld-linux-x86-64.so.2 succeeded
/lib64/ld-linux-x86-64.so.2
/usr/lib/x86_64-linux-gnu/libc_nonshared.a
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libgcc_s.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libgcc_s.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libgcc_s.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libgcc_s.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libgcc_s.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libgcc_s.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libgcc_s.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libgcc_s.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libgcc_s.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libgcc_s.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libgcc_s.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libgcc_s.a failed
attempt to open /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/libgcc_s.so succeeded
opened script file /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/libgcc_s.so
/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/libgcc_s.so
opened script file /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/libgcc_s.so
attempt to open /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/libgcc_s.so.1 succeeded
/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/libgcc_s.so.1
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libgcc.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libgcc.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libgcc.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libgcc.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libgcc.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libgcc.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libgcc.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs/libgcc.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libgcc.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/libgcc.a failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libgcc.so failed
attempt to open /home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libgcc.a failed
attempt to open /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/libgcc.so failed
attempt to open /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/libgcc.a succeeded
/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/libgcc.a
attempt to open /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/crtendS.o succeeded
/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/crtendS.o
attempt to open /lib/x86_64-linux-gnu/crtn.o succeeded
/lib/x86_64-linux-gnu/crtn.o
COLLECT_GCC_OPTIONS='-shared-libgcc' '-B' '/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc' '-nostdinc++' '-L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src' '-L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs' '-L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs' '-B' '/home/rjd/Downloads/gcc/installLinux/x86_64-pc-linux-gnu/bin/' '-B' '/home/rjd/Downloads/gcc/installLinux/x86_64-pc-linux-gnu/lib/' '-isystem' '/home/rjd/Downloads/gcc/installLinux/x86_64-pc-linux-gnu/include' '-isystem' '/home/rjd/Downloads/gcc/installLinux/x86_64-pc-linux-gnu/sys-include' '-fno-checking' '-fPIC' '-D' 'PIC' '-D' '_GLIBCXX_SHARED' '-shared' '-nostdlib' '-L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs' '-L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src' '-L/home/rjd/Downloads/gcc/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs' '-L/home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc' '-L/lib/x86_64-linux-gnu' '-L/lib/../lib64' '-L/usr/lib/x86_64-linux-gnu' '-L/usr/lib/../lib64' '-v' '-o' '.libs/libstdc++.so.6.0.29' '-mtune=generic' '-march=x86-64' '-dumpdir' '.libs/libstdc++.so.6.0.29.'
The readelf -d:
Dynamic section at offset 0x20ec40 contains 31 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x0000000000000001 (NEEDED) Shared library: [ld-linux-x86-64.so.2]
0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x000000000000000e (SONAME) Library soname: [libstdc++.so.6]
0x000000000000000c (INIT) 0xa1000
0x000000000000000d (FINI) 0x198e04
0x0000000000000019 (INIT_ARRAY) 0x2068b8
0x000000000000001b (INIT_ARRAYSZ) 96 (bytes)
0x000000000000001a (FINI_ARRAY) 0x206918
0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
0x0000000000000004 (HASH) 0x2a8
0x000000006ffffef5 (GNU_HASH) 0x82c0
0x0000000000000005 (STRTAB) 0x350d0
0x0000000000000006 (SYMTAB) 0x11010
0x000000000000000a (STRSZ) 301476 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000003 (PLTGOT) 0x211000
0x0000000000000002 (PLTRELSZ) 24648 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x9a7d0
0x0000000000000007 (RELA) 0x82260
0x0000000000000008 (RELASZ) 99696 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000006ffffffc (VERDEF) 0x81a88
0x000000006ffffffd (VERDEFNUM) 47
0x000000006ffffffe (VERNEED) 0x82100
0x000000006fffffff (VERNEEDNUM) 4
0x000000006ffffff0 (VERSYM) 0x7ea74
0x000000006ffffff9 (RELACOUNT) 888
0x0000000000000000 (NULL) 0x0
Compare this to creating the cross tools for Amiga:
Reading specs from /tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/./gcc/specs
COLLECT_GCC=/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/./gcc/xgcc
COLLECT_LTO_WRAPPER=/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/./gcc/lto-wrapper
Target: ppc-amigaos
Configured with: /tmp/4afx/4afx_adtools/gcc/repo/configure --with-bugurl=https://github.com/sba1/adtools/issues --with-pkgversion='adtools build 11.3.0' --target=ppc-amigaos --prefix=/tmp/4afx/4afx_build --enable-languages=c,c++ --enable-haifa --enable-sjlj-exceptions --disable-libstdcxx-pch --disable-tls --enable-threads=amigaos --enable-lto --disable-c++tools
Thread model: amigaos
Supported LTO compression algorithms: zlib
gcc version 11.3.0 (adtools build 11.3.0)
COMPILER_PATH=/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/./gcc/:/tmp/4afx/4afx_build/ppc-amigaos/bin/:/tmp/4afx/4afx_build/ppc-amigaos/lib/
LIBRARY_PATH=/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/./gcc/clib2/:/tmp/4afx/4afx_build/ppc-amigaos/lib/clib2/:/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/./gcc/:/tmp/4afx/4afx_build/ppc-amigaos/bin/:/tmp/4afx/4afx_build/ppc-amigaos/lib/
COLLECT_GCC_OPTIONS='-shared-libgcc' '-B' '/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/./gcc' '-nostdinc++' '-L/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/ppc-amigaos/clib2/libstdc++-v3/src' '-L/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/ppc-amigaos/clib2/libstdc++-v3/src/.libs' '-L/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/ppc-amigaos/clib2/libstdc++-v3/libsupc++/.libs' '-B' '/tmp/4afx/4afx_build/ppc-amigaos/bin/' '-B' '/tmp/4afx/4afx_build/ppc-amigaos/lib/' '-isystem' '/tmp/4afx/4afx_build/ppc-amigaos/include' '-isystem' '/tmp/4afx/4afx_build/ppc-amigaos/sys-include' '-mcrt=clib2' '-fPIC' '-D' 'PIC' '-D' '_GLIBCXX_SHARED' '-shared' '-nostdlib' '-mcrt=clib2' '-mcrt=clib2' '-o' '.libs/libstdc++.so' '-v' '-dumpdir' '.libs/libstdc++.so.'
/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/./gcc/collect2 -plugin /tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/./gcc/liblto_plugin.so -plugin-opt=/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/./gcc/lto-wrapper -plugin-opt=-fresolution=/tmp/ccVAfIWd.res --defsym __amigaos4__=1 -q -d -V -Qy -shared -dy --defsym __dynld_version__=1 -L/tmp/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib -L/tmp/4afx/4afx_build/lib/gcc/ppc-amigaos/11.3.0/clib2/lib -L/tmp/4afx/4afx_build/ppc-amigaos/SDK/local/clib2/lib -L/tmp/4afx/4afx_build/ppc-amigaos/SDK/local/common/lib -o .libs/libstdc++.so -L/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/ppc-amigaos/clib2/libstdc++-v3/src -L/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/ppc-amigaos/clib2/libstdc++-v3/src/.libs -L/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/ppc-amigaos/clib2/libstdc++-v3/libsupc++/.libs -L/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/./gcc/clib2 -L/tmp/4afx/4afx_build/ppc-amigaos/lib/clib2 -L/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/./gcc -L/tmp/4afx/4afx_build/ppc-amigaos/bin -L/tmp/4afx/4afx_build/ppc-amigaos/lib /tmp/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/shcrtbegin.o .libs/compatibility.o .libs/compatibility-debug_list.o .libs/compatibility-debug_list-2.o .libs/compatibility-c++0x.o .libs/compatibility-atomic-c++0x.o .libs/compatibility-thread-c++0x.o .libs/compatibility-chrono.o .libs/compatibility-condvar.o --whole-archive ../libsupc++/.libs/libsupc++convenience.a ../src/c++98/.libs/libc++98convenience.a ../src/c++11/.libs/libc++11convenience.a ../src/c++17/.libs/libc++17convenience.a ../src/c++20/.libs/libc++20convenience.a --no-whole-archive /tmp/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/shcrtend.o -O1 -z relro --gc-sections -soname libstdc++.so --verbose
GNU ld (GNU Binutils) 2.23.2
Supported emulations:
amigaos
elf32ppc
GNU ld (GNU Binutils) 2.23.2
Supported emulations:
amigaos
elf32ppc
using internal linker script:
==================================================
/* Script for ld --shared: link shared library */
OUTPUT_FORMAT("elf32-amigaos", "elf32-amigaos",
"elf32-amigaos")
OUTPUT_ARCH(powerpc)
ENTRY(_start)
SEARCH_DIR("/tmp/4afx/4afx_build/ppc-amigaos/lib");
PROVIDE (__stack = 0); PROVIDE (___stack = 0);
SECTIONS
{
/* Read-only sections, merged into text segment: */
. = 0x10000000 + SIZEOF_HEADERS;
.note.gnu.build-id : { *(.note.gnu.build-id) }
.hash : { *(.hash) }
.gnu.hash : { *(.gnu.hash) }
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }
.gnu.version : { *(.gnu.version) }
.gnu.version_d : { *(.gnu.version_d) }
.gnu.version_r : { *(.gnu.version_r) }
.rel.init : { *(.rel.init) }
.rela.init : { *(.rela.init) }
.rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) }
.rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
.rel.fini : { *(.rel.fini) }
.rela.fini : { *(.rela.fini) }
.rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) }
.rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
.rel.data.rel.ro : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) }
.rela.data.rel.ro : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) }
.rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) }
.rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
.rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) }
.rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
.rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) }
.rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
.rel.ctors : { *(.rel.ctors) }
.rela.ctors : { *(.rela.ctors) }
.rel.dtors : { *(.rel.dtors) }
.rela.dtors : { *(.rela.dtors) }
.rel.got : { *(.rel.got) }
.rela.got : { *(.rela.got) }
.rela.got1 : { *(.rela.got1) }
.rela.got2 : { *(.rela.got2) }
.rel.sdata : { *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*) }
.rela.sdata : { *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*) }
.rel.sbss : { *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*) }
.rela.sbss : { *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*) }
.rel.sdata2 : { *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*) }
.rela.sdata2 : { *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*) }
.rel.sbss2 : { *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*) }
.rela.sbss2 : { *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) }
.rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) }
.rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
.rel.plt : { *(.rel.plt) }
.rela.plt : { *(.rela.plt) }
.init :
{
KEEP (*(.init))
} =0
.text :
{
*(.text .stub .text.* .gnu.linkonce.t.*)
KEEP (*(.text.*personality*))
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
*(.glink)
} =0
. = ALIGN(4096);
.plt : { *(.plt) }
. = ALIGN(4096);
.fini :
{
KEEP (*(.fini))
} =0
PROVIDE (__etext = .);
PROVIDE (_etext = .);
PROVIDE (etext = .);
.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
.rodata1 : { *(.rodata1) }
.eh_frame_hdr : { *(.eh_frame_hdr) }
.eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
/* Adjust the address for the data segment. We want to adjust up to
the same address within the page on the next page up. */
. = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
/* Thread Local Storage sections */
.tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
.tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
.preinit_array :
{
KEEP (*(.preinit_array))
}
.init_array :
{
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array))
}
.fini_array :
{
KEEP (*(.fini_array))
KEEP (*(SORT(.fini_array.*)))
}
.ctors :
{
/* gcc uses crtbegin.o to find the start of
the constructors, so we make sure it is
first. Because this is a wildcard, it
doesn't matter if the user does not
actually link against crtbegin.o; the
linker won't look for a file to match a
wildcard. The wildcard also means that it
doesn't matter which directory crtbegin.o
is in. */
KEEP (*crtbegin.o(.ctors))
KEEP (*crtbegin?.o(.ctors))
/* We don't want to include the .ctor section from
the crtend.o file until after the sorted ctors.
The .ctor section from the crtend file contains the
end of ctors marker and it must be last */
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
}
.dtors :
{
KEEP (*crtbegin.o(.dtors))
KEEP (*crtbegin?.o(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
}
.jcr : { KEEP (*(.jcr)) }
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
.fixup : { *(.fixup) }
.got1 : { *(.got1) }
.got2 : { *(.got2) }
.dynamic : { *(.dynamic) }
.got : SPECIAL { *(.got) }
. = DATA_SEGMENT_RELRO_END (0, .);
.data :
{
_DATA_BASE_ = .;
*(.data .data.* .gnu.linkonce.d.*)
KEEP (*(.gnu.linkonce.d.*personality*))
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
.got : SPECIAL { *(.got) }
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
we can shorten the on-disk segment size. */
.sdata :
{
_SDA_BASE_ = . + 0x8000;
*(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
*(.sdata .sdata.* .gnu.linkonce.s.*)
}
_edata = .; PROVIDE (edata = .);
__bss_start = .;
.sbss :
{
*(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
*(.dynsbss)
*(.sbss .sbss.* .gnu.linkonce.sb.*)
*(.scommon)
}
.bss :
{
*(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*)
*(COMMON)
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections.
FIXME: Why do we need it? When there is no .bss section, we don't
pad the .data section. */
. = ALIGN(. != 0 ? 16 : 1);
}
. = ALIGN(16);
. = ALIGN(16);
__end = .;
_end = .; PROVIDE (end = .);
. = DATA_SEGMENT_END (.);
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
.stab.exclstr 0 : { *(.stab.exclstr) }
.stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) }
/* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */
/* DWARF 1 */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
/* GNU DWARF 1 extensions */
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames) }
/* DWARF 1.1 and DWARF 2 */
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) }
.debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
/* SGI/MIPS DWARF 2 extensions */
.debug_weaknames 0 : { *(.debug_weaknames) }
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
/* DWARF 3 */
.debug_pubtypes 0 : { *(.debug_pubtypes) }
.debug_ranges 0 : { *(.debug_ranges) }
.gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) }
}
==================================================
attempt to open /tmp/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/shcrtbegin.o succeeded
/tmp/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/shcrtbegin.o
attempt to open .libs/compatibility.o succeeded
.libs/compatibility.o
attempt to open .libs/compatibility-debug_list.o succeeded
.libs/compatibility-debug_list.o
attempt to open .libs/compatibility-debug_list-2.o succeeded
.libs/compatibility-debug_list-2.o
attempt to open .libs/compatibility-c++0x.o succeeded
.libs/compatibility-c++0x.o
attempt to open .libs/compatibility-atomic-c++0x.o succeeded
.libs/compatibility-atomic-c++0x.o
attempt to open .libs/compatibility-thread-c++0x.o succeeded
.libs/compatibility-thread-c++0x.o
attempt to open .libs/compatibility-chrono.o succeeded
.libs/compatibility-chrono.o
attempt to open .libs/compatibility-condvar.o succeeded
.libs/compatibility-condvar.o
attempt to open ../libsupc++/.libs/libsupc++convenience.a succeeded
(../libsupc++/.libs/libsupc++convenience.a)array_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)atexit_arm.o
(../libsupc++/.libs/libsupc++convenience.a)atexit_thread.o
(../libsupc++/.libs/libsupc++convenience.a)atomicity.o
(../libsupc++/.libs/libsupc++convenience.a)bad_alloc.o
(../libsupc++/.libs/libsupc++convenience.a)bad_array_length.o
(../libsupc++/.libs/libsupc++convenience.a)bad_array_new.o
(../libsupc++/.libs/libsupc++convenience.a)bad_cast.o
(../libsupc++/.libs/libsupc++convenience.a)bad_typeid.o
(../libsupc++/.libs/libsupc++convenience.a)class_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)del_op.o
(../libsupc++/.libs/libsupc++convenience.a)del_ops.o
(../libsupc++/.libs/libsupc++convenience.a)del_opnt.o
(../libsupc++/.libs/libsupc++convenience.a)del_opv.o
(../libsupc++/.libs/libsupc++convenience.a)del_opvs.o
(../libsupc++/.libs/libsupc++convenience.a)del_opvnt.o
(../libsupc++/.libs/libsupc++convenience.a)dyncast.o
(../libsupc++/.libs/libsupc++convenience.a)eh_alloc.o
(../libsupc++/.libs/libsupc++convenience.a)eh_arm.o
(../libsupc++/.libs/libsupc++convenience.a)eh_aux_runtime.o
(../libsupc++/.libs/libsupc++convenience.a)eh_call.o
(../libsupc++/.libs/libsupc++convenience.a)eh_catch.o
(../libsupc++/.libs/libsupc++convenience.a)eh_exception.o
(../libsupc++/.libs/libsupc++convenience.a)eh_globals.o
(../libsupc++/.libs/libsupc++convenience.a)eh_personality.o
(../libsupc++/.libs/libsupc++convenience.a)eh_ptr.o
(../libsupc++/.libs/libsupc++convenience.a)eh_term_handler.o
(../libsupc++/.libs/libsupc++convenience.a)eh_terminate.o
(../libsupc++/.libs/libsupc++convenience.a)eh_tm.o
(../libsupc++/.libs/libsupc++convenience.a)eh_throw.o
(../libsupc++/.libs/libsupc++convenience.a)eh_type.o
(../libsupc++/.libs/libsupc++convenience.a)eh_unex_handler.o
(../libsupc++/.libs/libsupc++convenience.a)enum_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)function_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)fundamental_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)guard.o
(../libsupc++/.libs/libsupc++convenience.a)guard_error.o
(../libsupc++/.libs/libsupc++convenience.a)hash_bytes.o
(../libsupc++/.libs/libsupc++convenience.a)nested_exception.o
(../libsupc++/.libs/libsupc++convenience.a)new_handler.o
(../libsupc++/.libs/libsupc++convenience.a)new_op.o
(../libsupc++/.libs/libsupc++convenience.a)new_opnt.o
(../libsupc++/.libs/libsupc++convenience.a)new_opv.o
(../libsupc++/.libs/libsupc++convenience.a)new_opvnt.o
(../libsupc++/.libs/libsupc++convenience.a)new_opa.o
(../libsupc++/.libs/libsupc++convenience.a)new_opant.o
(../libsupc++/.libs/libsupc++convenience.a)new_opva.o
(../libsupc++/.libs/libsupc++convenience.a)new_opvant.o
(../libsupc++/.libs/libsupc++convenience.a)del_opa.o
(../libsupc++/.libs/libsupc++convenience.a)del_opant.o
(../libsupc++/.libs/libsupc++convenience.a)del_opsa.o
(../libsupc++/.libs/libsupc++convenience.a)del_opva.o
(../libsupc++/.libs/libsupc++convenience.a)del_opvant.o
(../libsupc++/.libs/libsupc++convenience.a)del_opvsa.o
(../libsupc++/.libs/libsupc++convenience.a)pbase_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)pmem_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)pointer_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)pure.o
(../libsupc++/.libs/libsupc++convenience.a)si_class_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)tinfo.o
(../libsupc++/.libs/libsupc++convenience.a)tinfo2.o
(../libsupc++/.libs/libsupc++convenience.a)vec.o
(../libsupc++/.libs/libsupc++convenience.a)vmi_class_type_info.o
(../libsupc++/.libs/libsupc++convenience.a)vterminate.o
(../libsupc++/.libs/libsupc++convenience.a)cp-demangle.o
attempt to open ../src/c++98/.libs/libc++98convenience.a succeeded
(../src/c++98/.libs/libc++98convenience.a)bitmap_allocator.o
(../src/c++98/.libs/libc++98convenience.a)pool_allocator.o
(../src/c++98/.libs/libc++98convenience.a)mt_allocator.o
(../src/c++98/.libs/libc++98convenience.a)codecvt.o
(../src/c++98/.libs/libc++98convenience.a)complex_io.o
(../src/c++98/.libs/libc++98convenience.a)globals_io.o
(../src/c++98/.libs/libc++98convenience.a)hash_tr1.o
(../src/c++98/.libs/libc++98convenience.a)hashtable_tr1.o
(../src/c++98/.libs/libc++98convenience.a)ios_failure.o
(../src/c++98/.libs/libc++98convenience.a)ios_init.o
(../src/c++98/.libs/libc++98convenience.a)ios_locale.o
(../src/c++98/.libs/libc++98convenience.a)list.o
(../src/c++98/.libs/libc++98convenience.a)list-aux.o
(../src/c++98/.libs/libc++98convenience.a)list-aux-2.o
(../src/c++98/.libs/libc++98convenience.a)list_associated.o
(../src/c++98/.libs/libc++98convenience.a)list_associated-2.o
(../src/c++98/.libs/libc++98convenience.a)locale.o
(../src/c++98/.libs/libc++98convenience.a)locale_init.o
(../src/c++98/.libs/libc++98convenience.a)locale_facets.o
(../src/c++98/.libs/libc++98convenience.a)localename.o
(../src/c++98/.libs/libc++98convenience.a)math_stubs_float.o
(../src/c++98/.libs/libc++98convenience.a)math_stubs_long_double.o
(../src/c++98/.libs/libc++98convenience.a)stdexcept.o
(../src/c++98/.libs/libc++98convenience.a)strstream.o
(../src/c++98/.libs/libc++98convenience.a)tree.o
(../src/c++98/.libs/libc++98convenience.a)istream.o
(../src/c++98/.libs/libc++98convenience.a)istream-string.o
(../src/c++98/.libs/libc++98convenience.a)streambuf.o
(../src/c++98/.libs/libc++98convenience.a)valarray.o
(../src/c++98/.libs/libc++98convenience.a)cow-istream-string.o
(../src/c++98/.libs/libc++98convenience.a)collate_members_cow.o
(../src/c++98/.libs/libc++98convenience.a)messages_members_cow.o
(../src/c++98/.libs/libc++98convenience.a)monetary_members_cow.o
(../src/c++98/.libs/libc++98convenience.a)numeric_members_cow.o
(../src/c++98/.libs/libc++98convenience.a)codecvt_members.o
(../src/c++98/.libs/libc++98convenience.a)collate_members.o
(../src/c++98/.libs/libc++98convenience.a)messages_members.o
(../src/c++98/.libs/libc++98convenience.a)monetary_members.o
(../src/c++98/.libs/libc++98convenience.a)numeric_members.o
(../src/c++98/.libs/libc++98convenience.a)time_members.o
(../src/c++98/.libs/libc++98convenience.a)basic_file.o
(../src/c++98/.libs/libc++98convenience.a)c++locale.o
(../src/c++98/.libs/libc++98convenience.a)allocator-inst.o
(../src/c++98/.libs/libc++98convenience.a)concept-inst.o
(../src/c++98/.libs/libc++98convenience.a)ext-inst.o
(../src/c++98/.libs/libc++98convenience.a)misc-inst.o
(../src/c++98/.libs/libc++98convenience.a)parallel_settings.o
attempt to open ../src/c++11/.libs/libc++11convenience.a succeeded
(../src/c++11/.libs/libc++11convenience.a)chrono.o
(../src/c++11/.libs/libc++11convenience.a)codecvt.o
(../src/c++11/.libs/libc++11convenience.a)condition_variable.o
(../src/c++11/.libs/libc++11convenience.a)cow-stdexcept.o
(../src/c++11/.libs/libc++11convenience.a)ctype.o
(../src/c++11/.libs/libc++11convenience.a)debug.o
(../src/c++11/.libs/libc++11convenience.a)functexcept.o
(../src/c++11/.libs/libc++11convenience.a)functional.o
(../src/c++11/.libs/libc++11convenience.a)futex.o
(../src/c++11/.libs/libc++11convenience.a)future.o
(../src/c++11/.libs/libc++11convenience.a)hash_c++0x.o
(../src/c++11/.libs/libc++11convenience.a)hashtable_c++0x.o
(../src/c++11/.libs/libc++11convenience.a)ios.o
(../src/c++11/.libs/libc++11convenience.a)limits.o
(../src/c++11/.libs/libc++11convenience.a)mutex.o
(../src/c++11/.libs/libc++11convenience.a)placeholders.o
(../src/c++11/.libs/libc++11convenience.a)random.o
(../src/c++11/.libs/libc++11convenience.a)regex.o
(../src/c++11/.libs/libc++11convenience.a)shared_ptr.o
(../src/c++11/.libs/libc++11convenience.a)snprintf_lite.o
(../src/c++11/.libs/libc++11convenience.a)system_error.o
(../src/c++11/.libs/libc++11convenience.a)thread.o
(../src/c++11/.libs/libc++11convenience.a)cow-locale_init.o
(../src/c++11/.libs/libc++11convenience.a)cow-shim_facets.o
(../src/c++11/.libs/libc++11convenience.a)cxx11-hash_tr1.o
(../src/c++11/.libs/libc++11convenience.a)cxx11-ios_failure.o
(../src/c++11/.libs/libc++11convenience.a)cxx11-shim_facets.o
(../src/c++11/.libs/libc++11convenience.a)cxx11-stdexcept.o
(../src/c++11/.libs/libc++11convenience.a)ctype_configure_char.o
(../src/c++11/.libs/libc++11convenience.a)ctype_members.o
(../src/c++11/.libs/libc++11convenience.a)cow-fstream-inst.o
(../src/c++11/.libs/libc++11convenience.a)cow-sstream-inst.o
(../src/c++11/.libs/libc++11convenience.a)cow-string-inst.o
(../src/c++11/.libs/libc++11convenience.a)cow-string-io-inst.o
(../src/c++11/.libs/libc++11convenience.a)cow-wstring-inst.o
(../src/c++11/.libs/libc++11convenience.a)cow-wstring-io-inst.o
(../src/c++11/.libs/libc++11convenience.a)cxx11-locale-inst.o
(../src/c++11/.libs/libc++11convenience.a)cxx11-wlocale-inst.o
(../src/c++11/.libs/libc++11convenience.a)sso_string.o
(../src/c++11/.libs/libc++11convenience.a)ext11-inst.o
(../src/c++11/.libs/libc++11convenience.a)fstream-inst.o
(../src/c++11/.libs/libc++11convenience.a)ios-inst.o
(../src/c++11/.libs/libc++11convenience.a)iostream-inst.o
(../src/c++11/.libs/libc++11convenience.a)istream-inst.o
(../src/c++11/.libs/libc++11convenience.a)locale-inst.o
(../src/c++11/.libs/libc++11convenience.a)ostream-inst.o
(../src/c++11/.libs/libc++11convenience.a)sstream-inst.o
(../src/c++11/.libs/libc++11convenience.a)streambuf-inst.o
(../src/c++11/.libs/libc++11convenience.a)string-inst.o
(../src/c++11/.libs/libc++11convenience.a)string-io-inst.o
(../src/c++11/.libs/libc++11convenience.a)wlocale-inst.o
(../src/c++11/.libs/libc++11convenience.a)wstring-inst.o
(../src/c++11/.libs/libc++11convenience.a)wstring-io-inst.o
attempt to open ../src/c++17/.libs/libc++17convenience.a succeeded
(../src/c++17/.libs/libc++17convenience.a)floating_from_chars.o
(../src/c++17/.libs/libc++17convenience.a)floating_to_chars.o
(../src/c++17/.libs/libc++17convenience.a)fs_dir.o
(../src/c++17/.libs/libc++17convenience.a)fs_ops.o
(../src/c++17/.libs/libc++17convenience.a)fs_path.o
(../src/c++17/.libs/libc++17convenience.a)memory_resource.o
(../src/c++17/.libs/libc++17convenience.a)cow-fs_dir.o
(../src/c++17/.libs/libc++17convenience.a)cow-fs_ops.o
(../src/c++17/.libs/libc++17convenience.a)cow-fs_path.o
(../src/c++17/.libs/libc++17convenience.a)ostream-inst.o
(../src/c++17/.libs/libc++17convenience.a)string-inst.o
(../src/c++17/.libs/libc++17convenience.a)cow-string-inst.o
attempt to open ../src/c++20/.libs/libc++20convenience.a succeeded
(../src/c++20/.libs/libc++20convenience.a)sstream-inst.o
attempt to open /tmp/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/shcrtend.o succeeded
/tmp/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/shcrtend.o
COLLECT_GCC_OPTIONS='-shared-libgcc' '-B' '/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/./gcc' '-nostdinc++' '-L/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/ppc-amigaos/clib2/libstdc++-v3/src' '-L/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/ppc-amigaos/clib2/libstdc++-v3/src/.libs' '-L/tmp/4afx/4afx_adtools/native-build/gcc-cross-build-11.3.0/ppc-amigaos/clib2/libstdc++-v3/libsupc++/.libs' '-B' '/tmp/4afx/4afx_build/ppc-amigaos/bin/' '-B' '/tmp/4afx/4afx_build/ppc-amigaos/lib/' '-isystem' '/tmp/4afx/4afx_build/ppc-amigaos/include' '-isystem' '/tmp/4afx/4afx_build/ppc-amigaos/sys-include' '-mcrt=clib2' '-fPIC' '-D' 'PIC' '-D' '_GLIBCXX_SHARED' '-shared' '-nostdlib' '-mcrt=clib2' '-mcrt=clib2' '-o' '.libs/libstdc++.so' '-v' '-dumpdir' '.libs/libstdc++.so.'
The readelf -d:
Dynamic section at offset 0x243f60 contains 15 entries:
Tag Type Name/Value
0x0000000e (SONAME) Library soname: [libstdc++.so]
0x00000004 (HASH) 0x100000d4
0x00000005 (STRTAB) 0x10023f64
0x00000006 (SYMTAB) 0x10008d54
0x0000000a (STRSZ) 360880 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000003 (PLTGOT) 0x1020d000
0x00000002 (PLTRELSZ) 15576 (bytes)
0x00000014 (PLTREL) RELA
0x00000017 (JMPREL) 0x10094df8
0x00000007 (RELA) 0x1007c114
0x00000008 (RELASZ) 117180 (bytes)
0x00000009 (RELAENT) 12 (bytes)
0x6000000e (Operating System specific: 6000000e) 0x2
0x00000000 (NULL) 0x0
Trying to figure out why, like in the LINUX version, libstdc++.so is not depending on libc / libm. It is worth noting that the libstdc++.so built for newlib is the same too - no libc in readelf. Question: 1. Is it expected that libstdc++.so would not be depending on libc.so? (You can see that the *LINUX* version is linked with -lm -lc - the Amiga version is not. But, if it really was needed on the Amiga version I would expect some sort of error since it was not added to the command line) 2. Why does the amiga use the shcrt* files, yet the Linux version uses crt*? 3. Can we create a discord channel to get volunteers involved?
Edited by rjd324 on 2023/3/10 16:37:54
|
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
|
|
|