01-09-2017
The -b and -G options probably meant something completely different wherever this code came from, so I would look up what they meant on your old system. If they're not anything crucial, you can probably just delete them.
On GNU Linux, ld's -b parameter should be followed with a binary executable format, such as elf64-x86-64, and -G is an optimization option which is supposed to be followed by a size related to MIPS register mapping.
9 More Discussions You Might Find Interesting
1. Programming
Hi
I'm getting
ld: fatal: option -h and building a dynamic executable are incompatible
ld: fatal: Flags processing errors
When I run
ld -shared -L/usr/dt/lib -lDtSvc -o builtin.so Workspace.o
after running
gcc -fPIC -I/usr/X11R6/include -I/usr/dt/include -c Workspace.c
I'm... (6 Replies)
Discussion started by: laho
6 Replies
2. UNIX for Dummies Questions & Answers
Getting the following error ,
ld: /opt/syncsort39/lib/libsyncsort.sl: Mismatched ABI. 64-bit PA shared library found in 32-bit link.
Is there any difference in the ld options in opt file while linking a 64 bit shared library ? Or is the problem because we are trying to link both 32 bit and 64... (3 Replies)
Discussion started by: arunkumar_mca
3 Replies
3. Programming
Hi,
Could any one tell me solution for this.
i have a library in my /usr/lib and latest in /myhome/lib/ (thay differ functionality symbols my application uses symbols from latest lib).
when compile and link my application , every thing goes fine
but when running the application ld... (4 Replies)
Discussion started by: Raom
4 Replies
4. Programming
Hello all
Im using CC: Sun C++ 5.6 2004/07/15 and using the -library=stlport4 when linkning im getting
The fallowing error :
Undefined first referenced
symbol in file
std::ostream &std::ostream::operator<<(std::ios_base&(*)(std::ios_base&))... (0 Replies)
Discussion started by: umen
0 Replies
5. Solaris
at the end of the compilation in solaris 9. it is showing link error.
like.....
ld: fatal: library -lgthread-2.0 not found
failed to create the binary
the library is in /usr/lib and in /usr/local/lib the lib file is present
--->libgthread.2.0.so ......etc
if i remove... (3 Replies)
Discussion started by: biswajithit
3 Replies
6. UNIX for Dummies Questions & Answers
how would i link 2 files together?
is it the same as copying? (1 Reply)
Discussion started by: trob
1 Replies
7. Programming
Hi, I have got sample linux driver written in C.
I got also some assembly code, compiled into .o file (using as compiler).
In my Makefile I got:
obj-m += someDriver.o
someDriver-objs := CFile1.o CFile2.o ASMFile.o
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modulesUnfortunatelly I cannot... (0 Replies)
Discussion started by: Chrisdot
0 Replies
8. Programming
Hi,
I have the following files:
// file.hvoid foo();
int i = 5; // should be just declared as extern int i;
// file1.c#include <stdio.h>
#include "file.h"
void foo() {
i = 10;
printf("%d\n", i);
}
// file2.c#include <stdio.h>
#include "file.h"
int main() {
foo(); (9 Replies)
Discussion started by: royalibrahim
9 Replies
9. Programming
I am on a FreeBSD system trying to build a piece of software that I wrote. I had built it in the past but recently reinstalled FreeBSD. I am not sure what is going on. The software depends on and wxgtk2.8.
Using g++:
$ make
g++ -c `wx-config --cxxflags`... (9 Replies)
Discussion started by: AntumDeluge
9 Replies
LEARN ABOUT PLAN9
arch_prctl
ARCH_PRCTL(2) Linux Programmer's Manual ARCH_PRCTL(2)
NAME
arch_prctl - set architecture-specific thread state
SYNOPSIS
#include <asm/prctl.h>
#include <sys/prctl.h>
int arch_prctl(int code, unsigned long addr);
int arch_prctl(int code, unsigned long *addr);
DESCRIPTION
arch_prctl() sets architecture-specific process or thread state. code selects a subfunction and passes argument addr to it; addr is inter-
preted as either an unsigned long for the "set" operations, or as an unsigned long *, for the "get" operations.
Subfunctions for x86-64 are:
ARCH_SET_FS
Set the 64-bit base for the FS register to addr.
ARCH_GET_FS
Return the 64-bit base value for the FS register of the current thread in the unsigned long pointed to by addr.
ARCH_SET_GS
Set the 64-bit base for the GS register to addr.
ARCH_GET_GS
Return the 64-bit base value for the GS register of the current thread in the unsigned long pointed to by addr.
RETURN VALUE
On success, arch_prctl() returns 0; on error, -1 is returned, and errno is set to indicate the error.
ERRORS
EFAULT addr points to an unmapped address or is outside the process address space.
EINVAL code is not a valid subcommand.
EPERM addr is outside the process address space.
CONFORMING TO
arch_prctl() is a Linux/x86-64 extension and should not be used in programs intended to be portable.
NOTES
arch_prctl() is supported only on Linux/x86-64 for 64-bit programs currently.
The 64-bit base changes when a new 32-bit segment selector is loaded.
ARCH_SET_GS is disabled in some kernels.
Context switches for 64-bit segment bases are rather expensive. As an optimization, if a 32-bit TLS base address is used, arch_prctl() may
use a real TLS entry as if set_thread_area(2) had been called, instead of manipulating the segment base register directly. Memory in the
first 2 GB of address space can be allocated by using mmap(2) with the MAP_32BIT flag.
Because of the aforementioned optimization, using arch_prctl() and set_thread_area(2) in the same thread is dangerous, as they may over-
write each other's TLS entries.
As of version 2.7, glibc provides no prototype for arch_prctl(). You have to declare it yourself for now. This may be fixed in future
glibc versions.
FS may be already used by the threading library. Programs that use ARCH_SET_FS directly are very likely to crash.
SEE ALSO
mmap(2), modify_ldt(2), prctl(2), set_thread_area(2)
AMD X86-64 Programmer's manual
COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the
latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
Linux 2017-09-15 ARCH_PRCTL(2)