Opened 12 years ago

Closed 9 years ago

#80 closed defect (fixed)

sym file isn't created when building uni32 kee

Reported by: yoda Owned by: greenemk
Priority: normal Milestone: Open Tools, etc.
Component: Building Version: 1.1.4
Severity: normal Keywords: sym map wmap
Cc:

Description

Using Mike's build system.
Building a debug driver (wmake debug kee) gives both sys and sym file.

Building "normal" driver (wmake kee) only gives a sys file

Checking manually, a wmap file is created. a MAP file can be created using the wmap -> map conversion without errors.

but creating a sym file with mapsym gives an error, and creates a sym file of 0 bytes.

Attachments (2)

wat2map.cmd (10.2 KB) - added by greenemk 12 years ago.
mapsymw.pl (9.5 KB) - added by stevenhl 12 years ago.
Enhanced wat2map - requires perl

Download all attachments as: .zip

Change History (13)

comment:1 Changed 12 years ago by greenemk

Ok, I have tried several wat2map variants and they all cause errors when running mapsym. The error is:

mapsym: BuildSymDef?: segment table search failed

This line it the converted map file error is:

0000:00001234 DOSseg

Knut's mapsym.cmd handles this in the following manner:

If ((is_Adress = 1) & (seg <> '0000')) Then Do; /* bird: skip symbols with segment 0. (DOSseg) */

601 /*--- Haven't done the work to xlate operator symbols - skip the line. */ 602 If Pos( '::operator', declaration ) <> 0 Then Iterate; I found in a S. Howe post:

"I think it is dummy module used to guuarantee the DOSSEG ordering of segments in the final executable."

So this is why Knut skips this and is what I will fix 32drv170 wmap to do.

comment:2 Changed 12 years ago by abwillis

This broke with the resync, the initial code from Vladest worked fine.

comment:3 Changed 12 years ago by greenemk

Yep, it is a watcom thing. So, I am going to just fix the wmap C program in the same manner Knut does it. I'll just skip the dummy segment.

Mike

Changed 12 years ago by greenemk

comment:4 Changed 12 years ago by greenemk

Ripped from MapSym?.cmd by Knut. Works and should be a quick working fix.

comment:5 Changed 12 years ago by abwillis

As long as a fixed version is being installed we should fix the code errors so that it works with Object REXX. At the bottom of the script: line 239, line 253, and line 259... remove the end's. Steven Levine has some other updates, if you don't have those I can upload his file.

Changed 12 years ago by stevenhl

Enhanced wat2map - requires perl

comment:6 Changed 12 years ago by stevenhl

The current incarnation of wat2map does not handle a number of mapsym limitiation. The attached mapsymb.pl does a better job for most of my uses. See line 20 for a basic overview of the transformations. What it does not not yet do is completely handle all the oddities of C++ symbol transformations. I need to add code to drop the leading keyword tokens from lines like "short int near APMAdd."

comment:7 Changed 12 years ago by stevenhl

Note that the repository contains

svn ls -v wat2map.cmd

89 stevenhl 9077 Mar 04 2007 wat2map.cmd

This has the ObjectREXX fixes. All it should need is the additional fixes discussed here and those included in mapsynw.pl.

comment:8 Changed 11 years ago by gentux2

I committed the wat2map.cmd updates from greenemk in changeset:293.

I don't quite understand the comment from stevenhl that we need the fixes included in mapsymw.pl. Should this file be added to the repo as well, or should its functions be ported to wat2map.cmd?

comment:9 Changed 11 years ago by yoda

  • Milestone changed from 1.1.4GA to milestone1

comment:10 Changed 11 years ago by gentux2

  • Cc yoda removed
  • Milestone changed from ALSA Hardware Compatibility to Open Tools, etc.

An issue using wlink instead of ilink.

comment:11 Changed 9 years ago by dazarewicz

  • Resolution set to fixed
  • Status changed from new to closed

Sym files seem to always be created since I have been working on this project so I am closing this ticket.

Note: See TracTickets for help on using tickets.