Bug#671044: freedink: FTBFS[!linux]: too many args to install-reloc

Sylvain beuc at gnu.org
Tue May 1 20:13:44 UTC 2012


Hi Steven,

'install-reloc' indeed does nothing special in the case of
FreeDink+Linux, but it is run as part of the gnulib infrastructure.

(I see you understand the relocatable-prog module quite well, but I
post this link for other people to understand how it works:)
http://www.gnu.org/software/gnulib/manual/html_node/Supporting-Relocation.html#Supporting-Relocation

In the general case I guess that all systems using ELF and supporting
rpath can skip the wrapper as well, but let's hear from the gnulib
developers first :)

I suppose the patch requires a re-bootstrap?

Cheers!
Sylvain

On Tue, May 01, 2012 at 08:52:25PM +0100, Steven Chamberlain wrote:
> retitle 671044 freedink: FTBFS[!linux]: too many args to install-reloc
> tags 671044 + patch
> thanks
> 
> Hi Sylvain,
> 
> On 01/05/12 15:56, Sylvain wrote:
> > It seems that there's an issue with install-reloc:
> 
> Yes there is, but what is its purpose anyway?  For Linux builds it is
> not used so maybe it shouldn't be used either on kFreeBSD or Hurd?
> 
> With the attached patch it builds just fine on kfreebsd-i386 and I think
> the change would also help fix this on hurd-*.
> 
> Also attached is the output of 'objdump -p' for the two binaries;  I
> don't see an RPATH or anything that would make them not be relocatable
> AFAIK.
> 
> Regards,
> -- 
> Steven Chamberlain
> steven at pyro.eu.org

> Description: use_elf_origin_trick on non-Linux arches
>  Avoids (wrongly?) using install-reloc on GNU/kFreeBSD and GNU/Hurd.
> Author: Steven Chamberlain <steven at pyro.eu.org>
> Bug-Debian: http://bugs.debian.org/671044
> 
> --- freedink-1.08.20120427.orig/gnulib/m4/relocatable.m4	2012-04-27 12:48:56.000000000 +0100
> +++ freedink-1.08.20120427/gnulib/m4/relocatable.m4	2012-05-01 20:41:06.411344551 +0100
> @@ -41,7 +41,7 @@
>      AC_CHECK_FUNCS([_NSGetExecutablePath])
>      case "$host_os" in
>        mingw*) is_noop=yes ;;
> -      linux*) use_elf_origin_trick=yes ;;
> +      linux*|gnu*|k*bsd*-gnu) use_elf_origin_trick=yes ;;
>      esac
>      if test $is_noop = yes; then
>        RELOCATABLE_LDFLAGS=:

