Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
66 user(s) are online (47 user(s) are browsing Forums)

Members: 0
Guests: 66

more...

Headlines

Forum Index


Board index » All Posts (rjd324)




Re: The ADTOOLS thread
Quite a regular
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.
Go to top


Re: Official release date of Doom3 for AmigaOS4
Quite a regular
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.
Go to top


Re: How does AmiUpdate work internally?
Quite a regular
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.
Go to top


Re: binutils 2.23.2
Quite a regular
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.
Go to top


How does AmiUpdate work internally (and provided newlib updated March)?
Quite a regular
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.


Edited by rjd324 on 2023/6/1 22:44:16
If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top


Re: Enhancer Installer - Impossible to reinstall
Quite a regular
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.
Go to top


Enhancer Installer - Impossible to reinstall
Quite a regular
Quite a regular


https://ibb.co/3c788Gk

I 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.
Go to top


Re: Official release date of Doom3 for AmigaOS4
Quite a regular
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 joystickNo joystick foundpleaseconnect 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 DLL0x0 in pak0x0
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.
Go to top


Re: Official release date of Doom3 for AmigaOS4
Quite a regular
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.
Go to top


Re: binutils 2.23.2
Quite a regular
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.
Go to top


Re: Official release date of Doom3 for AmigaOS4
Quite a regular
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.
Go to top


Re: Official release date of Doom3 for AmigaOS4
Quite a regular
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 joystickNo joystick foundpleaseconnect 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 DLL0x0 in pak0x0
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.
Go to top


Re: The ADTOOLS thread
Quite a regular
Quite a regular


@joerg

CLIB2 shcrt(begin|end).c
https://github.com/afxgroup/clib2/blob/master/library/shcrtbegin.c
https://github.com/afxgroup/clib2/blob/master/library/shcrtend.c

amigaos.h (rs6000 replacement):
https://github.com/afxgroup/clib2/blob/master/misc/amigaos.h

gthr-amigaos-native.c: (Remember that the new ADTOOLS brings in the patching system using GILD, so that a base repo is checked out and patches are applied on top of that. For that reason, I can only reference a patch file, but it shows the entire source):
https://github.com/sba1/adtools/blob/m ... s-thread-model.patch#L300

If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top


Re: The ADTOOLS thread
Quite a regular
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.
Go to top


Re: ISO making SW
Quite a regular
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.
Go to top


Re: The ADTOOLS thread
Quite a regular
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.
Go to top


Re: The ADTOOLS thread
Quite a regular
Quite a regular


At the minute there is this repository:
https://github.com/3246251196/adtools_testing.git

If 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++
Targetppc-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 modelamigaos
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 --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 -/tmp/ccvjRCNn.s
GNU C
++11 (adtools build 11.3.0version 11.3.0 (ppc-amigaos)
    
compiled by GNU C version 11.3.0GMP version 6.2.1MPFR version 4.1.0MPC version 1.2.1isl 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.0version 11.3.0 (ppc-amigaos)
    
compiled by GNU C version 11.3.0GMP version 6.2.1MPFR version 4.1.0MPC version 1.2.1isl 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_./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 Binutils2.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.*crtend?.) .ctors))
    
KEEP (*(SORT(.ctors.*)))
    
KEEP (*(.ctors))
  }
  .
dtors          :
  {
    
KEEP (*crtbegin.o(.dtors))
    
KEEP (*crtbegin?.o(.dtors))
    
KEEP (*(EXCLUDE_FILE (*crtend.*crtend?.) .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(. != 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 -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.
Go to top


The ADTOOLS thread
Quite a regular
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 -.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./home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/crtbeginS..libs/compatibility..libs/compatibility-debug_list..libs/compatibility-debug_list-2.o .libs/compatibility-c++0x..libs/compatibility-atomic-c++0x..libs/compatibility-thread-c++0x..libs/compatibility-chrono..libs/compatibility-condvar.--whole-archive ../libsupc++/.libs/libsupc++convenience.../src/c++98/.libs/libc++98convenience.../src/c++11/.libs/libc++11convenience.../src/c++17/.libs/libc++17convenience.../src/c++20/.libs/libc++20convenience.--no-whole-archive -lm -lc -lgcc_s /home/rjd/Downloads/gcc/host-x86_64-pc-linux-gnu/gcc/crtendS./lib/x86_64-linux-gnu/crtn.-O1 -z relro --gc-sections --version-script=libstdc++-symbols.ver --verbose -soname libstdc++.so.6
GNU ld 
(GNU Binutils for Ubuntu2.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.*crtbegin?.*crtend.*crtend?.) .ctors))
  }
  .
fini_array    :
  {
    
KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))
    
KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.*crtbegin?.*crtend.*crtend?.) .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.*crtend?.) .ctors))
    
KEEP (*(SORT(.ctors.*)))
    
KEEP (*(.ctors))
  }
  .
dtors          :
  {
    
KEEP (*crtbegin.o(.dtors))
    
KEEP (*crtbegin?.o(.dtors))
    
KEEP (*(EXCLUDE_FILE (*crtend.*crtend?.) .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(. != 64 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(. != 64 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/ldmode 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)       (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 modelamigaos
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__=----Qy -shared -dy --defsym __dynld_version__=-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 -.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..libs/compatibility..libs/compatibility-debug_list..libs/compatibility-debug_list-2.o .libs/compatibility-c++0x..libs/compatibility-atomic-c++0x..libs/compatibility-thread-c++0x..libs/compatibility-chrono..libs/compatibility-condvar.--whole-archive ../libsupc++/.libs/libsupc++convenience.../src/c++98/.libs/libc++98convenience.../src/c++11/.libs/libc++11convenience.../src/c++17/.libs/libc++17convenience.../src/c++20/.libs/libc++20convenience.--no-whole-archive /tmp/4afx/4afx_build/ppc-amigaos/SDK/clib2/lib/shcrtend.-O1 -z relro --gc-sections -soname libstdc++.so --verbose
GNU ld 
(GNU Binutils2.23.2
  Supported emulations
:
   
amigaos
   elf32ppc
GNU ld 
(GNU Binutils2.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.*crtend?.) .ctors))
    
KEEP (*(SORT(.ctors.*)))
    
KEEP (*(.ctors))
  }
  .
dtors          :
  {
    
KEEP (*crtbegin.o(.dtors))
    
KEEP (*crtbegin?.o(.dtors))
    
KEEP (*(EXCLUDE_FILE (*crtend.*crtend?.) .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(. != 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 specific6000000e)        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.
Go to top


Re: My AmigaOne X5000 twins - I need some help and advice.
Quite a regular
Quite a regular


They have already been working on it. There was a demo of it in some American show, StevenS has it there - but I have never seen a demo of it.

I cannot remember if he mentioned that the next kernel push would allow us to use it whether officially or experimentally.

We need that kernel for a number of reasons and the new elf.library to allow for shared object use and new CLIB2, and the ability to finally debug stuff - at least - on the X5k.

I now have a question which is: for the upcoming kernel release, will I need to physically reflash my microUSB?

If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top


Re: WebKit based browser initiative
Quite a regular
Quite a regular


Just for more info,

We are working/waiting/hoping on fixes to adtools right now. The late discussions in the qt6 progress thread are relevant here. We want to build with newlib and clib2. Since it takes a while to get additions to newlib we have been looking at clib2 and for that we need to make sure that shared objects are working as expected.

So, progress is happening.


Edited by rjd324 on 2023/3/5 2:35:55
If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top



TopTop
« 1 ... 5 6 7 (8) 9 10 11 ... 36 »




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project