Current-Users archive

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

re: README: gcc 7 switch coming to a port near you!



> /rescue binaries fail with GCC 7, which is why the qemu runs
> are failing -- the installer crashes the same.
> 
> it is not static binaries, but something specific to the
> crunchgen'd binaries i guess.
> 
> if i can't figure out the crunchgen problem i'll revert the
> switch on sparc but others may want to skip SMP kernels on
> sparc for now (and i *just* fixed it! argh.)

i'm not very familiar with how this all work, but i have found
that it may be a strip or objcopy bug.

the "rescue.unstripped" in the rescue objdir runs fine.  the
program headers are broken in the installed binary.  this:

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x000000 0x00010000 0x00010000 0x66b0f2 0x66b0f2 R E 0x10000
  LOAD           0x66c000 0x0068c000 0x0068c000 0x75cd0 0x323240 RW  0x10000
  NOTE           0x0000b4 0x000100b4 0x000100b4 0x0002c 0x0002c R   0x4
  TLS            0x6ced08 0x006eed08 0x006eed08 0x00000 0x00004 R   0x4

becomes

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x000000 0x00000000 0x00010000 0x67b0d6 0x67b0d6 R E 0x10000
  LOAD           0x67ed08 0x006eed08 0x006eed08 0x12fc8 0x2c0538 RW  0x10000
  LOAD           0x69ed08 0x006eed08 0x006eed08 0x00040 0x00040 RW  0x10000
  NOTE           0x0100b4 0x000100b4 0x000100b4 0x00018 0x00018 R   0x4
  TLS            0x67ed08 0x006eed08 0x006eed08 0x00000 0x00004 R   0x4

the first problem is virtaddr 0x0.  this is (default) disallowed
(mapping user VA 0), though enabling it causes a later failure.

it's something in the objcopy that makes the "stripped" copy.


.mrg.


Home | Main Index | Thread Index | Old Index