Questions tagged [assembly]

Tag for questions regarding the wide family of assembly languages both low and high level. It should be used for both the languages themselves as well as their assemblers.

Filter by
Sorted by
Tagged with
1
vote
1answer
45 views

How do I run shellcode on Linux kernel 5.8+?

The assembly code I'm trying to run is simply a syscall 60. # exit.s .intel_syntax noprefix .section .text .globl _start _start: xor rax, rax mov al, 0x3c xor rdi, rdi xor rdi, 1 syscall ...
0
votes
0answers
71 views

gcc makefile error: “No rule to make target …”

I'm trying to use GCC (Linux 64 bit) with a makefile to compile my project which is a driver. I am trying to mix assembly with my c project, cpu_check and entry are c files while cpuid_available is an ...
-6
votes
1answer
59 views

Does the existence of linker and loader not depend on operating systems such as Linux?

Does the existence of linker (for performing linking following compilation) and loader (for executing an executable file) not depend on operating systems such as Linux? (I had though of linker and ...
3
votes
1answer
34 views

How is overflow_stack variable included in entry.S in arm64 architecture?

The overflow_stack variable is used in the kernel_ventry macro in arch/arm64/kernel/entry.S /* Switch to the overflow stack */ adr_this_cpu sp, overflow_stack + OVERFLOW_STACK_SIZE, x0 It ...
3
votes
1answer
167 views

How to disassembly multiple functions using Linux utility objdump?

After a program is compiled and the binary file is generated, we can use objdump to disassemble the binary file and extract the assembly code and a lot of information. However, using -j .text with ...
1
vote
1answer
150 views

How can we perform an arithmetic operation on a register using GDB? [closed]

I want to inject a bit-flip fault into a running program. For this purpose, I'm using gdb to insert a breakpoint into the target program and then flipping a single bit in a random-selected register. ...
0
votes
1answer
39 views

Red hat vs Ubuntu compile and assembly Problem(Book reference)

Can you recommend me OS mentioned in Shellcoder's Handbook because I'm having frequent issues on running ELF files mentioned there(See the errors below). I know that to overcome those error I have to ...
2
votes
1answer
777 views

-bash: ./ex1: cannot execute binary file: Exec format error (on Ubuntu installed through Windows 10 app store, 64 bit)

I am trying to start out with some assembly but I run into this error from the outset. Here are the details: I've written the file myself (following a video) so its not some import: global _start ...
2
votes
3answers
371 views

Why is an executable called a “text file”?

In the course of updating software today I got the error "Text file busy", which got me wondering: Why is a Unix (or Linux) executable called a "text" file when that seems so counterintuitive and ...
2
votes
1answer
84 views

Is it safe to use the .bss section as a static stack?

(This is in the context of x86-64 Linux.) I am trying to write a high-reliability userland executable, and I have total control over the generated assembly. I don't want to rely on automatic stack ...
1
vote
0answers
86 views

How to export kernel functions which written in assembly?

I am working with a PowerPC processor and have to use dcache functions in my kernel module, like: "clean_dcache_range()", implemented in $KERNEL_SOURCE/arch/powerpc/kernel/misc_32.S (version 4.1.8). ...
6
votes
1answer
245 views

How to understand this TMG's assembly code from the Version 6 Unix?

Early versions of Unix included Doug McIlroy's tool tmg ("transmogrifier"), an early compiler-compiler. TMG was implemented in Dennis Ritchie's assembly language as well as in TMGL itself (the ...
0
votes
1answer
441 views

How is the Linux kernel partially written in assembly when system calls are required? [closed]

Does the kernel just not use system calls, or is the assembly being assembled before being on a new system? I might need some more info on assemblers, but I'm just confused that if instructions such ...
2
votes
1answer
46 views

What the branch machine op-code means (X86 architecture)?

I have a simple c code which is compiled and then the text code extracted using objdump utility. here is the dump file (A piece of dumped file): 0804841b <main>: 804841b: 8d 4c 24 04 ...
2
votes
1answer
292 views

How to build and run the GNU GAS assembler test suite?

I'm at Binutils tag binutils-2_31, and there is a directory: gas/testsuite with some tests that I'm interested in. I've compiled the entire binutils with: ./configure make but the directory gas/...
1
vote
1answer
114 views

What software that I run uses AVX (or a specific assembly instruction)?

Let's say I want to find any libraries that use AVX, or the VZEROALL instruction? How could I go about doing that? I don't care if the AVX was hand written or compiled, I'll look that up later. I'm ...
16
votes
1answer
5k views

Why can the kernel not use SSE/AVX registers and instructions?

This post from StackOverflow has this, In some environments there there is a restriction on certain instructions or using certain registers. For example, in the Linux kernel, use of SSE/AVX or FP ...
1
vote
1answer
284 views

What does SYSENTER do in 64-bit Long mode on Linux?

There is an x86 instruction sysenter. This seems to be the Intel fast-system-call method. SYSENTER seems to be valid in LONG mode (64-bit) on Intel processors. This seems to have fallen out of favor ...
0
votes
1answer
1k views

Running a custom-compiled executable returns “No such file or directory”

I have an executable but when I run it I get "No such file or directory" $ chmod a+x bin $ file bin bin: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/...
0
votes
1answer
289 views

Does GCC generate Bit Tests (x86 BT)?

Seaching through the GCC source, I see things like X86_TUNE_USE_BT TARGET_USE_BT My goal is to get an answer for myself whether or not GCC generates BT, BTS, BTR, and BTC. I started with BT and I ...
2
votes
1answer
53 views

Issues with cross-compiling and “as”?

I'm trying to compile source for a utility for an ARM system (host machine: x86_64, Debian, uname -v reports version as "Debian 4.9.110-3+deb9u1") but when it tries to pack the file into a final ...
1
vote
1answer
112 views

Where is start symbol in cat executable?

In my Ubuntu 18.04, when I disassemble /bin/cat or the one in coreutils using IDA Pro there exists "start" symbol, usually found with name "_start" in other programs such as gimp. However, when I use ...
3
votes
1answer
964 views

What do you call the calling convention behind `int 0x80`?

I know there is a syscall convention but what do you call the calling convention that precedes it that you see when you call to int 80 rather than syscall, like this. mov rax,4 ; system call ...
1
vote
1answer
720 views

Kernel initialization in UEFI mode

When using old legacy BIOS (consider X86 architecture), the boot loader jumps to a location at the real mode kernel (offset 512 which is defined in header.S assembly file) and starts the real mode ...
-1
votes
1answer
460 views

How does the processor determine each instruction's opcode and operands: looking into binary file with VIM [closed]

I run the command view /bin/ls on FreeBSD 10.3 and I can see the binary file unmodified: Then on vim/view I run the command :%!xxd and I can see the file in hex format as follows. I notice at the ...
2
votes
1answer
595 views

Z80 CPU cross-assembler for the MSX standard

I'm trying to program for the old eighties MSX standard that used a Z80 CPU. My problem is that I can't seem to find a cross-assembler for this CPU using the MSX standard. Is there any Z80 CPU MSX ...
2
votes
0answers
76 views

perf-like assembly reading tool

perf has a very friendly terminal interface for performance analysis. It has a very helpful feature that the branch target is annotated with beautiful arrows, showing where this branch is going to (if ...
0
votes
1answer
399 views

x86 Emulator for Linux with detailed debugging

I am looking for a x86 emulator so that I can run my Linux kernel inside it. I am specifically looking for an emulator that shows all the function calls in C/Assembly level from bootloader, all the ...
2
votes
3answers
5k views

Any x86-64 Linux assembler?

I want to start learning assembly language, but all the googling didn't make any sense. I got some Exec format error and even used wine which is not good for understanding. So I wonder if anyone can ...
0
votes
1answer
490 views

Incompatibility of High Level Assembly on Kali Linux Rolling

After reading the "Art of Assembly Language", I obtained the High Level Assembly language from the website listed in the book. After editing my .bashrc file, I compiled my canonical "Hello world!" ...
62
votes
11answers
265k views

How to view a binary file?

From what I understand, a compiler makes a binary file that consists of 1's and 0's that a CPU can read. I have a binary file but how do I open it to see the 1's and 0's that are there? A text editor ...
2
votes
1answer
4k views

Compile shared library from asm code with current sources

I just did some basic functions in asm that I compile in a shared library. Like : BITS 64 global foo section .text foo: mov rax, 1 ret I compiled with ...
2
votes
1answer
185 views

Is there a reference for the assembler-like output produced by `awk -W dump`?

The command awk -W dump ... produces a dump of "assembler-like" code (as shown here [link], or by reading the man). Some of the instructions are easy to guess at their meaning such as jz, which is ...
0
votes
1answer
8k views

Permission denied when I try to run a program assembled with the GNU assembler

I was testing the GNU assembler using intermediate code generated by gcc. I don't really understand the GNU assembly syntax at all, though I could learn it at some point. I ran the command as hello....
2
votes
1answer
676 views

CLFS for ARMv7 neon

I am following CLFS book (GIT-20140613-arm version), and I have a issue when building GCC with armv7 and neon combination. Target info here. My host is a clean Debian 8 with gawk, build-essential, ...
11
votes
1answer
504 views

Where in GRUB2 source code is the handover/jump to kernel code?

I'm looking for the line of code where GRUB2 finally jumps to kernel code and thus hands over execution on x86 systems? I guess it's in an assembler file since this is very low architecture stuff. I ...
0
votes
1answer
94 views

Where is RAX-ARGOFFSET defined?

In Linux 3.16, in asm/x86/kernel/entry_64.S, the following line references RAX-ARGOFFSET (also see [src]): 424 movq %rax,RAX-ARGOFFSET(%rsp) But I can not find where RAX-ARGOFFSET is defined ...
7
votes
1answer
2k views

Unable to run an executable built with NASM

I am attempting to assemble the assembly source file below using the following NASM command: nasm -f elf -o test.o test.asm This completes without errors and I then try to link an executable with ld:...
17
votes
4answers
2k views

Why some operating systems event handling is written in asm instead of c?

My question is why nowadays some operating system event handling is still written in assembly language instead of a higher level language such as C, when the kernel itself is written mostly in C?
1
vote
1answer
147 views

How to write a program which can run on a computer without a operating system? [closed]

If there is a computer without operating system, then we can install one on it using a floppy disc or usb stick. While the computer is booting, we push F11 or some other button, then the computer ...
12
votes
1answer
22k views

How do I cross-compile Chromium for ARM?

Goal I need to install Chromium on FriendlyARM mini210s running Linux 3.0.8 armv7l Environment Vagrant box with Ubuntu Precise64 Installed depot_tools following these guidelines Get-the-code and ...
1
vote
1answer
637 views

Obtaining a code dump from a binary

Is it possible to dump the assembly language code of a binary using GDB? I tried to use the "l" command but it says No symbol table is loaded. Use the "file" command.. I use the file command and it ...
6
votes
3answers
14k views

Generate MIPS architecture assembly code on a X86 machine

I need to generate MIPS specific code on my machine when I run my C program. When I simply run, gcc -O2 -S -c hello.c On my system, I get the hello.s which seems to generate some assembly code but ...
0
votes
0answers
944 views

Resume from Suspend/Hibernate issues

I have a peculiar problem while trying to resume from both suspend and hibernate. I believe the problem to be within the kernel itself since I have tried different distros (Ubuntu, Suse, Mageia) on ...
2
votes
1answer
566 views

Can't build QTAV for cubieboard2 on Cubian

I’m trying to make QTAV lib for cubieboard2 environment and experiencing problems. Could you please help. Here is what qmake says: cubie@Cubian:~/QtAV/output$ qmake ../QtAV.pro Project MESSAGE: ...
3
votes
2answers
2k views

Running assembly program as ring 0

I'm writing an application which reports back readings from CPU temperature sensors, and the fan speed monitor. However, according to the Intel documentation on PECI, the instructions required must be ...
3
votes
1answer
2k views

Can't compile glibc for 64 bit system

I'm trying to compile glibc-2.16 statically for x64 system, ../configure --enable-kernel=2.6.9 --prefix=/run/shm/libc-static-64 --enable-static --enable-shared --host=i486-linux-gnu --build=i486-...
4
votes
1answer
250 views

What is not accessible from userspace?

I read somewhere (3.1.3) that there's a high ring (supervisor mode) and a low ring (user mode) and that some "things" can be run only from the highest ring. What do they mean by "things"? I'd guess ...
2
votes
1answer
904 views

Problem in Cross compiling TinyCC with CodeSourcery

I am trying to cross compiling homas Preud'homme's version of TinyCC by using following command ./configure --cc=arm-none-linux-gnueabi-gcc --prefix=/home/shushant/tinycc/tc and it shows following ...
0
votes
0answers
2k views

gdb-multiarch command not found

I have installed QEMU in RHEL for running the assembly programs in ARM. I have successfully installed QEMU and ARM. However, for debugging we are thinking to use GDB. I want to install the GDB-...