GithubHelp home page GithubHelp logo

NetBSD port about 123elf HOT 4 OPEN

taviso avatar taviso commented on May 18, 2024
NetBSD port

from 123elf.

Comments (4)

taviso avatar taviso commented on May 18, 2024

This seems solvable, but it's been a while since I've used NetBSD, I'll setup a VM and take a look.

Unless someone else volunteers to take a look!

from 123elf.

vrza avatar vrza commented on May 18, 2024

I started working towards making it build on BSDs: https://github.com/vrza/123elf/tree/openbsd-1

from 123elf.

vrza avatar vrza commented on May 18, 2024

I got it to compile, currently looking into how to make it link. ld is complaining about symbols that were undefined, and about multiple definitions:

cc forceplt.o -m32 -ggdb3 -O0 -fno-stack-protector -m32 -ggdb3 -O0 -fno-stack-protector -lc -B. -Wl,-b,coff-i386 -no-pie 123.o dl_init.o main.o wrappers.o patch.o filemap.o graphics.o draw.o ttydraw/ttydraw.a atfuncs/atfuncs.a forceplt.o -Wl,--whole-archive,ttydraw/ttydraw.a,atfuncs/atfuncs.a,--no-whole-archive -o bin/123 -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -Wl,-zrelro -Wl,-R/usr/pkg/lib -lncurses -lm
ld: forceplt.o: in function `__require_ref':
(.text+0x45c): warning: warning: reference to compatibility shmctl(); include <sys/shm.h> for correct reference
ld: (.text+0x452): warning: warning: reference to compatibility msgctl(); include <sys/msg.h> for correct reference
ld: (.text+0x3df): warning: warning: reference to compatibility tzset(); include <time.h> for correct reference
ld: (.text+0x1ff): warning: warning: reference to compatibility mknod(); include <sys/stat.h> to generate correct reference
ld: (.text+0x20e): warning: warning: reference to compatibility mount(); include <sys/mount.h> to generate correct reference
ld: (.text+0x25e): warning: warning: reference to compatibility putenv(); include <stdlib.h> for correct reference
ld: (.text+0x155): warning: warning: reference to compatibility getutent(); include <utmp.h> for correct reference
ld: (.text+0x150): warning: warning: reference to compatibility getpwuid(); include <pwd.h> to generate correct reference
ld: (.text+0x14b): warning: warning: reference to compatibility getpwnam(); include <pwd.h> to generate correct reference
ld: (.text+0x146): warning: warning: reference to compatibility getpwent(); include <pwd.h> to generate correct reference
ld: (.text+0x402): warning: warning: reference to compatibility utime(); include <utime.h> to generate correct reference
ld: (.text+0x3ad): warning: warning: reference to compatibility time(); include <time.h> for correct reference
ld: (.text+0x3b7): warning: warning: reference to compatibility timezone; include <time.h> to generate correct reference
ld: (.text+0x3b2): warning: warning: reference to compatibility times(); include <sys/times.h> for correct reference
ld: (.text+0x330): warning: warning: reference to obsolete statfs(); use statvfs()
ld: (.text+0xdd): warning: warning: reference to obsolete fstatfs(); use fstatvfs()
ld: (.text+0x335): warning: warning: reference to compatibility stat(); include <sys/stat.h> to generate correct reference
ld: (.text+0xe2): warning: warning: reference to compatibility fstat(); include <sys/stat.h> to generate correct reference
ld: (.text+0x281): warning: warning: reference to compatibility readdir(); include <dirent.h> for correct reference
ld: (.text+0x231): warning: warning: reference to compatibility opendir(); include <dirent.h> for correct reference
ld: 123.o:lic_hooks.c:(.text+0x9eff8): multiple definition of `__udivsi3'; /usr/lib/libc.so:(.text+0x578d0): first defined here
ld: 123.o:lic_hooks.c:(.text+0x9f008): multiple definition of `__divsi3'; /usr/lib/libc.so:(.text+0x578e0): first defined here
ld: 123.o:lic_hooks.c:(.text+0x9f02c): multiple definition of `__fixdfsi'; /usr/lib/libc.so:(.text+0x26c90): first defined here
ld: 123.o:lic_hooks.c:(.text+0x9f05c): multiple definition of `__negdf2'; /usr/lib/libc.so:(.text+0x34af4): first defined here
ld: 123.o:fseek.c:(.text+0xd9d8c): multiple definition of `ftell'; /usr/lib/libc.so:(.text+0x55fac): first defined here
ld: 123.o:getopt.c:(.text+0xda394): multiple definition of `fputs'; /usr/lib/libc.so:(.text+0xfc3d0): first defined here
ld: 123.o:getpwent.c:(.text+0xda94c): multiple definition of `gets'; /usr/lib/libc.so:(.text+0x4eb64): first defined here
ld: 123.o:mon.c:(.text+0xdb81c): multiple definition of `nlist'; /usr/lib/libc.so:(.text+0x2b6b4): first defined here
ld: 123.o: warning: warning: tempnam() possibly used unsafely, use mkstemp() or mkdtemp()
ld: 123.o:time_comm.c:(.text+0xdf104): warning: warning: tmpnam() possibly used unsafely, use mkstemp() or mkdtemp()
ld: 123.o:fopen.c:(.text+0xdf354): multiple definition of `mktemp'; /usr/lib/libc.so:(.text+0x4ea7b): first defined here
ld: 123.o:dtop.c:(.text+0xe183c): multiple definition of `fwrite'; /usr/lib/libc.so:(.text+0x1372b4): first defined here
ld: 123.o:fwrite.c:(.text+0xe19e0): multiple definition of `_cleanup'; /usr/lib/libc.so:(.text+0xdccb7): first defined here
ld: 123.o:drand48.c:(.text+0xd8e44): multiple definition of `exect'; /usr/lib/libc.so:(.text+0x30fbb): first defined here
ld: 123.o:qsort.c:(.text+0xdc710): multiple definition of `getdents'; /usr/lib/libc.so:(.text+0x3e3dc): first defined here
ld: forceplt.o: in function `__require_ref':
(.text+0x6f): undefined reference to `cuserid'
ld: (.text+0x88): undefined reference to `eaccess'
ld: (.text+0x8d): undefined reference to `ecvt'
ld: (.text+0xce): undefined reference to `fcvt'
ld: (.text+0xf1): undefined reference to `gcvt'
ld: (.text+0x15a): undefined reference to `getutid'
ld: (.text+0x15f): undefined reference to `getutline'
ld: (.text+0x16e): undefined reference to `gsignal'
ld: (.text+0x1c8): undefined reference to `mallinfo'
ld: (.text+0x1d2): undefined reference to `mallopt'
ld: (.text+0x1d7): undefined reference to `_mcount'
ld: (.text+0x263): undefined reference to `putpwent'
ld: (.text+0x26d): undefined reference to `pututline'
ld: (.text+0x32b): undefined reference to `ssignal'
ld: (.text+0x3ee): undefined reference to `umount'
ld: (.text+0x461): undefined reference to `fstat64'
ld: (.text+0x466): undefined reference to `stat64'
ld: 123.o:lefwin.c:(.text+0x9ea88): undefined reference to `cuserid'
ld: 123.o:baseten.c:(.text+0xc7438): undefined reference to `ecvt'
ld: 123.o:ftw.c:(.text+0xd95ba): undefined reference to `ecvt'
ld: 123.o:doprnt.c:(.text+0xe01d3): undefined reference to `ecvt'
ld: 123.o:doprnt.c:(.text+0xe03d7): undefined reference to `fcvt'
ld: 123.o:doprnt.c:(.text+0xe06bf): undefined reference to `ecvt'
ld: forceplt.o: in function `__require_ref':
(.text+0x6f): undefined reference to `cuserid'
ld: (.text+0x88): undefined reference to `eaccess'
ld: (.text+0x8d): undefined reference to `ecvt'
ld: (.text+0xce): undefined reference to `fcvt'
ld: (.text+0xf1): undefined reference to `gcvt'
ld: (.text+0x15a): undefined reference to `getutid'
ld: (.text+0x15f): undefined reference to `getutline'
ld: (.text+0x16e): undefined reference to `gsignal'
ld: (.text+0x1c8): undefined reference to `mallinfo'
ld: (.text+0x1d2): undefined reference to `mallopt'
ld: (.text+0x1d7): undefined reference to `_mcount'
ld: (.text+0x263): undefined reference to `putpwent'
ld: (.text+0x26d): undefined reference to `pututline'
ld: (.text+0x32b): undefined reference to `ssignal'
ld: (.text+0x3ee): undefined reference to `umount'
ld: (.text+0x461): undefined reference to `fstat64'
ld: (.text+0x466): undefined reference to `stat64'
*** Error code 1

from 123elf.

vrza avatar vrza commented on May 18, 2024

Build is now working using the feature branch from #86

When invoked through gdb or dtruss, program runs fine!

However, when starting it from the shell it fails:

$ bin/123 
Abort trap

from 123elf.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.