bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: pdp-11 TARGET_PAGE_SIZE mismatch in 2.25


From: David Bridgham
Subject: Re: pdp-11 TARGET_PAGE_SIZE mismatch in 2.25
Date: Fri, 30 Oct 2015 00:08:03 -0400
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

In my previous message I jumped to the fix, rather than giving you just
the problem.  Sorry about that.

Here's a little program:

crt0.s:
    .text

    .even
    .globl _start
_start:
    mov    $0140000, sp
    mov    sp, r5
    mov    argv, -(sp)    /* argv */
    mov    $1, -(sp)    /* argc */
    jsr    pc, ___main
    add    $4, sp
    halt

    rts    pc
   
    .even
    .globl ___main
___main:
    rts pc
   
    .data
arg1:    .asciz    "stand-alone"
    .even
argv:    .word    arg1
   
Now run:

address@hidden> pdp11-aout-as -o crt0.o crt0.s
address@hidden> pdp11-aout-ld -nostdlib -o crt0 crt0.o
address@hidden> pdp11-aout-objdump -x crt0

crt0:     file format a.out-pdp11
crt0
architecture: pdp11, flags 0x000000be:
EXEC_P, HAS_LINENO, HAS_DEBUG, HAS_SYMS, HAS_LOCALS, WP_TEXT
start address 0x00000000

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         0000001c  00000000  00000000  00000010  2**1
                  CONTENTS, ALLOC, LOAD, CODE
  1 .data         0000000e  00000400  00000400  0000002c  2**1
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000002  0000040e  0000040e  00000000  2**1
                  ALLOC
SYMBOL TABLE:
00000000 l       .text 0000 00 02 crt0.o
00000000 g       .text 0000 00 22 _start
0000010c l       .data 0000 00 03 argv
0000001a g       .text 0000 00 22 ___main
00000100 l       .data 0000 00 03 arg1
0000001c g       .text 0000 00 22 __etext
0000001c g       .text 0000 00 22 _etext
00000110 g       .bss  0000 00 24 __end
0000010e g       .data 0000 00 23 __edata
0000010e g       .bss  0000 00 24 __bss_start
0000010e g       .data 0000 00 23 _edata
00000110 g       .bss  0000 00 24 _end

Notice in the symbol table that arg1, the first item in the .data
segment, has the value 100 while the VMA and LMA of the .data segment
are 400.

I tried setting TARGET_PAGE_SIZE in bfd/pdp11.c to 256, the same value
it has in ld/emulparams/pdp11.sh, and that disagreement went away.

 -Dave




reply via email to

[Prev in Thread] Current Thread [Next in Thread]