home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.os.vms      DEC's VAX* line of computers & VMS.      264,096 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 263,243 of 264,096   
   Waldek Hebisch to ldo@nz.invalid   
   Re: Binutils   
   06 Sep 25 01:13:39   
   
   From: antispam@fricas.org   
      
   Lawrence D’Oliveiro  wrote:   
   > On Fri, 5 Sep 2025 21:32:01 -0000 (UTC), Waldek Hebisch wrote:   
   >   
   >> All indicates that GNU assembler can not handle simple symbol   
   >> equality as intended.   
   >   
   > I tried creating a source file test.s containing just your two problem   
   > lines:   
   >   
   >     .globl _ZN10__cxxabiv117__array_type_infoD1Ev   
   >     _ZN10__cxxabiv117__array_type_infoD1Ev = _ZN10__cxxabiv117   
   _array_type_infoD2E   
   >   
   > and when I try to assemble it,   
   >   
   >     gcc -c test.s   
   >   
   > there is no error, and test.o is created OK. Trying objdump on it   
   >   
   >     objdump -t test.o   
   >   
   > shows it has the correct symbol reference in it, albeit undefined:   
   >   
   >     test.o:     file format elf64-x86-64   
   >   
   >     SYMBOL TABLE:   
   >     0000000000000000         *UND*  0000000000000000 _ZN10__cx   
   abiv117__array_type_infoD2E   
   >   
   > So no, the issue is not with those two particular lines on their own.   
   > Something else is involved.   
      
   Yes.  AFAICS main issue is creating alias name for an exported   
   function.  Internal aliases work fine.  Probably data aliases too.   
      
   _ZN10__cxxabiv117__array_type_infoD1Ev must be defined as an exported   
   function.  Actual code is rather long.  Below is much shorter code   
   that exhibits the same problem.   
      
   Also note the context: this is code for alpha-dec-vms, equivalent   
   construct is used on other architecures and works fine.   
      
   --------------------------------------------   
           .set noreorder   
           .set volatile   
           .arch ev6   
           .text   
           .align 2   
           .globl ts_fun   
           .ent ts_fun   
   ts_fun..en:   
           .base $27   
           .frame $29,0,$26,8   
           .prologue   
           ret $31,($26),1   
      
           .link   
           .align 3   
   ts_fun:   
           .pdesc ts_fun..en,null   
           .end ts_fun   
           .globl ts_fun2   
           ts_fun2 = ts_fun   
           .text   
   $Lvetext0:   
   ---------------------------------------------------   
      
   --   
                                 Waldek Hebisch   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca