Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8177153
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 6, 20262026-06-06T23:26:21+00:00 2026-06-06T23:26:21+00:00

I have a test application which I compiled first using ‘mips-linux-gnu-gcc -EL ‘ to

  • 0

I have a test application which I compiled first using ‘mips-linux-gnu-gcc -EL ‘ to create “exec_sigma” and then using ‘mipsel-linux-uclibc-gcc’ to create “exec_bcm” .

After doing readelf of these executables, I got many differences. I am mainly concerned about difference in .debug_info section

In elf_sigma : it is:

[33] .debug_info MIPS_DWARF 00000000 01357b 02fa1e 00 0 0 1

[34] .debug_abbrev MIPS_DWARF 00000000 042f99 0040cd 00 0 0 1

and in elf_bcm : it is :

[32] .debug_info MIPS_DWARF 00000000 02329b 0058ba 00 0 0 1

[33] .debug_abbrev MIPS_DWARF 00000000 028b55 000619 00 0 0 1

This difference (in size) is causing a bug in my application to do a stack trace. It works for mips-linux-gnu-gcc -EL but not for mipsel-linux-uclibc-gcc. I want to know why this difference in the sections for same executable and is it normal ??

Thanks for reading the question..

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-06T23:26:22+00:00Added an answer on June 6, 2026 at 11:26 pm

    you are essentially compiling the same code with two different compilers, sure the compilers may come from the same source code themselves but are built to do a different job and do a different job. You cannot expect the executables to match, the bug here is your expectation.

    One might hope that “All you have to do” is flip some addresses around and flip all the byte and halfword data around but otherwise have the same binary. Here is one very simple problem with that theory. Lets say there is a byte the compiler wants to access and it is at address 0x100000 using one endian. a single instruction lui can load that address into a register for later reading the byte. If for any reason an endian change causes that address to need lower bits, for example 0x100003 now it takes two instructions to load that address into the register and/or a memory location and a single read of that memory location. It should be possible to make a compiler whose goal it is to be indian independent until the last possible moment, generate endianless code (load all addresses into registers using a load word from .text dont use any load immediates), then somehow keep track of all that and patch it at the end. You have to ask why that would anyone want to make such a compiler, it is such a small use case not to take the time. Normally you want performance out of your compiler not something like this.

    Take your compiled programs, either disassemble or objcopy to binary, then compare the two binaries, you should quickly see where the two diverge, then using the disassembly the flavor of thing I described above probably not the specific example but that kind of thing. As soon as a single byte or word or instruction has to be added by one compiler and not the other (assuming the compilers were otherwise identical which they are not) the change in addressing can and will cause more instruction differences resulting in the binaries continuing to diverge.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a very simple application test in which I want to drag and
I have to create a test application on JMeter where i need to get
First some background information: We have three environments for our EJB3 application: test, development
gcc 4.4.3 c89 linux I am using log4c and have placed the inc and
I have a simple test application (C# console application) that does an HTTP GET
I have my new macbook air. I have created one test application. now i
I have made a simple test application for the issue, two winforms each containing
I have a client application and a test application. If someone adds/removes units to
Work on this small test application to learn threading/locking. I have the following code,
Hї! I have wrote test for my application. I need add item to database

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.