Author Topic: Boost 1.87 - assembler problems  (Read 1097 times)

Mentore

  • Full Member
  • ***
  • Posts: 243
  • Karma: +13/-0
    • View Profile
Boost 1.87 - assembler problems
« on: March 25, 2025, 01:45:02 pm »
Hello all, I'm trying to port the entire Boost library system.
Working with the CMake version helped me getting rid of the horrible B2 (bootstrap) build chain which I tried to port but with a lot of headaches.

I'm fixing little problems during compilation, but got stuck in some assembler section:

make gives me

make_i386_sysv_elf_gas.S:34: Error: unknown pseudo-op: `.hidden'

I'm currently using GCC 14.20, but as.exe is the "original" one on OS/2 since the 9.2.0 release of GCC.
It seems the assembler is the culprit, by searching in some other forums.
Am I correct in assuming that by default the "as" assembler is used? Or is it WASM?

I'll keep trying, but some suggestion would be greatly appreciated.

Mentore

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5368
  • Karma: +127/-1
    • View Profile
Re: Boost 1.87 - assembler problems
« Reply #1 on: March 25, 2025, 04:05:01 pm »
Hello all, I'm trying to port the entire Boost library system.
Working with the CMake version helped me getting rid of the horrible B2 (bootstrap) build chain which I tried to port but with a lot of headaches.

I'm fixing little problems during compilation, but got stuck in some assembler section:

make gives me

make_i386_sysv_elf_gas.S:34: Error: unknown pseudo-op: `.hidden'

Are you trying to assemble an ELF object? Need to assemble an aout object, you might have to port make_i386_sysv_elf_gas.S to make_i386_sysv_aout_gas.S. The thing with aout is it is a very simple object format and doesn't support much besides generic sections and as you found doesn't support the .hidden pseudo-op. Doesn't support align either.

Quote
I'm currently using GCC 14.20, but as.exe is the "original" one on OS/2 since the 9.2.0 release of GCC.
It seems the assembler is the culprit, by searching in some other forums.
Am I correct in assuming that by default the "as" assembler is used? Or is it WASM?

I'll keep trying, but some suggestion would be greatly appreciated.

Mentore

All Paul's ports of as should work. WASM outputs OMF so everything needs -Zomf and you need USE32 and FLAT for 32 bit OMF. NASM is a good choice if you have the option.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5368
  • Karma: +127/-1
    • View Profile
Re: Boost 1.87 - assembler problems
« Reply #2 on: March 25, 2025, 04:16:29 pm »
Perhaps copy make_i386_sysv_elf_gas.S to make_i386_sysv_aout_gas.S, change the cmake.lists file or whatever file is needed to adjust to assemble make_i386_sysv_aout_gas.S instead of make_i386_sysv_elf_gas.S and hopefully can just remove the unknown pseudo-ops to get it to assemble. Might have to change the .section types too, forget the specifics right now.

Mentore

  • Full Member
  • ***
  • Posts: 243
  • Karma: +13/-0
    • View Profile
Re: Boost 1.87 - assembler problems
« Reply #3 on: March 25, 2025, 11:29:57 pm »
Perhaps copy make_i386_sysv_elf_gas.S to make_i386_sysv_aout_gas.S, change the cmake.lists file or whatever file is needed to adjust to assemble make_i386_sysv_aout_gas.S instead of make_i386_sysv_elf_gas.S and hopefully can just remove the unknown pseudo-ops to get it to assemble. Might have to change the .section types too, forget the specifics right now.

Thanks Dave. I'll try something tomorrow (it's 11 pm here)... Boost would help me a lot in porting some interesting software like lilypond and other things.

Mentore