News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

HLA 1.104 question

Started by DarkWolf, April 15, 2009, 05:51:47 PM

Previous topic - Next topic

DarkWolf

HLA (High Level Assembler - GAS back end, LD linker)
Version 1.104 build 20857 (prototype)

Cannot find hlalib.a when I try to run hla (side note what is hlalib_safe.a ?)

hlalib.a path is $ ~/hla/hlalib/hlalib.a
hlainc path is   $ ~/hla/include

.bashrc has :

# Added for HLA support
export hlalib=~/hla/hlalib/hlalib.a
export hlainc=~/hla/include


hla and hlaparse is symlinked to /bin/hla and /bin/hlaparse

code I am building is on a separate partition (if that would affect anything)
--
Where's there's smoke, There are mirrors.
Give me Free as in Freedom not Speech or Beer.
Thank You and Welcome to the Internet.

Sevag.K

With the new library, you get a thread-save version which is the hlalib_safe.a.  This is linked instead if you pass the -thread option.

Also with the new version, you no longer point the hlalib environment to the library file, just point it to the library folder.

~/hla/hlalib



DarkWolf

Ah ha that works thanks.

Question about -l and -a parameters. I need to pass two parameters to the linker -m and elf_i386. Problem is that -l prefixes a hyphen before the parameter passed to linker. I can't use -l-m elf_386 because the whitespace is parsed as another parameter to hla and I can't use -l-m -lelf_386  because -l prefixes a hyphen and -elf_386 gets interpreted as a script that doesn't actually exist. Is there a way to pass whitespace in a parameter to the linker ?
--
Where's there's smoke, There are mirrors.
Give me Free as in Freedom not Speech or Beer.
Thank You and Welcome to the Internet.

Sevag.K

I haven't tried myself, but it can't hurt to try placing the whole thing in quotes.
-l"-m elf_386"

If it doesn't work, you may have to link manually and that can be a pain in linux.

DarkWolf

I tried that.
Shells in Linux will parse the double quotes first then pass it as two variables to hla.
Single quotes are supposed to be strong quotes in shells and are interpreted literally.
I'll try that and see what happens.

Ah that works (maybe). Strong quotes in Linux shells (and drop the first hyphen hla -l adds it already).

(The reason for the maybe is that 32bit apps built on 64bit machines won't run; I get bash: ./three: Permission denied returned
Despite permissions set appropiately)
--
Where's there's smoke, There are mirrors.
Give me Free as in Freedom not Speech or Beer.
Thank You and Welcome to the Internet.