amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

[Login] [Register] [Forgot your password?]

< Next messagePrior message >
01.Jan.2025
Frank Wille (ANF)


Development tools: vasm 2.0a and vlink 0.18
Frank Wille has updated vasm, a portable Assembler for several CPUs with various Syntax and Output modules, as well as vlink, a portable Linker for lots of Object, Executable and Binary formats.

Changes in vasm V2.0a:
  • Fixed bad path in source level debugging information, when the initial source file and an include file were based on the same "compile directory".
  • Get rid of C99-round() dependency.
  • Fixed empty strings, which were broken in V2.0. They should not generate any data.
  • When position-independant code is requested (-pic option) the assembler defaults to relocatable mode (to be able to detect violations).
  • Allow 64-bit (or more) expressions with absolute label addresses.
  • 6502: Additionally allow BRK with an immediate 8-bit operand.
  • 6502: Operand prefix character '?' can be used to select the Memory/Bank-ID where the referenced symbol resides. Requires the use of VOBJ and vlink.
  • mot-syntax: A double colon after the label also exports RS symbols now.
  • madmac-syntax: New directives: ifdef and ifndef (just for convenience, they are no official MadMac directives!).
  • madmac-syntax: Fix problem with print-directive when string is empty.
  • oldstyle-syntax: Fixed usage of '$' as current-PC symbol for Z80, which was broken since V2.0.
  • oldstyle-syntax: Fixed definition of structure offset labels, which should be referenceable by structname.offsetname. Broken since V2.0.
  • hunk-output: Fixed output generated by Databss directives (like DX in mot-syntax). Broken in V2.0.
  • hunk-output: -linedebug: do not generate multiple entries per line.
Changes in vlink 0.18:
  • Define for each relocation type whether it is signed, unsigned or unknown, to provide better range checks.
  • Make the range-checking work with sign-extended addresses (Example: m68k 16-bit absolute addressing).
  • When an output section's memory region has not enough space the linker will look for the next matching output section.
  • Linker script function KEEP() now really prevents garbage collection of sections.
  • Sorting and exclusion functions for linker script section patterns: SORT_BY_ALIGNMENT(), SORT_BY_NAME(), SORT_BY_SIZE(), REVERSE(), EXCLUDE_FILE(), EXCLUDE_SECTION(). Supporting up to two sorting levels.
  • The output section's bank size can be defined by (BANKSIZE=n) in the script, so input sections may not cross bank borders. In that case they will be aligned to the beginning of the next bank.
  • Linker script MEMORY definitions now support an optional ID=n argument, where n defines an identification value which can be referenced by a VOBJ-specific relocation type (MEMID).
  • Can find first executable code-section now, when no start symbol is present.
  • Portable pattern matching routine, used for Windows and TOS, did case-insensitive string comparisons in the past.
  • Absolute symbols are printed as a separate section into the map file.
  • Support LINKONCE section flag.
  • New options -symfile, -symfmt and -symctrl to output symbol/value pairs into a file using the given printf-format string.
  • New options -obe and -ole to specify the endianess of octets within a target-byte (when it has more than 8 bits) when writing the contents of a section to a file system.
  • New option -lineoffsets to output a separate file with source line offsets per section.
  • New option -mattr to merge all sections with same attributes, when linking without a linker script.
  • The target file formats rawbin1 and rawbin2 were replaced by a common rawbin format. rawbin2 is now -brawbin with -multifile option. The old target names are still supported for backwards compatibility.
  • New target file formats "foenixpgx-c02", "foenixpgx-816", "foenixpgz-24" and "foenixpgz-32" for Foenix retro computers.
  • New target file format "appleomf" can generate relocatable load-files for Apple IIgs computers.
  • Merge options -mrel, -mtype and -mall also work with -r now, when creating a new relocatable object file.
  • Linker script commands BYTE, SHORT, LONG, QUAD, SQUAD do now create 1, 2, 4 or 8 target-bytes and no longer 8, 16, 32, 64-bit values.
  • Relocatable/Abs symbols with the same name have precedence before Common symbols and do not cause a multiple-definition error.
  • Starting vlink without arguments only shows a short list of options now. For a detailed description use -h, which also includes target-specific options selected by -b.
  • Fixed output section trimming in the linker script.
  • Fix error message for unknown target file formats (-b).
  • (ados/ehf) New option -kick1 makes sure the generated executable is comaptible with the Kickstart 1.x loader.
  • (ados/ehf) Allow symbol redefinitions from pulled library units, as long as their target CPU differs (M68k/PPC WarpOS mixed binaries). This only worked for symbols from code sections, since V0.17.
  • (elf) Fixed uninitialized .plt at end of text segment.
  • (tos) Can use DRI object files and libraries as input now. HiSoft and SozobonX symbol name extensions are supported.
  • (tos) TOS executable files do work as input and DRI objects as output (-r).
  • (tos) Enable SozobonX symbol names with -tos-sozobonx.
  • (tos) Disable the HiSoft symbol name extension in executables with -tos-stddri.
  • (rawbin) Fixed missing byte in the ORIC tape header and automatically remove a ".tap" extension from the name stored there.
  • (rawbin) IHEX supports architectures with more than 8 bits per byte. But note that the address is still incremented in 8-bit steps.
  • (rawbin) Make sure the file size is even, when using a QDOS header.
  • (rawbin) Fixed raw reloc table output (-q) for a relocation at offset 0.
  • (rawbin) New options -fill, -coalesced and -multifile (previously rawbin2).
  • (vobj) Supports -r option to output a relocatable VOBJ file. Option -vobj2 may be used to write that file in VOBJ v2 format.
  • (vobj) -vobjcpu option selects the name of the target CPU.
  • (vobj) Supports VOBJ v2 format (vasm -Fvobj -vobj2) and PPC non-standard relocations (EABI, MorphOS, AmigaOS).
  • (xfile) Entry address is written to the header.
  • (xfile) New option -x-high sets the high-address flag in the header.
(snx)

[News message: 01. Jan. 2025, 15:12] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
< Next messagePrior message >

.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2025 by amiga-news.de - all rights reserved.
.