Questions tagged [binary-compatibility]

Binary compatibility is generally an ability of two hardware/software systems to run the same binary code without the need to recompile.

184 questions
10
votes
2 answers

Refactored methods and binary compatibility in Java

When refactoring methods it is easy to introduce binary incompabilities (with previous versions of the code) in Java. Consider changing a method to widen the type of its parameter to a parent interface: void doSomething(String x); // change it…
Thilo
  • 257,207
  • 101
  • 511
  • 656
9
votes
2 answers

Will adding enum definition inside a class break its binary-backward-compatibility?

I know adding static member function is fine, but how about an enum definition? No new data members, just it's definition. A little background: I need to add a static member function (in a class), that will recognize (the function) the version of…
Kiril Kirov
  • 37,467
  • 22
  • 115
  • 187
8
votes
2 answers

Change pure virtual to virtual and stay binary compatible

Can I change a pure-virtual function (in a base class) to become non-pure without running into any binary compatibility issues? (Linux, GCC 4.1) thanks
mr grumpy
  • 1,513
  • 1
  • 10
  • 17
8
votes
1 answer

Can one extend virtual interface without recompilation of client code?

A library provides a class with virtual functions. Can this class be extended with new virtual functions without recompiling binaries dynamically linked to the library? I beleive this is not possible in standard. Are there platforms allowing…
Basilevs
  • 22,440
  • 15
  • 57
  • 102
8
votes
2 answers

C++ Library Compatibility

I am currently writing a library and am considering moving from GCC 4.1.2 to 4.5.2 (latest release) of GCC. If I compile my code into a static library can I assume compiler compatibility (on the same OS obviously) should be a non-issue for…
Graeme
  • 4,514
  • 5
  • 43
  • 71
8
votes
1 answer

How to create backwards-compatible dynamic linkage?

It seems that glibc 2.14 introduced a new version of memcpy (to fix bug 12518). Programs compiled against glibc 2.14+, then, will contain a dynamic link to memcpy@GLIBC_2.14, which is clearly not available in older versions of glibc. However, glibc…
Dolda2000
  • 25,216
  • 4
  • 51
  • 92
8
votes
7 answers

Why is Application Binary Interface important for programming

I don't understand why the ABI is important context of developing user-space applications. Is the set of system calls for an operating system considered an ABI? But if so then aren't all the complexities regarding system calls encapsulated within…
theactiveactor
  • 7,314
  • 15
  • 52
  • 60
8
votes
2 answers

What parts of ARMv4/5/6 code will not work on ARMv7?

It is my understanding that ARMv7 processors, such as the Cortex-A9, are mostly backwards-compatible with code for older ARM architecture versions. However, I've read reports of segfaults trying to run ARM9 code on a Cortex-A8, for example. What…
8
votes
4 answers

Pure virtual functions and binary compatibility

Now, I know it is generally bad to add new virtual functions to non-leaf classes as it breaks binary compatibility for any derived classes which haven't been recompiled. However, I have a slightly different situation: I have an interface class and…
Matt Dunn
  • 5,106
  • 6
  • 31
  • 55
8
votes
3 answers

Moving a package-private class—should I consider that binary incompatible?

Because of an issue with package name aux under Windows, I am moving a helper class within the package hierarchy of my library from de.sciss.scalainterpreter.aux to de.sciss.scalainterpreter The class is private to the library, i.e.…
0__
  • 66,707
  • 21
  • 171
  • 266
7
votes
3 answers

Java binary compatibility issue: sun.font.FontManager class became interface

I am using the Lobo - Java Web Browser library, and it gives me an exception which after some research I determined could be due to the library having been complied against an older version of Java. The code is as follows: import…
lonesome
  • 2,503
  • 6
  • 35
  • 61
7
votes
1 answer

Is this interface binary compatible between MSVC and mingw?

I am working on a library that allows its users (other libraries residing in the same process) to exchange data buffers and streams. The library has to be usable from both MSVC and mingw code (more compatibility doesn't hurt, but is not strictly…
7
votes
2 answers

GCC 4.0, 4.2 and LLVM ABI Compatibility

Are the three main compiler flavors supported by Xcode (gcc 4.0, 4.2, and llvm) binary-compatible with one another? What kind of gotchas and corner cases should I be aware of when bringing a multi-library project up to speed with the most recent…
fbrereto
  • 35,429
  • 19
  • 126
  • 178
7
votes
1 answer

What must be recompiled to run a x32 ABI application?

Can I compile an application with the new x32 ABI, and then run it in a normal kernel? What about the runtime C library? Is there any form of interoperability with precompiled x86/x86_64 libraries?
Lorenzo Pistone
  • 5,028
  • 3
  • 34
  • 65
6
votes
1 answer

How do I preserve COM binary compatibility for a .NET Assembly when properties are added?

We have developed a .NET Assembly that stores language translation information and it needs to be consumed by a VB6 application. We would like to be able to change the translation information without having to recompile the application. The…
RoboJ1M
  • 1,590
  • 2
  • 27
  • 34
1 2
3
12 13