> 
> freedink:     file format elf32-i386-freebsd
> 
> Program Header:
>     PHDR off    0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2
>          filesz 0x00000100 memsz 0x00000100 flags r-x
>   INTERP off    0x00000134 vaddr 0x08048134 paddr 0x08048134 align 2**0
>          filesz 0x0000000d memsz 0x0000000d flags r--
>     LOAD off    0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12
>          filesz 0x00041a68 memsz 0x00041a68 flags r-x
>     LOAD off    0x00042000 vaddr 0x0808a000 paddr 0x0808a000 align 2**12
>          filesz 0x0000073c memsz 0x00391004 flags rw-
>  DYNAMIC off    0x0004200c vaddr 0x0808a00c paddr 0x0808a00c align 2**2
>          filesz 0x00000128 memsz 0x00000128 flags rw-
>     NOTE off    0x00000144 vaddr 0x08048144 paddr 0x08048144 align 2**2
>          filesz 0x00000044 memsz 0x00000044 flags r--
> EH_FRAME off    0x00039eec vaddr 0x08081eec paddr 0x08081eec align 2**2
>          filesz 0x00001444 memsz 0x00001444 flags r--
>    STACK off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
>          filesz 0x00000000 memsz 0x00000000 flags rw-
> 
> Dynamic Section:
>   NEEDED               libSDL_mixer-1.2.so.0
>   NEEDED               libSDL_image-1.2.so.0
>   NEEDED               libSDL_ttf-2.0.so.0
>   NEEDED               libSDL_gfx.so.13
>   NEEDED               libSDL-1.2.so.0
>   NEEDED               libfontconfig.so.1
>   NEEDED               libm.so.1
>   NEEDED               libc.so.0.1
>   INIT                 0x0804a99c
>   FINI                 0x0807bb9c
>   INIT_ARRAY           0x0808a000
>   INIT_ARRAYSZ         0x00000004
>   FINI_ARRAY           0x0808a004
>   FINI_ARRAYSZ         0x00000004
>   HASH                 0x08048188
>   GNU_HASH             0x08048808
>   STRTAB               0x080495f8
>   SYMTAB               0x08048868
>   STRSZ                0x00000b2f
>   SYMENT               0x00000010
>   DEBUG                0x00000000
>   PLTGOT               0x0808a13c
>   PLTRELSZ             0x00000658
>   PLTREL               0x00000011
>   JMPREL               0x0804a344
>   REL                  0x0804a31c
>   RELSZ                0x00000028
>   RELENT               0x00000008
>   VERNEED              0x0804a2dc
>   VERNEEDNUM           0x00000002
>   VERSYM               0x0804a128
> 
> Version References:
>   required from libm.so.1:
>     0x0d696913 0x00 03 GLIBC_2.3
>   required from libc.so.0.1:
>     0x0d696913 0x00 02 GLIBC_2.3
> 
> 
> freedinkedit:     file format elf32-i386-freebsd
> 
> Program Header:
>     PHDR off    0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2
>          filesz 0x00000100 memsz 0x00000100 flags r-x
>   INTERP off    0x00000134 vaddr 0x08048134 paddr 0x08048134 align 2**0
>          filesz 0x0000000d memsz 0x0000000d flags r--
>     LOAD off    0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12
>          filesz 0x000411bc memsz 0x000411bc flags r-x
>     LOAD off    0x000411bc vaddr 0x0808a1bc paddr 0x0808a1bc align 2**12
>          filesz 0x00000768 memsz 0x00393754 flags rw-
>  DYNAMIC off    0x000411c8 vaddr 0x0808a1c8 paddr 0x0808a1c8 align 2**2
>          filesz 0x00000128 memsz 0x00000128 flags rw-
>     NOTE off    0x00000144 vaddr 0x08048144 paddr 0x08048144 align 2**2
>          filesz 0x00000044 memsz 0x00000044 flags r--
> EH_FRAME off    0x00039d8c vaddr 0x08081d8c paddr 0x08081d8c align 2**2
>          filesz 0x00001354 memsz 0x00001354 flags r--
>    STACK off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
>          filesz 0x00000000 memsz 0x00000000 flags rw-
> 
> Dynamic Section:
>   NEEDED               libSDL_mixer-1.2.so.0
>   NEEDED               libSDL_image-1.2.so.0
>   NEEDED               libSDL_ttf-2.0.so.0
>   NEEDED               libSDL_gfx.so.13
>   NEEDED               libSDL-1.2.so.0
>   NEEDED               libfontconfig.so.1
>   NEEDED               libm.so.1
>   NEEDED               libc.so.0.1
>   INIT                 0x0804a9ac
>   FINI                 0x0807a7fc
>   INIT_ARRAY           0x0808a1bc
>   INIT_ARRAYSZ         0x00000004
>   FINI_ARRAY           0x0808a1c0
>   FINI_ARRAYSZ         0x00000004
>   HASH                 0x08048188
>   GNU_HASH             0x08048808
>   STRTAB               0x080495f4
>   SYMTAB               0x08048864
>   STRSZ                0x00000b3d
>   SYMENT               0x00000010
>   DEBUG                0x00000000
>   PLTGOT               0x0808a2f8
>   PLTRELSZ             0x00000660
>   PLTREL               0x00000011
>   JMPREL               0x0804a34c
>   REL                  0x0804a324
>   RELSZ                0x00000028
>   RELENT               0x00000008
>   VERNEED              0x0804a2e4
>   VERNEEDNUM           0x00000002
>   VERSYM               0x0804a132
> 
> Version References:
>   required from libm.so.1:
>     0x0d696913 0x00 03 GLIBC_2.3
>   required from libc.so.0.1:
>     0x0d696913 0x00 02 GLIBC_2.3
> 






More information about the Pkg-games-devel mailing list