POLINK: warning: /SECTION:.bss ignored; section is missing.

Started by Fred Harris, July 28, 2007, 03:47:24 PM

Previous topic - Next topic

Fred Harris

On July 5, 2007 I downloaded and installed HLA on two of my laptops, and I was successfully able to compile the first 'Hello, World!' program.  However, I do get the above referenced warning.  Is this something I need to be concerned about?  Below is the console screen showing a compile/run sequence.


C:\Code\HLA\Projects\HW>hla hw.hla
POLINK: warning: /SECTION:.bss ignored; section is missing.

C:\Code\HLA\Projects\HW>dir
Volume in drive C is MAIN
Volume Serial Number is F820-C233

Directory of C:\Code\HLA\Projects\HW

07/25/2007  08:57p      <DIR>          .
07/25/2007  08:57p      <DIR>          ..
07/25/2007  09:01p                 137 hw.hla
07/25/2007  09:05p                 181 hw.link
07/27/2007  04:33p                 874 hw.obj
07/27/2007  04:33p               5,120 hw.exe
               4 File(s)          6,312 bytes
               2 Dir(s)  15,384,395,776 bytes free

C:\Code\HLA\Projects\HW>hw
Hello, World of Assembly Language!

C:\Code\HLA\Projects\HW>

Evenbit

It is safe to ignore this warning.  If it bothers your senses to see that warning, then use another linker (like the one that comes with MASM) which doesn't give this warning.

Nathan.

Fred Harris

I thought the build system of hla used masm32's link.exe?  On this particular computer (Win 2000 Pro laptop) I installed hla in c:\masm32 and copied \masm32\bin\link.exe to \masm32\hla\link.exe.  So I guess I don't know what POLink is?  On another laptop I have a seperate directory for hla off the c drive just like Randy recommends and it gives the same warning.

Evenbit

Quote from: Fred Harris on July 28, 2007, 10:18:42 PM
I thought the build system of hla used masm32's link.exe?  On this particular computer (Win 2000 Pro laptop) I installed hla in c:\masm32 and copied \masm32\bin\link.exe to \masm32\hla\link.exe.  So I guess I don't know what POLink is?  On another laptop I have a seperate directory for hla off the c drive just like Randy recommends and it gives the same warning.

Well, that was the old way that HLA worked (using MASM's assembler and linker as a "backend" by default).  The newest HLA includes a built-in version of FASM [from here:  http://flatassembler.net/ ] and is bundled with POLINK [from here:  http://www.christian-heffner.de/ ] and uses those two tools 'by default' unless you specify specific "command-line switches" or set certain "environmental variables" to tell it to use something else.  Doing a "HLA -?" should give you all the details.

HLAPARSE Compiler/Back-end Assembler Output Control:

  -c        Compile and assemble to object file only.
  -cf       Compile and assemble to object file only (using FASM).
  -cm       Compile/assemble to object using MASM (Windows only).
  -ct       Compile/assemble to object using TASM (Windows only).
  -cg       Compile/assemble to object using GAS (Linux only).
  -co       Compile/assemble to object using internal FASM back-end.

  -o:omf    Produce OMF files (for Windows).
  -o:coff   Produce win32 COFF files (for Windows).
  -o:elf    Produce ELF files (for Linux).

  -axxxxx   Pass xxxxx as command line parameter to assembler.

Executable Output Control:

  -xf       Compile/assemble/link to executable (using FASM).
  -xm       Compile/assemble/link to object using MASM (Windows only).
  -xt       Compile/assemble/link to object using TASM (Windows only).
  -xg       Compile/assemble/link to object using GAS (Linux only).
  -xo       Compile/assemble/link to object internal FASM back-end.

  -e:name   Executable output filename (appends ".exe" under Windows).
  -x:name   Executable output filename (does not append ".exe").

Linker Control:

  -lxxxxx   Pass xxxxx as command line parameter to linker.

HLA Environment Variables:

hla=<asm>      Sets default assembler behavior
                 <asm>:
                    hla-  uses internal version of FASM
                    ohla- uses internal version of FASM
                    fhla- uses FASM as the back-end assembler
                   Windows Only:
                    mhla- uses MASM as the back-end assembler
                    thla- uses TASM as the back-end assembler
                   Linux Only:
                    ghla- uses GAS as the back-end assembler

hlalink=<lnkr> Sets default linker behavior
                 <lnkr>:
                   Windows Only:
                    mslink- use Microsoft's link.exe linker
                    polink- use the Pelles C polink.exe linker
                   Linux Only:
                    ld- use the FSF/GNU ld linker


Nathan.

Fred Harris