On Wed, Aug 19, 2020 at 3:08 AM MikeB <mabnh...@gmail.com> wrote:
>
> Reposting in the hopes of getting an answer - I'm stuck.
>
> I'm in the process of upgrading from Zeus to Dunfell.  For my MIPS platform, 
> the library ABI version has changed from 0 to 5.  I have some backward 
> compatibility issues that require generating at least some libraries with ABI 
> version 0.  I've tried using -fabi_version=0 in my CCFLAGS, but that seems to 
> be ignored.  Can someone tell me how to set the ABI version back to 0 in my 
> image and SDK?
>
> I'm building for a custom MIPs platform running on a Cavium Octeon II in 
> 32-bit mode.
>
> TUNE_FEATURES  = "o32 bigendian fpu-hard octeon2"
>
> A current Dunfell shared library ELF Header looks like this:
>
> ELF Header:
>   Magic:   7f 45 4c 46 01 02 01 00 05 00 00 00 00 00 00 00
>   Class:                             ELF32
>   Data:                              2's complement, big endian
>   Version:                           1 (current)
>   OS/ABI:                            UNIX - System V
>   ABI Version:                       5
>   Type:                              DYN (Shared object file)
>   Machine:                           MIPS R3000
>   Version:                           0x1
>   Entry point address:               0x1630
>   Start of program headers:          52 (bytes into file)
>   Start of section headers:          22488 (bytes into file)
>   Flags:                             0x808d1107, noreorder, pic, cpic, 
> 32bitmode, octeon2, o32, mips64r2
>
> The same library built with Zeus looks like this.
>
> ELF Header:
>   Magic:   7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00
>   Class:                             ELF32
>   Data:                              2's complement, big endian
>   Version:                           1 (current)
>   OS/ABI:                            UNIX - System V
>   ABI Version:                       0
>   Type:                              DYN (Shared object file)
>   Machine:                           MIPS R3000
>   Version:                           0x1
>   Entry point address:               0x1500
>   Start of program headers:          52 (bytes into file)
>   Start of section headers:          22340 (bytes into file)
>   Flags:                             0x808d1107, noreorder, pic, cpic, 
> 32bitmode, octeon2, o32, mips64r2
>
> The ABI Version being the issue.
>

This is due to switching default hash style from sysv to gnu starting
dunfell. You can switch back to sysv either via LDFLAGS
or explicitly define

LINKER_HASH_STYLE_mipsarch = "sysv"

in your distro.
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#50310): https://lists.yoctoproject.org/g/yocto/message/50310
Mute This Topic: https://lists.yoctoproject.org/mt/76283333/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to