This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Minor complaint :not pick up SSFcc2A.obj when the pseudo op NAME has the same operand

if not exist as.lib goto usliex
del as.lib
:usliex
c:\tools\keil\c51\bin\lib51 c as.lib					>..\trash\trashbin
c:\tools\keil\c51\bin\lib51 a Sacode.obj	to as.lib	>..\trash\trashbin
c:\tools\keil\c51\bin\lib51 a Sccode.obj	to as.lib	>..\trash\trashbin
c:\tools\keil\c51\bin\lib51 a SSF881C.obj  	to as.lib	>..\trash\trashbin
c:\tools\keil\c51\bin\lib51 a SSF882C.obj  	to as.lib	>..\trash\trashbin
c:\tools\keil\c51\bin\lib51 a SSF882M.obj  	to as.lib	>..\trash\trashbin
c:\tools\keil\c51\bin\lib51 a SSFcc1C.obj  	to as.lib	>..\trash\trashbin
c:\tools\keil\c51\bin\lib51 a SSFcc2A.obj  	to as.lib	>..\trash\trashbin
c:\tools\keil\c51\bin\lib51 a SSF901C.obj  	to as.lib	>..\trash\trashbin
c:\tools\keil\c51\bin\lib51 a Scrout.obj  	to as.lib	>..\trash\trashbin
c:\tools\keil\c51\bin\lib51 a Sarout.obj  	to as.lib	>..\trash\trashbin
c:\tools\keil\c51\bin\lib51 a Sfmtbs.obj  	to as.lib	>..\trash\trashbin
c:\tools\keil\c51\bin\lib51 a Sfmtbm.obj  	to as.lib	>..\trash\trashbin
c:\tools\keil\c51\bin\lib51 a Sssgchar.obj  to as.lib	>..\trash\trashbin
c:\tools\keil\c51\bin\lib51 a Sssbmap.obj   to as.lib	>..\trash\trashbin

REM if "%MUSTYP%"=="a" goto lnkac
REM c:\tools\keil\c51\bin\bl51 SSLstart.obj, SSLisr.obj, SSLiic.obj, Smain.obj, Sxdata.obj, as.lib, c51s.lib TO as.omf RS(256) IX >protl.log
REM goto lnkdn
REM
REM :lnkac
REM c:\tools\keil\c51\bin\bl51 Sstart.obj, Sisr.obj, Siic.obj, Smain.obj, SSFcc2A.obj, Sxdata.obj, as.lib, c51s.lib TO as.omf RS(256) IX >protl.log
    c:\tools\keil\c51\bin\bl51 Sstart.obj, Sisr.obj, Siic.obj, Smain.obj,              Sxdata.obj, as.lib, c51s.lib TO as.omf RS(256) IX >protl.log
The above link a version that uses SSFcc1c without problems. Another version that uses ssfcc2a require that the link line be replaced with the REM ... above.

I just recalled what the problem is, so, instead of a question, this is a "minor complaint" When the pseudo op NAME has the same operand in two modules, only one of the objexts get to the library.

Erik

Parents
  • Should the library generator not "complain" if it in the same run was presented with two modules with same "name".

    Which "library generator" would that be? It can't really be BL51 you're referring too, as that is not presented with two same-named in the same run: it's invoked several times, and asked to add an .obj file holding a module under some name, to an existing .lib which already contains a module of the same name.

    And according to the docs, this should trigger an error message. But the way your batch file uses the trashbin, you'll never see that message. Your fault.

Reply
  • Should the library generator not "complain" if it in the same run was presented with two modules with same "name".

    Which "library generator" would that be? It can't really be BL51 you're referring too, as that is not presented with two same-named in the same run: it's invoked several times, and asked to add an .obj file holding a module under some name, to an existing .lib which already contains a module of the same name.

    And according to the docs, this should trigger an error message. But the way your batch file uses the trashbin, you'll never see that message. Your fault.

Children