Building for ELFv2
Mark Millard
marklmi at yahoo.com
Mon Dec 30 05:07:37 UTC 2019
On 2019-Dec-29, at 17:38, Cameron Berkenpas <cam at neo-zeon.de> wrote:
> I'm building on the system I wish to update. The system itself is 13.0-CURRENT (r356092) and based on gcc 4.2.1. I was going to initially try a live update, but I wasn't sure how successful that would be (but this is a VM so I'd be able to rollback without difficulty). If that didn't work out, I was going to try and create some bootable media and install a new instance from that.
>
> I have currently allocated 32GB of memory and there appears to be about 3G of swap and 32 threads.
>
> The physical host is a Talos II (so POWER9) running Linux/KVM/libvirt.
>
> Thanks,
One thing that I've noticed is that while
devel/llvm90 has an option to enable ELFv2
as the default abi for powerpc64,
devel/llvm80 does not have such --and may
well not have all the updates required in
order to work well for generating ELFv2
materials for all I know.
Some ports are tied to llvm80 (not tracking
the default if set later). Thus, if such a
port is important to one's context, moving
to an ELFv2 context could be a problem for
now.
(I'm still dealing with building various
ways. I've not yet tried installation or
operation of an ELFv2 context, or an official
system-clang based context for 32-bit
powerpc.)
Older material (because of some earlier
top-posting):
> On 12/28/19 6:39 PM, Mark Millard wrote:
>>
>> On 2019-Dec-28, at 15:28, Cameron Berkenpas <cam at neo-zeon.de> wrote:
>>
>>> Hello,
>>>
>>> How can one build FreeBSD 13.0-CURRENT for ELFv2 support?
>>>
>>> I've installed xtoolchain-llvm90, and I run:
>>> CROSS_TOOLCHAIN=llvm90 make buildenv
>>>
>>> From here buildworld fails pretty early on with:
>>> /usr/src/sys/contrib/libnv/nvpair.c:33:10: fatal error: 'sys/cdefs.h' file not found
>>>
>>> I can add "-I/usr/include" and so on to /etc/src.conf to hack around this, it just goes a bit further and finds other headers missing.
>>>
>>> As far as I can tell, $SYSROOT (/usr/obj/usr/src/powerpc.powerpc64/tmp) isn't being properly setup properly which is resulting in missing headers.
>>>
>>> I've done some searching and haven't really found anything too helpful. But perhaps I just don't know what to look for.
>>>
>>> Thanks!
>>>
>> You may want to specify what type of context(s) you
>> can try to bootstrap into ELFv2 from. For example:
>> cross-build? self-hosted only? system version starting
>> from on the machine doing the build? gcc 4.2.1 based
>> starting point? single boot media vs. able to have
>> an old context produce separate/new boot media?
>> the amount of RAM and swap/page space? (You may be
>> able to come up with more things to identify that
>> might contribute to how to progress.)
>>
>> I'm working towards updating, but I'll likely be
>> cross building and producing new media from a
>> bootable backup of the old media. (Helps avoid
>> potential live-update issues.) So what I end
>> up doing may well not match what you would do.
>
>
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-ppc
mailing list