update from main archive 960904
authordrepper <drepper>
Thu, 5 Sep 1996 02:46:33 +0000 (02:46 +0000)
committerdrepper <drepper>
Thu, 5 Sep 1996 02:46:33 +0000 (02:46 +0000)
sysdeps/alpha/dl-machine.h
sysdeps/alpha/elf/start.S

index 3704c25..415549d 100644 (file)
@@ -186,13 +186,17 @@ _dl_runtime_resolve:
 #define RTLD_START asm ("\
 .text
        .globl _start
-       .globl _dl_start_user
+       .ent _start
 _start:
-       br      $gp,0f
+       br      $gp, 0f
 0:     ldgp    $gp, 0($gp)
        /* Pass pointer to argument block to _dl_start.  */
        mov     $sp, $16
        bsr     $26, _dl_start..ng
+       .end _start
+       /* FALLTHRU */
+       .globl _dl_start_user
+       .ent _dl_start_user
 _dl_start_user:
        /* Save the user entry point address in s0.  */
        mov     $0, $9
@@ -225,7 +229,8 @@ _dl_start_user:
        lda     $0, _dl_fini
        /* Jump to the user's entry point.  */
        mov     $9, $27
-       jmp     ($9)");
+       jmp     ($9)
+       .end _dl_start_user");
 
 /* Nonzero iff TYPE describes relocation of a PLT entry, so
    PLT entries should not be allowed to define the value.  */
@@ -377,8 +382,6 @@ elf_machine_rela (struct link_map *map,
            sym_value += reloc->r_addend;
          *reloc_addr = sym_value;
        }
-      else if (r_info == R_ALPHA_COPY)
-       memcpy (reloc_addr, (void *) sym_value, sym->st_size);
       else
        assert (! "unexpected dynamic reloc type");
     }
index 596cea6..d20a009 100644 (file)
@@ -20,12 +20,9 @@ Cambridge, MA 02139, USA.  */
 #include <sysdep.h>
 
        .text
-       .globl _start   /* what ELF wants */
-       .globl __start  /* for backwards (ECOFF) comatibility */
        .align 3
-       .ent __start, 0
+       .ent _start, 0
 _start:
-__start:
        .frame fp, 0, zero
        mov     zero, fp
        br      gp, 1f
@@ -62,7 +59,6 @@ __start:
        mov     a1, s1
        mov     a2, s2
 
-#ifdef HAVE_INITFINI
   /* Call _init, the entry point to our own .init section.  */
        jsr     ra, _init
        ldgp    gp, 0(ra)
@@ -71,16 +67,12 @@ __start:
        lda     a0, _fini
        jsr     ra, atexit
        ldgp    gp, 0(ra)
-#else
-  /* initialize constructors: */
-       jsr     ra, __main
-       ldgp    gp, 0(ra)
-#endif
+
+  /* Call the user's main and exit with its return value.  */
        mov     s0, a0
        mov     s1, a1
        mov     s2, a2
 
-  /* Call the user's main and exit with its return value.  */
        jsr     ra, main
        ldgp    gp, 0(ra)
 
@@ -90,7 +82,10 @@ __start:
   /* Die very horribly if exit returns.  Call_pal hlt is callable from
      kernel mode only; this will result in an illegal instruction trap.  */
        call_pal 0
-END(__start)
+       .end _start
+
+/* For ECOFF backwards compatibility. */
+weak_alias(_start, __start)
 
 /* Define a symbol for the first piece of initialized data.  */
        .data