Compare commits
16 Commits
9.2.0-3mam
...
14.2.1+202
Author | SHA1 | Date | |
---|---|---|---|
69d56a06d0 | |||
1f9524fee9 | |||
80089f822b | |||
3777557369 | |||
aab4de714e | |||
9d818337b1 | |||
1c54db45b9 | |||
ce8c46658d | |||
7556ad7541 | |||
1e9f0fddf2 | |||
05baad4d49 | |||
c53ce92725 | |||
507d443445 | |||
fcf33b7cf9 | |||
545e0c4d19 | |||
628b8909d7 |
24
gcc-10.1.0-arm-provide-futex-atomic-functions.patch
Normal file
24
gcc-10.1.0-arm-provide-futex-atomic-functions.patch
Normal file
@ -0,0 +1,24 @@
|
||||
diff -ru gcc-10.1.0/libstdc++-v3/include/bits/atomic_futex.h gcc-10.1.0.patched/libstdc++-v3/include/bits/atomic_futex.h
|
||||
--- gcc-10.1.0/libstdc++-v3/include/bits/atomic_futex.h 2020-05-07 12:50:02.000000000 +0200
|
||||
+++ gcc-10.1.0.patched/libstdc++-v3/include/bits/atomic_futex.h 2020-06-08 18:18:38.544259479 +0200
|
||||
@@ -49,7 +49,7 @@
|
||||
_GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
#ifdef _GLIBCXX_HAS_GTHREADS
|
||||
-#if defined(_GLIBCXX_HAVE_LINUX_FUTEX) && ATOMIC_INT_LOCK_FREE > 1
|
||||
+#if defined(_GLIBCXX_HAVE_LINUX_FUTEX)
|
||||
struct __atomic_futex_unsigned_base
|
||||
{
|
||||
// Returns false iff a timeout occurred.
|
||||
diff -ru gcc-10.1.0/libstdc++-v3/src/c++11/futex.cc gcc-10.1.0.patched/libstdc++-v3/src/c++11/futex.cc
|
||||
--- gcc-10.1.0/libstdc++-v3/src/c++11/futex.cc 2020-05-07 12:50:02.000000000 +0200
|
||||
+++ gcc-10.1.0.patched/libstdc++-v3/src/c++11/futex.cc 2020-06-08 18:19:20.413501894 +0200
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
#include <bits/atomic_futex.h>
|
||||
#ifdef _GLIBCXX_HAS_GTHREADS
|
||||
-#if defined(_GLIBCXX_HAVE_LINUX_FUTEX) && ATOMIC_INT_LOCK_FREE > 1
|
||||
+#if defined(_GLIBCXX_HAVE_LINUX_FUTEX)
|
||||
#include <chrono>
|
||||
#include <climits>
|
||||
#include <syscall.h>
|
12
gcc-13.1.1-libgomp-workaround-null-environ.patch
Normal file
12
gcc-13.1.1-libgomp-workaround-null-environ.patch
Normal file
@ -0,0 +1,12 @@
|
||||
--- gcc-13.1.1/libgomp/env.c.orig 2023-06-20 10:11:45.125868665 +0200
|
||||
+++ gcc-13.1.1/libgomp/env.c 2023-06-20 10:04:18.089095860 +0200
|
||||
@@ -2059,6 +2059,9 @@
|
||||
none = gomp_get_initial_icv_item (GOMP_DEVICE_NUM_FOR_NO_SUFFIX);
|
||||
initialize_icvs (&none->icvs);
|
||||
|
||||
+ if (environ == 0) fprintf(stderr, "FIXME: initialize_env: environ is not initialized\n");
|
||||
+
|
||||
+ if (environ != 0)
|
||||
for (env = environ; *env != 0; env++)
|
||||
{
|
||||
if (!startswith (*env, "OMP_"))
|
@ -1,299 +0,0 @@
|
||||
diff -Nru gcc-4.0.2.orig/libjava/java/awt/Window.java gcc-4.0.2/libjava/java/awt/Window.java
|
||||
--- gcc-4.0.2.orig/libjava/java/awt/Window.java 2005-10-25 12:54:05.000000000 +0200
|
||||
+++ gcc-4.0.2/libjava/java/awt/Window.java 2005-10-25 16:19:42.000000000 +0200
|
||||
@@ -15,8 +15,8 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
-02111-1307 USA.
|
||||
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
+02110-1301 USA.
|
||||
|
||||
Linking this library statically or dynamically with other modules is
|
||||
making a combined work based on this library. Thus, the terms and
|
||||
@@ -45,6 +45,7 @@
|
||||
import java.awt.event.WindowFocusListener;
|
||||
import java.awt.event.WindowListener;
|
||||
import java.awt.event.WindowStateListener;
|
||||
+import java.awt.image.BufferStrategy;
|
||||
import java.awt.peer.WindowPeer;
|
||||
import java.lang.ref.Reference;
|
||||
import java.lang.ref.WeakReference;
|
||||
@@ -90,7 +91,8 @@
|
||||
|
||||
private transient boolean shown;
|
||||
|
||||
- private transient Component windowFocusOwner;
|
||||
+ // This is package-private to avoid an accessor method.
|
||||
+ transient Component windowFocusOwner;
|
||||
|
||||
/*
|
||||
* The number used to generate the name returned by getName.
|
||||
@@ -153,6 +155,9 @@
|
||||
}
|
||||
}
|
||||
});
|
||||
+
|
||||
+ GraphicsEnvironment g = GraphicsEnvironment.getLocalGraphicsEnvironment();
|
||||
+ graphicsConfiguration = g.getDefaultScreenDevice().getDefaultConfiguration();
|
||||
}
|
||||
|
||||
Window(GraphicsConfiguration gc)
|
||||
@@ -617,6 +622,8 @@
|
||||
|| windowStateListener != null
|
||||
|| (eventMask & AWTEvent.WINDOW_EVENT_MASK) != 0))
|
||||
processEvent(e);
|
||||
+ else if (e.id == ComponentEvent.COMPONENT_RESIZED)
|
||||
+ validate ();
|
||||
else
|
||||
super.dispatchEventImpl(e);
|
||||
}
|
||||
@@ -739,7 +746,25 @@
|
||||
if (activeWindow == this)
|
||||
return manager.getFocusOwner ();
|
||||
else
|
||||
- return windowFocusOwner;
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Returns the child component of this window that would receive
|
||||
+ * focus if this window were to become focused. If the window
|
||||
+ * already has the top-level focus, then this method returns the
|
||||
+ * same component as getFocusOwner. If no child component has
|
||||
+ * requested focus within the window, then the initial focus owner
|
||||
+ * is returned. If this is a non-focusable window, this method
|
||||
+ * returns null.
|
||||
+ *
|
||||
+ * @return the child component of this window that most recently had
|
||||
+ * the focus, or <code>null</code>
|
||||
+ * @since 1.4
|
||||
+ */
|
||||
+ public Component getMostRecentFocusOwner ()
|
||||
+ {
|
||||
+ return windowFocusOwner;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -771,12 +796,16 @@
|
||||
/**
|
||||
* Tests whether or not this window is visible on the screen.
|
||||
*
|
||||
+ * In contrast to the normal behaviour of Container, which is that
|
||||
+ * a container is showing if its parent is visible and showing, a Window
|
||||
+ * is even showing, if its parent (i.e. an invisible Frame) is not showing.
|
||||
+ *
|
||||
* @return <code>true</code> if this window is visible, <code>false</code>
|
||||
* otherwise.
|
||||
*/
|
||||
public boolean isShowing()
|
||||
{
|
||||
- return super.isShowing();
|
||||
+ return isVisible();
|
||||
}
|
||||
|
||||
public void setLocationRelativeTo (Component c)
|
||||
@@ -796,6 +825,157 @@
|
||||
}
|
||||
|
||||
/**
|
||||
+ * A BltBufferStrategy for windows.
|
||||
+ */
|
||||
+ private class WindowBltBufferStrategy extends BltBufferStrategy
|
||||
+ {
|
||||
+ /**
|
||||
+ * Creates a block transfer strategy for this window.
|
||||
+ *
|
||||
+ * @param numBuffers the number of buffers in this strategy
|
||||
+ * @param accelerated true if the buffer should be accelerated,
|
||||
+ * false otherwise
|
||||
+ */
|
||||
+ WindowBltBufferStrategy(int numBuffers, boolean accelerated)
|
||||
+ {
|
||||
+ super(numBuffers,
|
||||
+ new BufferCapabilities(new ImageCapabilities(accelerated),
|
||||
+ new ImageCapabilities(accelerated),
|
||||
+ BufferCapabilities.FlipContents.COPIED));
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * A FlipBufferStrategy for windows.
|
||||
+ */
|
||||
+ private class WindowFlipBufferStrategy extends FlipBufferStrategy
|
||||
+ {
|
||||
+ /**
|
||||
+ * Creates a flip buffer strategy for this window.
|
||||
+ *
|
||||
+ * @param numBuffers the number of buffers in this strategy
|
||||
+ *
|
||||
+ * @throws AWTException if the requested number of buffers is not
|
||||
+ * supported
|
||||
+ */
|
||||
+ WindowFlipBufferStrategy(int numBuffers)
|
||||
+ throws AWTException
|
||||
+ {
|
||||
+ super(numBuffers,
|
||||
+ new BufferCapabilities(new ImageCapabilities(true),
|
||||
+ new ImageCapabilities(true),
|
||||
+ BufferCapabilities.FlipContents.COPIED));
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Creates a buffering strategy that manages how this window is
|
||||
+ * repainted. This method attempts to create the optimum strategy
|
||||
+ * based on the desired number of buffers. Hardware or software
|
||||
+ * acceleration may be used.
|
||||
+ *
|
||||
+ * createBufferStrategy attempts different levels of optimization,
|
||||
+ * but guarantees that some strategy with the requested number of
|
||||
+ * buffers will be created even if it is not optimal. First it
|
||||
+ * attempts to create a page flipping strategy, then an accelerated
|
||||
+ * blitting strategy, then an unaccelerated blitting strategy.
|
||||
+ *
|
||||
+ * Calling this method causes any existing buffer strategy to be
|
||||
+ * destroyed.
|
||||
+ *
|
||||
+ * @param numBuffers the number of buffers in this strategy
|
||||
+ *
|
||||
+ * @throws IllegalArgumentException if requested number of buffers
|
||||
+ * is less than one
|
||||
+ * @throws IllegalStateException if this window is not displayable
|
||||
+ *
|
||||
+ * @since 1.4
|
||||
+ */
|
||||
+ public void createBufferStrategy(int numBuffers)
|
||||
+ {
|
||||
+ if (numBuffers < 1)
|
||||
+ throw new IllegalArgumentException("Window.createBufferStrategy: number"
|
||||
+ + " of buffers is less than one");
|
||||
+
|
||||
+ if (!isDisplayable())
|
||||
+ throw new IllegalStateException("Window.createBufferStrategy: window is"
|
||||
+ + " not displayable");
|
||||
+
|
||||
+ BufferStrategy newStrategy = null;
|
||||
+
|
||||
+ // try a flipping strategy
|
||||
+ try
|
||||
+ {
|
||||
+ newStrategy = new WindowFlipBufferStrategy(numBuffers);
|
||||
+ }
|
||||
+ catch (AWTException e)
|
||||
+ {
|
||||
+ }
|
||||
+
|
||||
+ // fall back to an accelerated blitting strategy
|
||||
+ if (newStrategy == null)
|
||||
+ newStrategy = new WindowBltBufferStrategy(numBuffers, true);
|
||||
+
|
||||
+ bufferStrategy = newStrategy;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Creates a buffering strategy that manages how this window is
|
||||
+ * repainted. This method attempts to create a strategy based on
|
||||
+ * the specified capabilities and throws an exception if the
|
||||
+ * requested strategy is not supported.
|
||||
+ *
|
||||
+ * Calling this method causes any existing buffer strategy to be
|
||||
+ * destroyed.
|
||||
+ *
|
||||
+ * @param numBuffers the number of buffers in this strategy
|
||||
+ * @param caps the requested buffering capabilities
|
||||
+ *
|
||||
+ * @throws AWTException if the requested capabilities are not
|
||||
+ * supported
|
||||
+ * @throws IllegalArgumentException if requested number of buffers
|
||||
+ * is less than one or if caps is null
|
||||
+ *
|
||||
+ * @since 1.4
|
||||
+ */
|
||||
+ public void createBufferStrategy(int numBuffers,
|
||||
+ BufferCapabilities caps)
|
||||
+ {
|
||||
+ if (numBuffers < 1)
|
||||
+ throw new IllegalArgumentException("Window.createBufferStrategy: number"
|
||||
+ + " of buffers is less than one");
|
||||
+
|
||||
+ if (caps == null)
|
||||
+ throw new IllegalArgumentException("Window.createBufferStrategy:"
|
||||
+ + " capabilities object is null");
|
||||
+
|
||||
+ // a flipping strategy was requested
|
||||
+ if (caps.isPageFlipping())
|
||||
+ {
|
||||
+ try
|
||||
+ {
|
||||
+ bufferStrategy = new WindowFlipBufferStrategy(numBuffers);
|
||||
+ }
|
||||
+ catch (AWTException e)
|
||||
+ {
|
||||
+ }
|
||||
+ }
|
||||
+ else
|
||||
+ bufferStrategy = new WindowBltBufferStrategy(numBuffers, true);
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Returns the buffer strategy used by the window.
|
||||
+ *
|
||||
+ * @return the buffer strategy.
|
||||
+ * @since 1.4
|
||||
+ */
|
||||
+ public BufferStrategy getBufferStrategy()
|
||||
+ {
|
||||
+ return bufferStrategy;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
* @since 1.2
|
||||
*
|
||||
* @deprecated
|
||||
@@ -913,44 +1093,6 @@
|
||||
this.focusableWindowState = focusableWindowState;
|
||||
}
|
||||
|
||||
- // setBoundsCallback is needed so that when a user moves a window,
|
||||
- // the Window's location can be updated without calling the peer's
|
||||
- // setBounds method. When a user moves a window the peer window's
|
||||
- // location is updated automatically and the windowing system sends
|
||||
- // a message back to the application informing it of its updated
|
||||
- // dimensions. We must update the AWT Window class with these new
|
||||
- // dimensions. But we don't want to call the peer's setBounds
|
||||
- // method, because the peer's dimensions have already been updated.
|
||||
- // (Under X, having this method prevents Configure event loops when
|
||||
- // moving windows: Component.setBounds -> peer.setBounds ->
|
||||
- // postConfigureEvent -> Component.setBounds -> ... In some cases
|
||||
- // Configure event loops cause windows to jitter back and forth
|
||||
- // continuously).
|
||||
- void setBoundsCallback (int x, int y, int w, int h)
|
||||
- {
|
||||
- if (this.x == x && this.y == y && width == w && height == h)
|
||||
- return;
|
||||
- invalidate();
|
||||
- boolean resized = width != w || height != h;
|
||||
- boolean moved = this.x != x || this.y != y;
|
||||
- this.x = x;
|
||||
- this.y = y;
|
||||
- width = w;
|
||||
- height = h;
|
||||
- if (resized && isShowing ())
|
||||
- {
|
||||
- ComponentEvent ce =
|
||||
- new ComponentEvent(this, ComponentEvent.COMPONENT_RESIZED);
|
||||
- getToolkit().getSystemEventQueue().postEvent(ce);
|
||||
- }
|
||||
- if (moved && isShowing ())
|
||||
- {
|
||||
- ComponentEvent ce =
|
||||
- new ComponentEvent(this, ComponentEvent.COMPONENT_MOVED);
|
||||
- getToolkit().getSystemEventQueue().postEvent(ce);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
/**
|
||||
* Generate a unique name for this window.
|
||||
*
|
@ -1,57 +0,0 @@
|
||||
diff -Nru gcc-4.0.2.orig/gcc/c-decl.c gcc-4.0.2/gcc/c-decl.c
|
||||
--- gcc-4.0.2.orig/gcc/c-decl.c 2005-11-14 10:43:28.000000000 +0100
|
||||
+++ gcc-4.0.2/gcc/c-decl.c 2005-11-14 10:52:53.000000000 +0100
|
||||
@@ -7527,6 +7527,7 @@
|
||||
c_write_global_declarations_1 (tree globals)
|
||||
{
|
||||
tree decl;
|
||||
+ bool reconsider;
|
||||
|
||||
/* Process the decls in the order they were written. */
|
||||
for (decl = globals; decl; decl = TREE_CHAIN (decl))
|
||||
@@ -7545,9 +7546,19 @@
|
||||
}
|
||||
|
||||
wrapup_global_declaration_1 (decl);
|
||||
- wrapup_global_declaration_2 (decl);
|
||||
- check_global_declaration_1 (decl);
|
||||
}
|
||||
+
|
||||
+ do
|
||||
+ {
|
||||
+ reconsider = false;
|
||||
+ for (decl = globals; decl; decl = TREE_CHAIN (decl))
|
||||
+ reconsider |= wrapup_global_declaration_2 (decl);
|
||||
+ }
|
||||
+ while (reconsider);
|
||||
+
|
||||
+ for (decl = globals; decl; decl = TREE_CHAIN (decl))
|
||||
+ check_global_declaration_1 (decl);
|
||||
+
|
||||
}
|
||||
|
||||
/* A subroutine of c_write_global_declarations Emit debug information for each
|
||||
diff -Nru gcc-4.0.2.orig/gcc/testsuite/gcc.c-torture/execute/20050929-1.c gcc-4.0.2/gcc/testsuite/gcc.c-torture/execute/20050929-1.c
|
||||
--- gcc-4.0.2.orig/gcc/testsuite/gcc.c-torture/execute/20050929-1.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ gcc-4.0.2/gcc/testsuite/gcc.c-torture/execute/20050929-1.c 2005-11-14 10:53:43.000000000 +0100
|
||||
@@ -0,0 +1,20 @@
|
||||
+/* PR middle-end/24109 */
|
||||
+
|
||||
+extern void abort (void);
|
||||
+
|
||||
+struct A { int i; int j; };
|
||||
+struct B { struct A *a; struct A *b; };
|
||||
+struct C { struct B *c; struct A *d; };
|
||||
+struct C e = { &(struct B) { &(struct A) { 1, 2 }, &(struct A) { 3, 4 } }, &(struct A) { 5, 6 } };
|
||||
+
|
||||
+int
|
||||
+main (void)
|
||||
+{
|
||||
+ if (e.c->a->i != 1 || e.c->a->j != 2)
|
||||
+ abort ();
|
||||
+ if (e.c->b->i != 3 || e.c->b->j != 4)
|
||||
+ abort ();
|
||||
+ if (e.d->i != 5 || e.d->j != 6)
|
||||
+ abort ();
|
||||
+ return 0;
|
||||
+}
|
@ -1,25 +0,0 @@
|
||||
diff -Nru gcc-4.0.2.orig/gcc/java/zextract.c gcc-4.0.2/gcc/java/zextract.c
|
||||
--- gcc-4.0.2.orig/gcc/java/zextract.c 2005-10-21 12:02:51.000000000 +0200
|
||||
+++ gcc-4.0.2/gcc/java/zextract.c 2005-10-24 12:10:13.000000000 +0200
|
||||
@@ -287,6 +287,21 @@
|
||||
return -1;
|
||||
if (read (zipf->fd, buffer, ECREC_SIZE+4) != ECREC_SIZE+4)
|
||||
return -2;
|
||||
+ if (buffer[0] != 'P' || strncmp ((const char *) &buffer[1], END_CENTRAL_SIG, 3)) {
|
||||
+ /* We could not find the end-central-header signature, probably
|
||||
+ because a zipfile comment is present. Scan backwards until we
|
||||
+ find the signature. */
|
||||
+ if (lseek (zipf->fd, (long)(-ECREC_SIZE), SEEK_END) <= 0)
|
||||
+ return -2;
|
||||
+ while (buffer[0] != 'P' || strncmp ((const char *) &buffer[1], END_CENTRAL_SIG, 3)) {
|
||||
+ if (lseek (zipf->fd, -5, SEEK_CUR) < 0)
|
||||
+ return -2;
|
||||
+ if (read (zipf->fd, buffer, 4) != 4)
|
||||
+ return -2;
|
||||
+ }
|
||||
+ if (read (zipf->fd, buffer + 4, ECREC_SIZE) != ECREC_SIZE)
|
||||
+ return -2;
|
||||
+ }
|
||||
zipf->count = makeword((const uch *) &buffer[TOTAL_ENTRIES_CENTRAL_DIR]);
|
||||
zipf->dir_size = makelong((const uch *) &buffer[SIZE_CENTRAL_DIRECTORY]);
|
||||
#define ALLOC xmalloc
|
@ -1,50 +0,0 @@
|
||||
diff -Nru gcc-4.1.1.orig/gcc/config/arm/t-linux gcc-4.1.1/gcc/config/arm/t-linux
|
||||
--- gcc-4.1.1.orig/gcc/config/arm/t-linux 2004-05-15 14:41:35.000000000 +0200
|
||||
+++ gcc-4.1.1/gcc/config/arm/t-linux 2006-08-23 01:40:35.000000000 +0200
|
||||
@@ -1,15 +1,37 @@
|
||||
# Just for these, we omit the frame pointer since it makes such a big
|
||||
-# difference. It is then pointless adding debugging.
|
||||
-TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
|
||||
-LIBGCC2_DEBUG_CFLAGS = -g0
|
||||
+# difference. It is then pointless adding debugging.
|
||||
+
|
||||
+TARGET_LIBGCC2_CFLAGS = -fno-inline -fomit-frame-pointer -fPIC -Dinhibit_libc
|
||||
+LIBGCC2_DEBUG_CFLAGS = -g0
|
||||
+
|
||||
+# Don't build enquire
|
||||
+ENQUIRE=
|
||||
|
||||
LIB1ASMSRC = arm/lib1funcs.asm
|
||||
-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
|
||||
|
||||
-# MULTILIB_OPTIONS = mhard-float/msoft-float
|
||||
-# MULTILIB_DIRNAMES = hard-float soft-float
|
||||
+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls \
|
||||
+ _bb_init_func _call_via_rX _interwork_call_via_rX \
|
||||
+ _lshrdi3 _ashrdi3 _ashldi3 \
|
||||
+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
|
||||
+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
|
||||
+ _fixsfsi _fixunssfsi _floatdidf _floatdisf
|
||||
+
|
||||
+MULTILIB_OPTIONS = mlittle-endian/mbig-endian mhard-float/msoft-float
|
||||
+MULTILIB_DIRNAMES = le be hard-float soft-float
|
||||
+MULTILIB_MATCHES = mbig-endian=mbe mlittle-endian=mle
|
||||
+
|
||||
+EXTRA_MULTILIB_PARTS = crtbegin.o crtbeginS.o crtend.o crtendS.o crti.o crtn.o
|
||||
+
|
||||
+LIBGCC = stmp-multilib
|
||||
+INSTALL_LIBGCC = install-multilib
|
||||
+
|
||||
+T_CFLAGS = -Dinhibit_libc
|
||||
|
||||
-# EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o
|
||||
+# Assemble startup files.
|
||||
+$(T)crti.o: $(srcdir)/config/arm/crti.asm $(GCC_PASSES)
|
||||
+ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
|
||||
+ -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/arm/crti.asm
|
||||
|
||||
-# LIBGCC = stmp-multilib
|
||||
-# INSTALL_LIBGCC = install-multilib
|
||||
+$(T)crtn.o: $(srcdir)/config/arm/crtn.asm $(GCC_PASSES)
|
||||
+ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
|
||||
+ -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/arm/crtn.asm
|
@ -1,12 +0,0 @@
|
||||
diff -Nru gcc-4.1.1.orig/gcc/config/arm/linux-elf.h gcc-4.1.1/gcc/config/arm/linux-elf.h
|
||||
--- gcc-4.1.1.orig/gcc/config/arm/linux-elf.h 2005-10-10 03:04:31.000000000 +0200
|
||||
+++ gcc-4.1.1/gcc/config/arm/linux-elf.h 2006-08-23 10:06:25.000000000 +0200
|
||||
@@ -49,8 +49,6 @@
|
||||
%{shared:-lc} \
|
||||
%{!shared:%{profile:-lc_p}%{!profile:-lc}}"
|
||||
|
||||
-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
|
||||
-
|
||||
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
||||
|
||||
#define LINUX_TARGET_LINK_SPEC "%{h*} %{version:-v} \
|
@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
gij --classpath /usr/share/java/ecj.jar \
|
||||
org.eclipse.jdt.internal.compiler.batch.GCCMain \
|
||||
${1+"$@"}
|
@ -1,298 +0,0 @@
|
||||
--- gcc/fwprop.c.jj 2009-02-20 15:34:11.000000000 +0100
|
||||
+++ gcc/fwprop.c 2009-03-25 16:34:49.000000000 +0100
|
||||
@@ -1,5 +1,5 @@
|
||||
/* RTL-based forward propagation pass for GNU compiler.
|
||||
- Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
+ Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
Contributed by Paolo Bonzini and Steven Bosscher.
|
||||
|
||||
This file is part of GCC.
|
||||
@@ -852,6 +852,96 @@ forward_propagate_subreg (df_ref use, rt
|
||||
return false;
|
||||
}
|
||||
|
||||
+static int
|
||||
+check_reg_count_callback (rtx *px, void *data)
|
||||
+{
|
||||
+ int *regnop = (int *) data;
|
||||
+
|
||||
+ if (!REG_P (*px))
|
||||
+ return 0;
|
||||
+
|
||||
+ if (*regnop < 0 || *regnop == (int) REGNO (*px))
|
||||
+ {
|
||||
+ *regnop = REGNO (*px);
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+/* Try to replace USE with SRC (defined in DEF_INSN) in __asm. */
|
||||
+
|
||||
+static bool
|
||||
+forward_propagate_asm (df_ref use, rtx def_set, rtx reg)
|
||||
+{
|
||||
+ rtx use_insn = DF_REF_INSN (use), src, use_pat, asm_operands, new_rtx, *loc;
|
||||
+ int regno, speed_p, i;
|
||||
+
|
||||
+ gcc_assert ((DF_REF_FLAGS (use) & DF_REF_IN_NOTE) == 0);
|
||||
+
|
||||
+ src = SET_SRC (def_set);
|
||||
+ use_pat = PATTERN (use_insn);
|
||||
+
|
||||
+ /* In __asm don't replace if src might need more registers than
|
||||
+ reg, as that could increase register pressure on the __asm. */
|
||||
+ regno = -1;
|
||||
+ if (for_each_rtx (&src, check_reg_count_callback, ®no) > 0)
|
||||
+ return false;
|
||||
+
|
||||
+ speed_p = optimize_bb_for_speed_p (BLOCK_FOR_INSN (use_insn));
|
||||
+ asm_operands = NULL_RTX;
|
||||
+ switch (GET_CODE (use_pat))
|
||||
+ {
|
||||
+ case ASM_OPERANDS:
|
||||
+ asm_operands = use_pat;
|
||||
+ break;
|
||||
+ case SET:
|
||||
+ loc = &SET_DEST (use_pat);
|
||||
+ new_rtx = propagate_rtx (*loc, GET_MODE (*loc), reg, src, speed_p);
|
||||
+ if (new_rtx)
|
||||
+ validate_unshare_change (use_insn, loc, new_rtx, true);
|
||||
+ asm_operands = SET_SRC (use_pat);
|
||||
+ break;
|
||||
+ case PARALLEL:
|
||||
+ for (i = 0; i < XVECLEN (use_pat, 0); i++)
|
||||
+ if (GET_CODE (XVECEXP (use_pat, 0, i)) == SET)
|
||||
+ {
|
||||
+ loc = &SET_DEST (XVECEXP (use_pat, 0, i));
|
||||
+ new_rtx = propagate_rtx (*loc, GET_MODE (*loc), reg, src, speed_p);
|
||||
+ if (new_rtx)
|
||||
+ validate_unshare_change (use_insn, loc, new_rtx, true);
|
||||
+ asm_operands = SET_SRC (XVECEXP (use_pat, 0, i));
|
||||
+ }
|
||||
+ else if (GET_CODE (XVECEXP (use_pat, 0, i)) == ASM_OPERANDS)
|
||||
+ asm_operands = XVECEXP (use_pat, 0, i);
|
||||
+ break;
|
||||
+ default:
|
||||
+ gcc_unreachable ();
|
||||
+ }
|
||||
+
|
||||
+ gcc_assert (asm_operands && GET_CODE (asm_operands) == ASM_OPERANDS);
|
||||
+ for (i = 0; i < ASM_OPERANDS_INPUT_LENGTH (asm_operands); i++)
|
||||
+ {
|
||||
+ loc = &ASM_OPERANDS_INPUT (asm_operands, i);
|
||||
+ new_rtx = propagate_rtx (*loc, GET_MODE (*loc), reg, src, speed_p);
|
||||
+ if (new_rtx)
|
||||
+ validate_unshare_change (use_insn, loc, new_rtx, true);
|
||||
+ }
|
||||
+
|
||||
+ if (num_changes_pending () == 0)
|
||||
+ return false;
|
||||
+
|
||||
+ if (!verify_changes (0))
|
||||
+ {
|
||||
+ cancel_changes (0);
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ confirm_change_group ();
|
||||
+ num_changes++;
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
/* Try to replace USE with SRC (defined in DEF_INSN) and simplify the
|
||||
result. */
|
||||
|
||||
@@ -863,12 +953,16 @@ forward_propagate_and_simplify (df_ref u
|
||||
rtx src, reg, new_rtx, *loc;
|
||||
bool set_reg_equal;
|
||||
enum machine_mode mode;
|
||||
+ int asm_use = -1;
|
||||
|
||||
- if (!use_set)
|
||||
+ if (INSN_CODE (use_insn) < 0)
|
||||
+ asm_use = asm_noperands (PATTERN (use_insn));
|
||||
+
|
||||
+ if (!use_set && asm_use < 0)
|
||||
return false;
|
||||
|
||||
/* Do not propagate into PC, CC0, etc. */
|
||||
- if (GET_MODE (SET_DEST (use_set)) == VOIDmode)
|
||||
+ if (use_set && GET_MODE (SET_DEST (use_set)) == VOIDmode)
|
||||
return false;
|
||||
|
||||
/* If def and use are subreg, check if they match. */
|
||||
@@ -900,7 +994,7 @@ forward_propagate_and_simplify (df_ref u
|
||||
if (MEM_P (src) && MEM_READONLY_P (src))
|
||||
{
|
||||
rtx x = avoid_constant_pool_reference (src);
|
||||
- if (x != src)
|
||||
+ if (x != src && use_set)
|
||||
{
|
||||
rtx note = find_reg_note (use_insn, REG_EQUAL, NULL_RTX);
|
||||
rtx old_rtx = note ? XEXP (note, 0) : SET_SRC (use_set);
|
||||
@@ -911,6 +1005,9 @@ forward_propagate_and_simplify (df_ref u
|
||||
return false;
|
||||
}
|
||||
|
||||
+ if (asm_use >= 0)
|
||||
+ return forward_propagate_asm (use, def_set, reg);
|
||||
+
|
||||
/* Else try simplifying. */
|
||||
|
||||
if (DF_REF_TYPE (use) == DF_REF_REG_MEM_STORE)
|
||||
--- gcc/testsuite/gcc.target/i386/pr39543-1.c.jj 2009-03-25 16:40:18.000000000 +0100
|
||||
+++ gcc/testsuite/gcc.target/i386/pr39543-1.c 2009-03-25 16:40:50.000000000 +0100
|
||||
@@ -0,0 +1,52 @@
|
||||
+/* PR rtl-optimization/39543 */
|
||||
+/* { dg-do compile } */
|
||||
+/* { dg-options "-O3 -fomit-frame-pointer" } */
|
||||
+
|
||||
+float __attribute__ ((aligned (16))) s0[128];
|
||||
+const float s1 = 0.707;
|
||||
+float s2[8] __attribute__ ((aligned (16)));
|
||||
+float s3[8] __attribute__ ((aligned (16)));
|
||||
+float s4[16] __attribute__ ((aligned (16)));
|
||||
+float s5[16] __attribute__ ((aligned (16)));
|
||||
+
|
||||
+void
|
||||
+foo (int k, float *x, float *y, const float *d, const float *z)
|
||||
+{
|
||||
+ float *a, *b, *c, *e;
|
||||
+
|
||||
+ a = x + 2 * k;
|
||||
+ b = a + 2 * k;
|
||||
+ c = b + 2 * k;
|
||||
+ e = y + 2 * k;
|
||||
+ __asm__ volatile (""
|
||||
+ : "=m" (x[0]), "=m" (b[0]), "=m" (a[0]), "=m" (c[0])
|
||||
+ : "m" (y[0]), "m" (y[k * 2]), "m" (x[0]), "m" (a[0])
|
||||
+ : "memory");
|
||||
+ for (;;)
|
||||
+ {
|
||||
+ __asm__ volatile (""
|
||||
+ :
|
||||
+ : "m" (y[2]), "m" (d[2]), "m" (e[2]), "m" (z[2])
|
||||
+ : "memory");
|
||||
+ if (!--k)
|
||||
+ break;
|
||||
+ }
|
||||
+ __asm__ volatile (""
|
||||
+ : "=m" (x[2]), "=m" (x[10]), "=m" (x[6]), "=m" (x[14])
|
||||
+ : "m" (y[2]), "m" (y[6]), "m" (x[2]), "m" (x[6]),
|
||||
+ "m" (y[18]), "m" (s1)
|
||||
+ : "memory");
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+bar (float *a)
|
||||
+{
|
||||
+ foo (4, a, a + 16, s2, s3);
|
||||
+ foo (8, a, a + 32, s4, s5);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+baz (void)
|
||||
+{
|
||||
+ bar (s0);
|
||||
+}
|
||||
--- gcc/testsuite/gcc.target/i386/pr39543-2.c.jj 2009-03-25 16:40:18.000000000 +0100
|
||||
+++ gcc/testsuite/gcc.target/i386/pr39543-2.c 2009-03-25 16:40:38.000000000 +0100
|
||||
@@ -0,0 +1,51 @@
|
||||
+/* PR rtl-optimization/39543 */
|
||||
+/* { dg-do compile } */
|
||||
+/* { dg-options "-O3" } */
|
||||
+
|
||||
+float __attribute__ ((aligned (16))) s0[128];
|
||||
+const float s1 = 0.707;
|
||||
+float s2[8] __attribute__ ((aligned (16)));
|
||||
+float s3[8] __attribute__ ((aligned (16)));
|
||||
+float s4[16] __attribute__ ((aligned (16)));
|
||||
+float s5[16] __attribute__ ((aligned (16)));
|
||||
+
|
||||
+void
|
||||
+foo (int k, float *x, float *y, const float *d, const float *z)
|
||||
+{
|
||||
+ float *a, *b, *c, *e;
|
||||
+
|
||||
+ a = x + 2 * k;
|
||||
+ b = a + 2 * k;
|
||||
+ c = b + 2 * k;
|
||||
+ e = y + 2 * k;
|
||||
+ __asm__ volatile (""
|
||||
+ : "=m" (x[0]), "=m" (b[0]), "=m" (a[0]), "=m" (c[0])
|
||||
+ : "m" (y[0]), "m" (y[k * 2]), "m" (x[0]), "m" (a[0])
|
||||
+ : "memory");
|
||||
+ for (;;)
|
||||
+ {
|
||||
+ __asm__ volatile (""
|
||||
+ :
|
||||
+ : "m" (y[2]), "m" (d[2]), "m" (e[2]), "m" (z[2])
|
||||
+ : "memory");
|
||||
+ if (!--k)
|
||||
+ break;
|
||||
+ }
|
||||
+ __asm__ volatile (""
|
||||
+ : "=m" (x[2]), "=m" (x[10]), "=m" (x[6]), "=m" (x[14])
|
||||
+ : "m" (y[2]), "m" (y[6]), "m" (x[2]), "m" (x[6]), "m" (s1)
|
||||
+ : "memory");
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+bar (float *a)
|
||||
+{
|
||||
+ foo (4, a, a + 16, s2, s3);
|
||||
+ foo (8, a, a + 32, s4, s5);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+baz (void)
|
||||
+{
|
||||
+ bar (s0);
|
||||
+}
|
||||
--- gcc/testsuite/gcc.target/i386/pr39543-3.c.jj 2009-03-25 16:41:29.000000000 +0100
|
||||
+++ gcc/testsuite/gcc.target/i386/pr39543-3.c 2009-03-25 16:41:19.000000000 +0100
|
||||
@@ -0,0 +1,42 @@
|
||||
+/* PR rtl-optimization/39543 */
|
||||
+/* { dg-do compile } */
|
||||
+/* { dg-options "-O2" } */
|
||||
+
|
||||
+int s[128];
|
||||
+
|
||||
+void
|
||||
+f1 (void)
|
||||
+{
|
||||
+ int i;
|
||||
+ asm volatile ("# %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17"
|
||||
+ : "=r" (i)
|
||||
+ : "m" (s[0]), "m" (s[2]), "m" (s[4]), "m" (s[6]), "m" (s[8]),
|
||||
+ "m" (s[10]), "m" (s[12]), "m" (s[14]), "m" (s[16]), "m" (s[18]),
|
||||
+ "m" (s[20]), "m" (s[22]), "m" (s[24]), "m" (s[26]), "m" (s[28]),
|
||||
+ "m" (s[30]), "m" (s[32]));
|
||||
+ asm volatile ("# %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17"
|
||||
+ : "=r" (i)
|
||||
+ : "m" (s[0]), "m" (s[2]), "m" (s[4]), "m" (s[6]), "m" (s[8]),
|
||||
+ "m" (s[10]), "m" (s[12]), "m" (s[14]), "m" (s[16]), "m" (s[18]),
|
||||
+ "m" (s[20]), "m" (s[22]), "m" (s[24]), "m" (s[26]), "m" (s[28]),
|
||||
+ "m" (s[30]), "m" (s[32]));
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+f2 (int *q)
|
||||
+{
|
||||
+ int i;
|
||||
+ int *p = q + 32;
|
||||
+ asm volatile ("# %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17"
|
||||
+ : "=r" (i)
|
||||
+ : "m" (p[0]), "m" (p[2]), "m" (p[4]), "m" (p[6]), "m" (p[8]),
|
||||
+ "m" (p[10]), "m" (p[12]), "m" (p[14]), "m" (p[16]), "m" (p[18]),
|
||||
+ "m" (p[20]), "m" (p[22]), "m" (p[24]), "m" (p[26]), "m" (p[28]),
|
||||
+ "m" (p[30]), "m" (p[32]));
|
||||
+ asm volatile ("# %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17"
|
||||
+ : "=r" (i)
|
||||
+ : "m" (p[0]), "m" (p[2]), "m" (p[4]), "m" (p[6]), "m" (p[8]),
|
||||
+ "m" (p[10]), "m" (p[12]), "m" (p[14]), "m" (p[16]), "m" (p[18]),
|
||||
+ "m" (p[20]), "m" (p[22]), "m" (p[24]), "m" (p[26]), "m" (p[28]),
|
||||
+ "m" (p[30]), "m" (p[32]));
|
||||
+}
|
@ -1,22 +0,0 @@
|
||||
libstdc++-v3/ChangeLog:
|
||||
2009-12-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
PR libstdc++/40974
|
||||
* include/c_compatibility/fenv.h (_GLIBCXX_FENV_H):
|
||||
Turn off multiple inclusion guard for 'include_next <fenv.h>'.
|
||||
|
||||
diff --git a/libstdc++-v3/include/c_compatibility/fenv.h b/libstdc++-v3/include/c_compatibility/fenv.h
|
||||
index 5db6d9d..ce56a95 100644
|
||||
--- a/libstdc++-v3/include/c_compatibility/fenv.h
|
||||
+++ b/libstdc++-v3/include/c_compatibility/fenv.h
|
||||
@@ -33,7 +33,10 @@
|
||||
|
||||
#include <bits/c++config.h>
|
||||
#if _GLIBCXX_HAVE_FENV_H
|
||||
+# undef _GLIBCXX_FENV_H
|
||||
# include_next <fenv.h>
|
||||
+# undef _GLIBCXX_FENV_H
|
||||
+# define _GLIBCXX_FENV_H 1
|
||||
#endif
|
||||
|
||||
#ifdef __GXX_EXPERIMENTAL_CXX0X__
|
@ -1,12 +0,0 @@
|
||||
diff -Nru gcc-4.5.0.orig//gcc/Makefile.in gcc-4.5.0/gcc/Makefile.in
|
||||
--- gcc-4.5.0.orig//gcc/Makefile.in 2010-04-02 09:49:06.000000000 +0200
|
||||
+++ gcc-4.5.0/gcc/Makefile.in 2010-05-08 14:28:08.243216408 +0200
|
||||
@@ -3949,7 +3949,7 @@
|
||||
gcc_dir=`${PWD_COMMAND}` ; \
|
||||
export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
|
||||
cd $(build_objdir)/fixincludes && \
|
||||
- $(SHELL) ./fixinc.sh "$${gcc_dir}/$${fix_dir}" \
|
||||
+ $(SHELL) -c true \
|
||||
$(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) ); \
|
||||
rm -f $${fix_dir}/syslimits.h; \
|
||||
if [ -f $${fix_dir}/limits.h ]; then \
|
@ -1,12 +0,0 @@
|
||||
diff -Nru gcc-4.5.1.orig//libiberty/strsignal.c gcc-4.5.1/libiberty/strsignal.c
|
||||
--- gcc-4.5.1.orig//libiberty/strsignal.c 2008-06-19 17:08:53.000000000 +0200
|
||||
+++ gcc-4.5.1/libiberty/strsignal.c 2010-09-23 20:00:01.972694593 +0200
|
||||
@@ -551,7 +551,7 @@
|
||||
#ifndef HAVE_PSIGNAL
|
||||
|
||||
void
|
||||
-psignal (int signo, char *message)
|
||||
+psignal (int signo, const char *message)
|
||||
{
|
||||
if (signal_names == NULL)
|
||||
{
|
@ -1,17 +0,0 @@
|
||||
--- gcc-4.5.2.orig/gcc/config/arm/arm.h (revision 162381)
|
||||
+++ gcc-4.5.2/gcc/config/arm/arm.h (working copy)
|
||||
@@ -94,7 +94,13 @@
|
||||
if (arm_arch_iwmmxt) \
|
||||
builtin_define ("__IWMMXT__"); \
|
||||
if (TARGET_AAPCS_BASED) \
|
||||
- builtin_define ("__ARM_EABI__"); \
|
||||
+ { \
|
||||
+ if (TARGET_VFP && TARGET_HARD_FLOAT_ABI) \
|
||||
+ builtin_define ("__ARM_PCS_VFP"); \
|
||||
+ else \
|
||||
+ builtin_define ("__ARM_PCS"); \
|
||||
+ builtin_define ("__ARM_EABI__"); \
|
||||
+ } \
|
||||
} while (0)
|
||||
|
||||
/* The various ARM cores. */
|
@ -1,216 +0,0 @@
|
||||
diff -ur gcc-4.5.0-clean/gcc/config/avr/avr-devices.c gcc-4.5.0/gcc/config/avr/avr-devices.c
|
||||
--- gcc-4.5.0-clean/gcc/config/avr/avr-devices.c 2009-07-18 04:49:03.000000000 +1000
|
||||
+++ gcc-4.5.0/gcc/config/avr/avr-devices.c 2010-07-09 23:32:45.000000000 +1000
|
||||
@@ -67,15 +67,21 @@
|
||||
{ "attiny13", ARCH_AVR25, "__AVR_ATtiny13__", 1, 0x0060, "tn13" },
|
||||
{ "attiny13a", ARCH_AVR25, "__AVR_ATtiny13A__", 1, 0x0060, "tn13a" },
|
||||
{ "attiny2313", ARCH_AVR25, "__AVR_ATtiny2313__", 1, 0x0060, "tn2313" },
|
||||
+ { "attiny2313a", ARCH_AVR25, "__AVR_ATtiny2313A__", /*?*/1, 0x0060, "tn2313a" },
|
||||
{ "attiny24", ARCH_AVR25, "__AVR_ATtiny24__", 1, 0x0060, "tn24" },
|
||||
+ { "attiny24a", ARCH_AVR25, "__AVR_ATtiny24A__", /*?*/1, 0x0060, "tn24a" },
|
||||
+ { "attiny4313", ARCH_AVR25, "__AVR_ATtiny4313__", /*?*/0, 0x0060, "tn44313" },
|
||||
{ "attiny44", ARCH_AVR25, "__AVR_ATtiny44__", 0, 0x0060, "tn44" },
|
||||
+ { "attiny44a", ARCH_AVR25, "__AVR_ATtiny44A__", /*?*/0, 0x0060, "tn44a" },
|
||||
{ "attiny84", ARCH_AVR25, "__AVR_ATtiny84__", 0, 0x0060, "tn84" },
|
||||
{ "attiny25", ARCH_AVR25, "__AVR_ATtiny25__", 1, 0x0060, "tn25" },
|
||||
{ "attiny45", ARCH_AVR25, "__AVR_ATtiny45__", 0, 0x0060, "tn45" },
|
||||
{ "attiny85", ARCH_AVR25, "__AVR_ATtiny85__", 0, 0x0060, "tn85" },
|
||||
{ "attiny261", ARCH_AVR25, "__AVR_ATtiny261__", 1, 0x0060, "tn261" },
|
||||
+ { "attiny261a", ARCH_AVR25, "__AVR_ATtiny261A__", /*?*/1, 0x0060, "tn261a" },
|
||||
{ "attiny461", ARCH_AVR25, "__AVR_ATtiny461__", 0, 0x0060, "tn461" },
|
||||
{ "attiny861", ARCH_AVR25, "__AVR_ATtiny861__", 0, 0x0060, "tn861" },
|
||||
+ { "attiny861a", ARCH_AVR25, "__AVR_ATtiny861A__", /*?*/0, 0x0060, "tn861a" },
|
||||
{ "attiny43u", ARCH_AVR25, "__AVR_ATtiny43U__", 0, 0x0060, "tn43u" },
|
||||
{ "attiny87", ARCH_AVR25, "__AVR_ATtiny87__", 0, 0x0100, "tn87" },
|
||||
{ "attiny48", ARCH_AVR25, "__AVR_ATtiny48__", 0, 0x0100, "tn48" },
|
||||
@@ -102,9 +108,12 @@
|
||||
{ "avr4", ARCH_AVR4, NULL, 0, 0x0060, "m8" },
|
||||
{ "atmega8", ARCH_AVR4, "__AVR_ATmega8__", 0, 0x0060, "m8" },
|
||||
{ "atmega48", ARCH_AVR4, "__AVR_ATmega48__", 0, 0x0100, "m48" },
|
||||
+ { "atmega48a", ARCH_AVR4, "__AVR_ATmega48A__", /*?*/0, 0x0100, "m48a" },
|
||||
{ "atmega48p", ARCH_AVR4, "__AVR_ATmega48P__", 0, 0x0100, "m48p" },
|
||||
{ "atmega88", ARCH_AVR4, "__AVR_ATmega88__", 0, 0x0100, "m88" },
|
||||
+ { "atmega88a", ARCH_AVR4, "__AVR_ATmega88A__", /*?*/0, 0x0100, "m88a" },
|
||||
{ "atmega88p", ARCH_AVR4, "__AVR_ATmega88P__", 0, 0x0100, "m88p" },
|
||||
+ { "atmega88pa", ARCH_AVR4, "__AVR_ATmega88PA__", /*?*/0, 0x0100, "m88pa" },
|
||||
{ "atmega8515", ARCH_AVR4, "__AVR_ATmega8515__", 0, 0x0060, "m8515" },
|
||||
{ "atmega8535", ARCH_AVR4, "__AVR_ATmega8535__", 0, 0x0060, "m8535" },
|
||||
{ "atmega8c1", ARCH_AVR4, "__AVR_ATmega8C1__", 0, 0x0100, "m8c1" },
|
||||
@@ -121,40 +130,62 @@
|
||||
/* Enhanced, > 8K, <= 64K. */
|
||||
{ "avr5", ARCH_AVR5, NULL, 0, 0x0060, "m16" },
|
||||
{ "atmega16", ARCH_AVR5, "__AVR_ATmega16__", 0, 0x0060, "m16" },
|
||||
+ { "atmega16a", ARCH_AVR5, "__AVR_ATmega16A__", /*?*/0, 0x0060, "m16a" },
|
||||
{ "atmega161", ARCH_AVR5, "__AVR_ATmega161__", 0, 0x0060, "m161" },
|
||||
{ "atmega162", ARCH_AVR5, "__AVR_ATmega162__", 0, 0x0100, "m162" },
|
||||
{ "atmega163", ARCH_AVR5, "__AVR_ATmega163__", 0, 0x0060, "m163" },
|
||||
+ { "atmega164a", ARCH_AVR5, "__AVR_ATmega164A__", /*?*/0, 0x0100, "m164a" },
|
||||
{ "atmega164p", ARCH_AVR5, "__AVR_ATmega164P__", 0, 0x0100, "m164p" },
|
||||
{ "atmega165", ARCH_AVR5, "__AVR_ATmega165__", 0, 0x0100, "m165" },
|
||||
+ { "atmega165a", ARCH_AVR5, "__AVR_ATmega165A__", 0, 0x0100, "m165a" },
|
||||
{ "atmega165p", ARCH_AVR5, "__AVR_ATmega165P__", 0, 0x0100, "m165p" },
|
||||
{ "atmega168", ARCH_AVR5, "__AVR_ATmega168__", 0, 0x0100, "m168" },
|
||||
+ { "atmega168a", ARCH_AVR5, "__AVR_ATmega168A__", /*?*/0, 0x0100, "m168a" },
|
||||
{ "atmega168p", ARCH_AVR5, "__AVR_ATmega168P__", 0, 0x0100, "m168p" },
|
||||
{ "atmega169", ARCH_AVR5, "__AVR_ATmega169__", 0, 0x0100, "m169" },
|
||||
+ { "atmega169a", ARCH_AVR5, "__AVR_ATmega169A__", /*?*/0, 0x0100, "m169a" },
|
||||
{ "atmega169p", ARCH_AVR5, "__AVR_ATmega169P__", 0, 0x0100, "m169p" },
|
||||
+ { "atmega169pa", ARCH_AVR5, "__AVR_ATmega169PA__", /*?*/0, 0x0100, "m169pa" },
|
||||
{ "atmega32", ARCH_AVR5, "__AVR_ATmega32__", 0, 0x0060, "m32" },
|
||||
{ "atmega323", ARCH_AVR5, "__AVR_ATmega323__", 0, 0x0060, "m323" },
|
||||
+ { "atmega324a", ARCH_AVR5, "__AVR_ATmega324A__", /*?*/0, 0x0100, "m324a" },
|
||||
{ "atmega324p", ARCH_AVR5, "__AVR_ATmega324P__", 0, 0x0100, "m324p" },
|
||||
+ { "atmega324pa", ARCH_AVR5, "__AVR_ATmega324PA__", /*?*/0, 0x0100, "m324pa" },
|
||||
{ "atmega325", ARCH_AVR5, "__AVR_ATmega325__", 0, 0x0100, "m325" },
|
||||
{ "atmega325p", ARCH_AVR5, "__AVR_ATmega325P__", 0, 0x0100, "m325p" },
|
||||
{ "atmega3250", ARCH_AVR5, "__AVR_ATmega3250__", 0, 0x0100, "m3250" },
|
||||
{ "atmega3250p", ARCH_AVR5, "__AVR_ATmega3250P__", 0, 0x0100, "m3250p" },
|
||||
+ { "atmega328", ARCH_AVR5, "__AVR_ATmega328__", /*?*/0, 0x0100, "m328" },
|
||||
{ "atmega328p", ARCH_AVR5, "__AVR_ATmega328P__", 0, 0x0100, "m328p" },
|
||||
{ "atmega329", ARCH_AVR5, "__AVR_ATmega329__", 0, 0x0100, "m329" },
|
||||
{ "atmega329p", ARCH_AVR5, "__AVR_ATmega329P__", 0, 0x0100, "m329p" },
|
||||
+ { "atmega329pa", ARCH_AVR5, "__AVR_ATmega329PA__", /*?*/0, 0x0100, "m329pa" },
|
||||
{ "atmega3290", ARCH_AVR5, "__AVR_ATmega3290__", 0, 0x0100, "m3290" },
|
||||
{ "atmega3290p", ARCH_AVR5, "__AVR_ATmega3290P__", 0, 0x0100, "m3290p" },
|
||||
{ "atmega406", ARCH_AVR5, "__AVR_ATmega406__", 0, 0x0100, "m406" },
|
||||
{ "atmega64", ARCH_AVR5, "__AVR_ATmega64__", 0, 0x0100, "m64" },
|
||||
{ "atmega640", ARCH_AVR5, "__AVR_ATmega640__", 0, 0x0200, "m640" },
|
||||
{ "atmega644", ARCH_AVR5, "__AVR_ATmega644__", 0, 0x0100, "m644" },
|
||||
+ { "atmega644a", ARCH_AVR5, "__AVR_ATmega644A__", /*?*/0, 0x0100, "m644a" },
|
||||
{ "atmega644p", ARCH_AVR5, "__AVR_ATmega644P__", 0, 0x0100, "m644p" },
|
||||
+ { "atmega644pa", ARCH_AVR5, "__AVR_ATmega644PA__", /*?*/0, 0x0100, "m644pa" },
|
||||
{ "atmega645", ARCH_AVR5, "__AVR_ATmega645__", 0, 0x0100, "m645" },
|
||||
+ { "atmega645a", ARCH_AVR5, "__AVR_ATmega645A__", /*?*/0, 0x0100, "m645a" },
|
||||
+ { "atmega645p", ARCH_AVR5, "__AVR_ATmega645P__", /*?*/0, 0x0100, "m645p" },
|
||||
{ "atmega6450", ARCH_AVR5, "__AVR_ATmega6450__", 0, 0x0100, "m6450" },
|
||||
+ { "atmega6450a", ARCH_AVR5, "__AVR_ATmega6450A__", /*?*/0, 0x0100, "m6450a" },
|
||||
+ { "atmega6450p", ARCH_AVR5, "__AVR_ATmega6450P__", /*?*/0, 0x0100, "m6450p" },
|
||||
{ "atmega649", ARCH_AVR5, "__AVR_ATmega649__", 0, 0x0100, "m649" },
|
||||
+ { "atmega649a", ARCH_AVR5, "__AVR_ATmega649A__", /*?*/0, 0x0100, "m649a" },
|
||||
+ { "atmega649p", ARCH_AVR5, "__AVR_ATmega649P__", /*?*/0, 0x0100, "m649p" },
|
||||
{ "atmega6490", ARCH_AVR5, "__AVR_ATmega6490__", 0, 0x0100, "m6490" },
|
||||
+ { "atmega6490a", ARCH_AVR5, "__AVR_ATmega6490A__", /*?*/0, 0x0100, "m6490a" },
|
||||
+ { "atmega6490p", ARCH_AVR5, "__AVR_ATmega6490P__", /*?*/0, 0x0100, "m6490p" },
|
||||
{ "atmega16hva", ARCH_AVR5, "__AVR_ATmega16HVA__", 0, 0x0100, "m16hva" },
|
||||
+ { "atmega16hva2", ARCH_AVR5, "__AVR_ATmega16HVA2__", /*?*/0, 0x0100, "m16hva2" },
|
||||
{ "atmega16hvb", ARCH_AVR5, "__AVR_ATmega16HVB__", 0, 0x0100, "m16hvb" },
|
||||
- { "atmega32hvb", ARCH_AVR5, "__AVR_ATmega32HVB__", 0, 0x0100, "m23hvb" },
|
||||
+ { "atmega32hvb", ARCH_AVR5, "__AVR_ATmega32HVB__", 0, 0x0100, "m32hvb" },
|
||||
+ { "atmega64hve", ARCH_AVR5, "__AVR_ATmega64HVE__", /*?*/0, 0x0100, "m64hve" },
|
||||
{ "at90can32", ARCH_AVR5, "__AVR_AT90CAN32__", 0, 0x0100, "can32" },
|
||||
{ "at90can64", ARCH_AVR5, "__AVR_AT90CAN64__", 0, 0x0100, "can64" },
|
||||
{ "at90pwm216", ARCH_AVR5, "__AVR_AT90PWM216__", 0, 0x0100, "90pwm216" },
|
||||
diff -ur gcc-4.5.0-clean/gcc/config/avr/t-avr gcc-4.5.0/gcc/config/avr/t-avr
|
||||
--- gcc-4.5.0-clean/gcc/config/avr/t-avr 2009-12-25 07:32:38.000000000 +1100
|
||||
+++ gcc-4.5.0/gcc/config/avr/t-avr 2010-07-09 23:05:26.000000000 +1000
|
||||
@@ -81,16 +81,23 @@
|
||||
mmcu?avr25=mmcu?attiny13 \
|
||||
mmcu?avr25=mmcu?attiny13a \
|
||||
mmcu?avr25=mmcu?attiny2313 \
|
||||
+ mmcu?avr25=mmcu?attiny2313a \
|
||||
mmcu?avr25=mmcu?attiny24 \
|
||||
- mmcu?avr25=mmcu?attiny44 \
|
||||
- mmcu?avr25=mmcu?attiny84 \
|
||||
+ mmcu?avr25=mmcu?attiny24a \
|
||||
mmcu?avr25=mmcu?attiny25 \
|
||||
- mmcu?avr25=mmcu?attiny45 \
|
||||
- mmcu?avr25=mmcu?attiny85 \
|
||||
mmcu?avr25=mmcu?attiny261 \
|
||||
+ mmcu?avr25=mmcu?attiny261a \
|
||||
+ mmcu?avr25=mmcu?attiny4313 \
|
||||
+ mmcu?avr25=mmcu?attiny43u \
|
||||
+ mmcu?avr25=mmcu?attiny44 \
|
||||
+ mmcu?avr25=mmcu?attiny44a \
|
||||
+ mmcu?avr25=mmcu?attiny45 \
|
||||
mmcu?avr25=mmcu?attiny461 \
|
||||
+ mmcu?avr25=mmcu?attiny461a \
|
||||
+ mmcu?avr25=mmcu?attiny84 \
|
||||
+ mmcu?avr25=mmcu?attiny85 \
|
||||
mmcu?avr25=mmcu?attiny861 \
|
||||
- mmcu?avr25=mmcu?attiny43u \
|
||||
+ mmcu?avr25=mmcu?attiny861a \
|
||||
mmcu?avr25=mmcu?attiny87 \
|
||||
mmcu?avr25=mmcu?attiny48 \
|
||||
mmcu?avr25=mmcu?attiny88 \
|
||||
@@ -107,12 +114,15 @@
|
||||
mmcu?avr35=mmcu?attiny167 \
|
||||
mmcu?avr35=mmcu?attiny327 \
|
||||
mmcu?avr4=mmcu?atmega48 \
|
||||
+ mmcu?avr4=mmcu?atmega48a \
|
||||
mmcu?avr4=mmcu?atmega48p \
|
||||
mmcu?avr4=mmcu?atmega8 \
|
||||
mmcu?avr4=mmcu?atmega8515 \
|
||||
mmcu?avr4=mmcu?atmega8535 \
|
||||
mmcu?avr4=mmcu?atmega88 \
|
||||
+ mmcu?avr4=mmcu?atmega88a \
|
||||
mmcu?avr4=mmcu?atmega88p \
|
||||
+ mmcu?avr4=mmcu?atmega88pa \
|
||||
mmcu?avr4=mmcu?atmega8hva \
|
||||
mmcu?avr4=mmcu?atmega4hvd \
|
||||
mmcu?avr4=mmcu?atmega8hvd \
|
||||
@@ -125,16 +135,21 @@
|
||||
mmcu?avr4=mmcu?at90pwm3b \
|
||||
mmcu?avr4=mmcu?at90pwm81 \
|
||||
mmcu?avr5=mmcu?atmega16 \
|
||||
+ mmcu?avr5=mmcu?atmega16a \
|
||||
mmcu?avr5=mmcu?atmega161 \
|
||||
mmcu?avr5=mmcu?atmega162 \
|
||||
mmcu?avr5=mmcu?atmega163 \
|
||||
+ mmcu?avr5=mmcu?atmega164a \
|
||||
mmcu?avr5=mmcu?atmega164p \
|
||||
mmcu?avr5=mmcu?atmega165 \
|
||||
+ mmcu?avr5=mmcu?atmega165a \
|
||||
mmcu?avr5=mmcu?atmega165p \
|
||||
mmcu?avr5=mmcu?atmega168 \
|
||||
mmcu?avr5=mmcu?atmega168p \
|
||||
mmcu?avr5=mmcu?atmega169 \
|
||||
+ mmcu?avr5=mmcu?atmega169a \
|
||||
mmcu?avr5=mmcu?atmega169p \
|
||||
+ mmcu?avr5=mmcu?atmega169pa \
|
||||
mmcu?avr5=mmcu?atmega32 \
|
||||
mmcu?avr5=mmcu?atmega323 \
|
||||
mmcu?avr5=mmcu?atmega324p \
|
||||
@@ -142,21 +157,35 @@
|
||||
mmcu?avr5=mmcu?atmega325p \
|
||||
mmcu?avr5=mmcu?atmega3250 \
|
||||
mmcu?avr5=mmcu?atmega3250p \
|
||||
+ mmcu?avr5=mmcu?atmega328 \
|
||||
mmcu?avr5=mmcu?atmega328p \
|
||||
mmcu?avr5=mmcu?atmega329 \
|
||||
mmcu?avr5=mmcu?atmega329p \
|
||||
+ mmcu?avr5=mmcu?atmega329pa \
|
||||
mmcu?avr5=mmcu?atmega3290 \
|
||||
mmcu?avr5=mmcu?atmega3290p \
|
||||
+ mmcu?avr5=mmcu?atmega32hvb \
|
||||
mmcu?avr5=mmcu?atmega406 \
|
||||
mmcu?avr5=mmcu?atmega64 \
|
||||
mmcu?avr5=mmcu?atmega640 \
|
||||
mmcu?avr5=mmcu?atmega644 \
|
||||
+ mmcu?avr5=mmcu?atmega644a \
|
||||
mmcu?avr5=mmcu?atmega644p \
|
||||
+ mmcu?avr5=mmcu?atmega644pa \
|
||||
mmcu?avr5=mmcu?atmega645 \
|
||||
+ mmcu?avr5=mmcu?atmega645a \
|
||||
+ mmcu?avr5=mmcu?atmega645p \
|
||||
mmcu?avr5=mmcu?atmega6450 \
|
||||
+ mmcu?avr5=mmcu?atmega6450a \
|
||||
+ mmcu?avr5=mmcu?atmega6450p \
|
||||
mmcu?avr5=mmcu?atmega649 \
|
||||
+ mmcu?avr5=mmcu?atmega649a \
|
||||
+ mmcu?avr5=mmcu?atmega649p \
|
||||
mmcu?avr5=mmcu?atmega6490 \
|
||||
+ mmcu?avr5=mmcu?atmega6490a \
|
||||
+ mmcu?avr5=mmcu?atmega6490p \
|
||||
mmcu?avr5=mmcu?atmega16hva \
|
||||
+ mmcu?avr5=mmcu?atmega16hva2 \
|
||||
mmcu?avr5=mmcu?atmega16hvb \
|
||||
mmcu?avr5=mmcu?atmega32hvb \
|
||||
mmcu?avr5=mmcu?at90can32 \
|
||||
@@ -172,6 +201,7 @@
|
||||
mmcu?avr5=mmcu?atmega16u4 \
|
||||
mmcu?avr5=mmcu?atmega32u4 \
|
||||
mmcu?avr5=mmcu?atmega32u6 \
|
||||
+ mmcu?avr5=mmcu?atmega64hve \
|
||||
mmcu?avr5=mmcu?at90scr100 \
|
||||
mmcu?avr5=mmcu?at90usb646 \
|
||||
mmcu?avr5=mmcu?at90usb647 \
|
@ -1,19 +0,0 @@
|
||||
--- gcc-4.8.0/libffi/doc/libffi.texi.orig 2013-03-27 14:30:44.349767608 +0100
|
||||
+++ gcc-4.8.0/libffi/doc/libffi.texi 2013-03-27 14:36:39.440125266 +0100
|
||||
@@ -360,7 +360,6 @@
|
||||
new @code{ffi_type} object for it.
|
||||
|
||||
@tindex ffi_type
|
||||
-@deftp ffi_type
|
||||
The @code{ffi_type} has the following members:
|
||||
@table @code
|
||||
@item size_t size
|
||||
@@ -376,8 +375,6 @@
|
||||
This is a @samp{NULL}-terminated array of pointers to @code{ffi_type}
|
||||
objects. There is one element per field of the struct.
|
||||
@end table
|
||||
-@end deftp
|
||||
-
|
||||
|
||||
@node Type Example
|
||||
@subsection Type Example
|
@ -1,102 +0,0 @@
|
||||
Submitted By: Armin K. <krejzi at email dot com>
|
||||
Date: 2014-05-10
|
||||
Initial Package Version: 4.9.0
|
||||
Upstream Status: Fixed Upstream
|
||||
Origin: Upstream VCS
|
||||
Description: Prevents compiler from generating broken code that would cause
|
||||
some programs to segfault or behave incorrectly when compiled
|
||||
with gcc-4.9.0
|
||||
|
||||
--- a/gcc/ipa-devirt.c 2014-04-08 07:35:11.000000000 +0200
|
||||
+++ b/gcc/ipa-devirt.c 2014-05-10 16:46:14.502859179 +0200
|
||||
@@ -987,6 +987,17 @@
|
||||
context->outer_type = expected_type;
|
||||
context->offset = 0;
|
||||
context->maybe_derived_type = true;
|
||||
+ context->maybe_in_construction = true;
|
||||
+ /* POD can be changed to an instance of a polymorphic type by
|
||||
+ placement new. Here we play safe and assume that any
|
||||
+ non-polymorphic type is POD. */
|
||||
+ if ((TREE_CODE (type) != RECORD_TYPE
|
||||
+ || !TYPE_BINFO (type)
|
||||
+ || !polymorphic_type_binfo_p (TYPE_BINFO (type)))
|
||||
+ && (TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST
|
||||
+ || (offset + tree_to_uhwi (TYPE_SIZE (expected_type)) <=
|
||||
+ tree_to_uhwi (TYPE_SIZE (type)))))
|
||||
+ return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
--- a/gcc/testsuite/g++.dg/ipa/devirt-11.C 2013-09-08 18:42:21.000000000 +0200
|
||||
+++ b/gcc/testsuite/g++.dg/ipa/devirt-11.C 2014-05-10 16:46:14.503859198 +0200
|
||||
@@ -45,5 +45,5 @@
|
||||
/* While inlining function called once we should devirtualize a new call to fn2
|
||||
and two to fn3. While doing so the new symbol for fn2 needs to be
|
||||
introduced. */
|
||||
-/* { dg-final { scan-ipa-dump-times "Discovered a virtual call to a known target" 3 "inline" } } */
|
||||
+/* { dg-final { scan-ipa-dump-times "Discovered a virtual call to a known target" 1 "inline" } } */
|
||||
/* { dg-final { cleanup-ipa-dump "inline" } } */
|
||||
--- a/gcc/testsuite/g++.dg/ipa/devirt-31.C 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/gcc/testsuite/g++.dg/ipa/devirt-31.C 2014-05-10 16:46:14.503859198 +0200
|
||||
@@ -0,0 +1,23 @@
|
||||
+/* { dg-options "-O2 -std=c++11 -fdump-ipa-inline" } */
|
||||
+#include <new>
|
||||
+
|
||||
+class EmbeddedObject {
|
||||
+public:
|
||||
+ virtual int val() { return 2; }
|
||||
+};
|
||||
+
|
||||
+class Container {
|
||||
+ alignas(EmbeddedObject) char buffer[sizeof(EmbeddedObject)];
|
||||
+public:
|
||||
+ EmbeddedObject *obj() { return (EmbeddedObject*)buffer; }
|
||||
+ Container() { new (buffer) EmbeddedObject(); }
|
||||
+};
|
||||
+
|
||||
+Container o;
|
||||
+
|
||||
+int main()
|
||||
+{
|
||||
+ __builtin_printf("%d\n", o.obj()->val());
|
||||
+}
|
||||
+/* { dg-final { scan-ipa-dump-not "__builtin_unreachable" "inline" } } */
|
||||
+/* { dg-final { cleanup-ipa-dump "inline" } } */
|
||||
--- a/gcc/tree-ssa-threadedge.c 2014-01-02 23:23:26.000000000 +0100
|
||||
+++ b/gcc/tree-ssa-threadedge.c 2014-05-10 16:45:59.053571881 +0200
|
||||
@@ -387,7 +387,34 @@
|
||||
&& (gimple_code (stmt) != GIMPLE_CALL
|
||||
|| gimple_call_lhs (stmt) == NULL_TREE
|
||||
|| TREE_CODE (gimple_call_lhs (stmt)) != SSA_NAME))
|
||||
- continue;
|
||||
+ {
|
||||
+ /* STMT might still have DEFS and we need to invalidate any known
|
||||
+ equivalences for them.
|
||||
+
|
||||
+ Consider if STMT is a GIMPLE_ASM with one or more outputs that
|
||||
+ feeds a conditional inside a loop. We might derive an equivalence
|
||||
+ due to the conditional. */
|
||||
+ tree op;
|
||||
+ ssa_op_iter iter;
|
||||
+
|
||||
+ if (backedge_seen)
|
||||
+ FOR_EACH_SSA_TREE_OPERAND (op, stmt, iter, SSA_OP_DEF)
|
||||
+ {
|
||||
+ /* This call only invalidates equivalences created by
|
||||
+ PHI nodes. This is by design to keep the cost of
|
||||
+ of invalidation reasonable. */
|
||||
+ invalidate_equivalences (op, stack, src_map, dst_map);
|
||||
+
|
||||
+ /* However, conditionals can imply values for real
|
||||
+ operands as well. And those won't be recorded in the
|
||||
+ maps. In fact, those equivalences may be recorded totally
|
||||
+ outside the threading code. We can just create a new
|
||||
+ temporary NULL equivalence here. */
|
||||
+ record_temporary_equivalence (op, NULL_TREE, stack);
|
||||
+ }
|
||||
+
|
||||
+ continue;
|
||||
+ }
|
||||
|
||||
/* The result of __builtin_object_size depends on all the arguments
|
||||
of a phi node. Temporarily using only one edge produces invalid
|
@ -1,15 +0,0 @@
|
||||
--- trunk/gcc/lra-lives.c 2014/05/30 08:43:05 211074
|
||||
+++ trunk/gcc/lra-lives.c 2014/06/16 09:58:34 211701
|
||||
@@ -558,7 +558,11 @@
|
||||
/* It might be 'inheritance pseudo <- reload pseudo'. */
|
||||
|| (src_regno >= lra_constraint_new_regno_start
|
||||
&& ((int) REGNO (SET_DEST (set))
|
||||
- >= lra_constraint_new_regno_start))))
|
||||
+ >= lra_constraint_new_regno_start)
|
||||
+ /* Remember to skip special cases where src/dest regnos are
|
||||
+ the same, e.g. insn SET pattern has matching constraints
|
||||
+ like =r,0. */
|
||||
+ && src_regno != (int) REGNO (SET_DEST (set)))))
|
||||
{
|
||||
int hard_regno = -1, regno = -1;
|
||||
|
@ -1,20 +0,0 @@
|
||||
--- gcc-7.1.0/libgcc/config/i386/linux-unwind.h.orig 2017-10-17 15:57:36.616505453 +0200
|
||||
+++ gcc-7.1.0/libgcc/config/i386/linux-unwind.h 2017-10-17 15:57:54.791574061 +0200
|
||||
@@ -58,7 +58,7 @@
|
||||
if (*(unsigned char *)(pc+0) == 0x48
|
||||
&& *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL)
|
||||
{
|
||||
- struct ucontext *uc_ = context->cfa;
|
||||
+ struct ucontext_t *uc_ = context->cfa;
|
||||
/* The void * cast is necessary to avoid an aliasing warning.
|
||||
The aliasing warning is correct, but should not be a problem
|
||||
because it does not alias anything. */
|
||||
@@ -138,7 +138,7 @@
|
||||
siginfo_t *pinfo;
|
||||
void *puc;
|
||||
siginfo_t info;
|
||||
- struct ucontext uc;
|
||||
+ struct ucontext_t uc;
|
||||
} *rt_ = context->cfa;
|
||||
/* The void * cast is necessary to avoid an aliasing warning.
|
||||
The aliasing warning is correct, but should not be a problem
|
@ -1,14 +0,0 @@
|
||||
diff -Naur ./libgomp/configure.tgt ../../gcc-4.2.0/libgomp/configure.tgt
|
||||
--- ./libgomp/configure.tgt 2006-12-02 18:02:00.000000000 -0200
|
||||
+++ ../../gcc-4.2.0/libgomp/configure.tgt 2007-07-07 15:24:51.000000000 -0300
|
||||
@@ -17,8 +17,8 @@
|
||||
case "${target}" in
|
||||
|
||||
*-*-linux*)
|
||||
- XCFLAGS="${XCFLAGS} -ftls-model=initial-exec"
|
||||
- XLDFLAGS="${XLDFLAGS} -Wl,-z,nodlopen"
|
||||
+# XCFLAGS="${XCFLAGS} -ftls-model=initial-exec"
|
||||
+# XLDFLAGS="${XLDFLAGS} -Wl,-z,nodlopen"
|
||||
;;
|
||||
esac
|
||||
fi
|
514
gcc.spec
514
gcc.spec
@ -1,5 +1,3 @@
|
||||
# openmamba cross platform gcc specfile
|
||||
|
||||
%define target_cpu %(echo %{_target_platform} | cut -d- -f1)
|
||||
%if "%{?_target_platform}" != "%{_host}"
|
||||
# % define target_platform %{cross_target_cpu}-openmamba-linux-gnu
|
||||
@ -16,8 +14,7 @@
|
||||
%define _ld ld
|
||||
%endif
|
||||
|
||||
%define gcc_branch %(echo %{version} | cut -d. -f 1-2)
|
||||
#% define gcc_extraver -20050810
|
||||
%define gcc_ver %(echo %{version} | cut -d+ -f1)
|
||||
|
||||
# use stage1 == 1 to have a gcc build not depending on
|
||||
# glibc library; this is usually the first needed step in
|
||||
@ -33,42 +30,34 @@
|
||||
# % define bootstrap_append -stage2
|
||||
#% endif
|
||||
|
||||
%define gittag %(echo %version | cut -d+ -f2 | cut -d. -f2)
|
||||
%define libstdcxx_name libstdc++6
|
||||
|
||||
%define MAJver %(echo %version | cut -d. -f 1)
|
||||
%define majver %(echo %version | cut -d. -f 1-2)
|
||||
|
||||
Name: gcc
|
||||
Version: 9.2.0
|
||||
Release: 3mamba
|
||||
Version: 14.2.1+20240909git.3951efed
|
||||
Release: 1mamba
|
||||
Summary: GNU Compiler Collection (C, C++, Fortran, Go, Ada)
|
||||
Group: Applications/Development
|
||||
Vendor: openmamba
|
||||
Distribution: openmamba
|
||||
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||
URL: http://gcc.gnu.org/
|
||||
Source: ftp://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}%{?gcc_extraver}.tar.xz
|
||||
Source1: ftp://sourceware.org/pub/java/ecj-latest.jar
|
||||
Source2: gcc-4.3.2-ecj1-wrapper
|
||||
Patch2: gcc4-java-nomulti.patch
|
||||
Patch0: %{name}-4.5.0-no_fixincludes.patch
|
||||
Patch1: %{name}-4.0.2-zextract.patch
|
||||
Patch3: %{name}-4.0.2-BufferStrategy.patch
|
||||
Patch4: %{name}-4.0.2-failure_with_compound_literals.patch
|
||||
Patch5: %{name}-4.1.1-arm-t-linux.patch
|
||||
Patch6: %{name}-4.1.1-libgcc-softfloat-fix.patch
|
||||
Patch7: %{name}-shared-openmp.patch
|
||||
Patch8: %{name}-4.4.0-pr39543.patch
|
||||
Patch9: %{name}-4.4.3-cross_build_fix.patch
|
||||
Patch11: %{name}-4.5.1-psignal_fix_bootstrap_build.patch
|
||||
Patch12: %{name}-4.5.2-arm_define_ARM_PCS_and_ARM_PCS_VFP.patch
|
||||
Patch13: %{name}-4.5.3-avr-new-devices.patch
|
||||
Patch14: gcc-4.8.0-libffi-texinfo.patch
|
||||
Patch15: gcc-4.9.0-upstream-fixes-1.patch
|
||||
Patch16: gcc-4.9.2-arm-lra-bootstrap.patch
|
||||
Patch19: gcc-7.1.0-cross-ftbfs-ucontet_t.patch
|
||||
URL: https://gcc.gnu.org/
|
||||
#Source: https://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.bz2
|
||||
Source: https://sourceware.org/git/gcc.git/releases%2Fgcc-14@%{gittag}/gcc-%{version}.tar.bz2
|
||||
Patch0: gcc-10.1.0-arm-provide-futex-atomic-functions.patch
|
||||
Patch1: gcc-13.1.1-libgomp-workaround-null-environ.patch
|
||||
License: GPL
|
||||
## AUTOBUILDREQ-BEGIN
|
||||
BuildRequires: glibc-devel
|
||||
BuildRequires: libgmp-devel
|
||||
BuildRequires: libisl-devel
|
||||
BuildRequires: libmpc-devel
|
||||
BuildRequires: libmpfr-devel
|
||||
BuildRequires: libz-devel
|
||||
BuildRequires: libzstd-devel
|
||||
## AUTOBUILDREQ-END
|
||||
%if "%{?cross_target_cpu}" == ""
|
||||
BuildRequires: binutils
|
||||
@ -88,43 +77,37 @@ BuildRequires: cross-%{_target_platform}-glibc
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: libz-devel
|
||||
BuildRequires: gettext
|
||||
BuildRequires: flex
|
||||
BuildRequires: bison
|
||||
BuildRequires: diffutils
|
||||
BuildRequires: texinfo >= 4.6
|
||||
BuildRequires: flex
|
||||
BuildRequires: gettext
|
||||
BuildRequires: bison
|
||||
BuildRequires: libmpc-devel
|
||||
BuildRequires: libmpfr-devel >= 2.1.2
|
||||
BuildRequires: libz-devel
|
||||
BuildRequires: texinfo >= 4.6
|
||||
%if "%{_target_platform}" == "%{_build}"
|
||||
BuildRequires: glibc-devel >= 2.5
|
||||
#%ifarch x86_64
|
||||
#BuildRequires: glibc-multilib-devel
|
||||
#%endif
|
||||
#% if "%{?stage2}" != "1"
|
||||
BuildRequires: tetex >= 3.0
|
||||
BuildRequires: libgtk2-devel >= 2.8.17
|
||||
BuildRequires: gcc-d
|
||||
BuildRequires: libalsa-devel >= 1.0.11
|
||||
%if "%{?disable_jack}" != "1"
|
||||
BuildRequires: dssi-devel >= 0.9
|
||||
BuildRequires: libjack-devel >= 0.101.1
|
||||
%endif
|
||||
%if "%{?disable_gjdoc}" != "1"
|
||||
BuildRequires: antlr
|
||||
%endif
|
||||
BuildRequires: libcairo-devel >= 1.4.10
|
||||
BuildRequires: libxcb-util-devel >= 0.2
|
||||
BuildRequires: libgtk2-devel >= 2.8.17
|
||||
BuildRequires: libisl-devel >= 0.14
|
||||
BuildRequires: libxcb-util-devel >= 0.2
|
||||
BuildRequires: libxcrypt-devel
|
||||
BuildRequires: tetex >= 3.0
|
||||
#% endif
|
||||
#% else
|
||||
# BuildRequires: cross-%{target_cpu}-glibc%{?glibc_require_append} >= 2.5
|
||||
#BuildRequires: cross-%{target_cpu}-glibc%{?glibc_require_append} >= 2.5
|
||||
%endif
|
||||
|
||||
#BuildConflicts: libldc-devel
|
||||
Requires(post):%{__install_info}
|
||||
Requires: %{name}-cpp = %{version}-%{release}
|
||||
Requires: libgcc >= %{version}-%{release}
|
||||
Requires: binutils >= 2.16.1
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||
|
||||
%description
|
||||
A compiler aimed at integrating all the optimizations and features necessary for a high-performance and stable development environment.
|
||||
@ -208,7 +191,7 @@ Provides: libgcc_s.so.1(GLIBC_2.0)
|
||||
%endif
|
||||
|
||||
%description -n libgcc
|
||||
The libgcc package contains GCC shared libraries for gcc %{gcc_branch}.
|
||||
The libgcc package contains GCC shared libraries for gcc.
|
||||
|
||||
#
|
||||
# Preprocessor
|
||||
@ -251,6 +234,10 @@ The library for dynamically linking programs is available separately.
|
||||
Summary: GNU C++ library
|
||||
Group: System/Libraries
|
||||
Provides: libstdc++
|
||||
%ifarch aarch64
|
||||
# Fake provide
|
||||
Provides: libquadmath
|
||||
%endif
|
||||
|
||||
%description -n %{libstdcxx_name}
|
||||
This package contains the GCC Standard C++ Library v3, an ongoing project to implement the ISO/IEC 14882:1998 Standard C++ library.
|
||||
@ -259,6 +246,10 @@ This package contains the GCC Standard C++ Library v3, an ongoing project to imp
|
||||
Summary: GNU C++ library development files
|
||||
Group: Development/Libraries
|
||||
Requires: %{libstdcxx_name} = %{version}-%{release}
|
||||
%ifarch aarch64
|
||||
# Fake provide
|
||||
Provides: libquadmath-devel
|
||||
%endif
|
||||
|
||||
%description -n %{libstdcxx_name}-devel
|
||||
This is the GNU implementation of the standard C++ libraries.
|
||||
@ -314,7 +305,8 @@ Summary: Fortran 95 support for gcc
|
||||
Group: Applications/Development
|
||||
Requires: libgfortran = %{version}-%{release}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Obsoletes: gcc-g77, gcc-gfortran
|
||||
Obsoletes: gcc-g77 < 10.3.0
|
||||
Obsoletes: gcc-gfortran < 10.3.0
|
||||
|
||||
%description fortran
|
||||
This package adds support for compiling Fortran 95 programs with the GNU compiler.
|
||||
@ -481,6 +473,21 @@ Requires: libasan = %{version}-%{release}
|
||||
%description -n libasan-devel
|
||||
This package contains static libraries and headers to be used for development.
|
||||
|
||||
%package -n libhwasan
|
||||
Summary: GCC HW address sanitizer runtime library
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libhwasan
|
||||
This package contains the GCC HW addess sanitizer runtime library.
|
||||
|
||||
%package -n libhwasan-devel
|
||||
Summary: libhwasan development libraries and headers
|
||||
Group: Development/Libraries
|
||||
Requires: libhwasan = %{version}-%{release}
|
||||
|
||||
%description -n libhwasan-devel
|
||||
This package contains static libraries and headers to be used for development.
|
||||
|
||||
%package -n liblsan
|
||||
Summary: GCC Leak Sanitizer runtime library
|
||||
Group: System/Libraries
|
||||
@ -572,7 +579,7 @@ Summary: Cross Platform gcc for %{_target_platform}
|
||||
Group: Development/Tools
|
||||
Requires: cross-%{_target_platform}-binutils
|
||||
%if "%{?stage1}" != "1"
|
||||
Obsoletes: cross-%{_target_platform}-%{name}-stage1
|
||||
Obsoletes: cross-%{_target_platform}-%{name}-stage1 <= %{version}
|
||||
%endif
|
||||
AutoReqProv: no
|
||||
|
||||
@ -583,7 +590,15 @@ Cross Platform gcc for %{_target_platform}.
|
||||
%debug_package
|
||||
%endif
|
||||
|
||||
# Don't clean build at the end
|
||||
%global __spec_rmbuild_cmd /bin/true
|
||||
|
||||
%prep
|
||||
#%if "%{git_commit_ver}" != "%{version}"
|
||||
#echo "Needed to update git commit for gcc %{version}"
|
||||
#exit 1
|
||||
#%endif
|
||||
|
||||
%setup -q -n gcc-%{version}%{?gcc_extraver}
|
||||
#-D -T
|
||||
#:<< ___EOF
|
||||
@ -592,18 +607,27 @@ Cross Platform gcc for %{_target_platform}.
|
||||
%define _build_id_links none
|
||||
%endif
|
||||
|
||||
%if "%{_target_platform}" != "%{_build}"
|
||||
%patch9 -p1
|
||||
%endif
|
||||
|
||||
# psignal_fix_bootstrap_build
|
||||
%patch11 -p1
|
||||
%patch 0 -p1
|
||||
|
||||
%ifarch arm
|
||||
# workaround for gcc-go
|
||||
cp libgo/go/internal/syscall/unix/{getrandom_linux_arm.go,dummy.go}
|
||||
%patch 1 -p1
|
||||
## workaround for gcc-go
|
||||
#cp libgo/go/internal/syscall/unix/{getrandom_linux_arm.go,dummy.go}
|
||||
cat >> libgo/go/internal/syscall/unix/dummy.go << __EOF
|
||||
|
||||
const (
|
||||
getrandomTrap uintptr = 384
|
||||
copyFileRangeTrap uintptr = 391
|
||||
)
|
||||
__EOF
|
||||
%endif
|
||||
|
||||
# Do not run fixincludes
|
||||
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
|
||||
|
||||
# 14.1.1: from Fedora, trying to fix aarch64 problems
|
||||
sed -i -e '/ldp_fusion/s/Init(1)/Init(0)/' gcc/config/aarch64/aarch64.opt
|
||||
|
||||
%build
|
||||
#:<< ____EOF
|
||||
rm -rf ../%{name}-build-%{_target_platform}
|
||||
@ -633,10 +657,7 @@ BUILD_LANGUAGES="${BUILD_LANGUAGES},go"
|
||||
|
||||
case %{_target_platform} in
|
||||
i386-*|i486-*|i586-*|i686-*|athlon-*)
|
||||
ADDITIONAL_OPTS="--with-arch=i686"
|
||||
;;
|
||||
ppc-* | powerpc-*)
|
||||
ADDITIONAL_OPTS=""
|
||||
ADDITIONAL_OPTS="--with-arch=pentium4"
|
||||
;;
|
||||
arm-*)
|
||||
abi=%{_target_platform}
|
||||
@ -659,6 +680,13 @@ case %{_target_platform} in
|
||||
ADDITIONAL_OPTS="--with-slibdir=$slibdir --enable-multilib"
|
||||
%endif
|
||||
;;
|
||||
aarch64-*)
|
||||
%if "%{_target_platform}" != "%{_host}"
|
||||
ADDITIONAL_OPTS="--with-slibdir=/usr/%{_target_platform}/lib64"
|
||||
%else
|
||||
ADDITIONAL_OPTS="--with-slibdir=$slibdir"
|
||||
%endif
|
||||
;;
|
||||
*)
|
||||
echo "Error: target not supported."
|
||||
exit 1
|
||||
@ -729,9 +757,6 @@ CROSS_SYSTEM_HEADER_DIR=/usr/%{_target_platform}/include \
|
||||
--x-libraries=%{_libdir} \
|
||||
--with-system-zlib \
|
||||
--with-isl \
|
||||
%if "%{?disable_jack}" == "1"
|
||||
--disable-dssi \
|
||||
%endif
|
||||
%if "%{_target_platform}" != "%{_host}"
|
||||
--enable-symvers=gnu \
|
||||
--disable-libsanitizer \
|
||||
@ -758,8 +783,9 @@ CROSS_SYSTEM_HEADER_DIR=/usr/%{_target_platform}/include \
|
||||
%endif
|
||||
|
||||
%else
|
||||
make %{?_smp_mflags} CFLAGS='-O -I/usr/include/freetype2' LIBCFLAGS='-g -O2' \
|
||||
LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap
|
||||
make %{?_smp_mflags} CFLAGS="%{optflags}" CXXFLAGS="%{optflags}"
|
||||
# CFLAGS='-O -I/usr/include/freetype2' LIBCFLAGS='-g -O2' \
|
||||
# LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap
|
||||
%endif
|
||||
|
||||
%if "%{target_cpu}" != "avr"
|
||||
@ -772,22 +798,22 @@ cd ../..
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%endif # stage1 = 1
|
||||
%endif
|
||||
|
||||
%install
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
[ "%{buildroot}" != "/" ] && rm -rf "%{buildroot}"
|
||||
|
||||
cd ../%{name}-build-%{_target_platform}
|
||||
make DESTDIR=%{buildroot} install
|
||||
|
||||
%if "%{_target_platform}" == "%{_host}"
|
||||
install -m644 libiberty/pic/libiberty.a %{buildroot}%{_libdir}/libiberty.a
|
||||
|
||||
# make target platform binaries symlinks to avoid binary duplicates
|
||||
for p in gcc-%{version} gcc gcc-ar gcc-nm gcc-ranlib c++ g++ gfortran; do
|
||||
rm -f %{buildroot}%{_bindir}/%{_target_platform}-$p
|
||||
done
|
||||
|
||||
ln -s gcc %{buildroot}%{_bindir}/%{_target_platform}-gcc-%{version}
|
||||
|
||||
for p in gcc gcc-ar gcc-nm gcc-ranlib cc gcov c++ g++ gfortran; do
|
||||
ln -s $p %{buildroot}%{_bindir}/%{_target_platform}-$p
|
||||
done
|
||||
@ -796,7 +822,7 @@ done
|
||||
mv %{buildroot}%{_bindir}/go %{buildroot}%{_bindir}/gcc-go
|
||||
|
||||
install -d -m755 %{buildroot}%{_libdir}/bfd-plugins
|
||||
ln -sf ../../libexec/gcc/%{_target_platform}/%{version}/liblto_plugin.so %{buildroot}%{_libdir}/bfd-plugins/
|
||||
ln -sf ../../libexec/gcc/%{_target_platform}/%{gcc_ver}/liblto_plugin.so %{buildroot}%{_libdir}/bfd-plugins/
|
||||
|
||||
# create symlinks
|
||||
# mkdir -p %{buildroot}/%{_lib}
|
||||
@ -827,6 +853,11 @@ mv %{buildroot}%{_libdir}/libstdc++.so.*-gdb.py %{buildroot}%{_datadir}/gdb/auto
|
||||
# fix for 32bit multilib build
|
||||
mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/lib32
|
||||
mv %{buildroot}%{_prefix}/lib32/libstdc++.so.*-gdb.py %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/lib32/
|
||||
# set /usr/lib32 for ldconfig
|
||||
install -d -m0755 %{buildroot}%{_sysconfdir}/ld.so.conf.d
|
||||
cat > %{buildroot}%{_sysconfdir}/ld.so.conf.d/lib32-gcc.conf << EOF
|
||||
/usr/lib32
|
||||
EOF
|
||||
%endif
|
||||
|
||||
(cd ../gcc-%{version}%{?gcc_extraver}
|
||||
@ -841,14 +872,15 @@ mv %{buildroot}%{_prefix}/lib32/libstdc++.so.*-gdb.py %{buildroot}%{_datadir}/gd
|
||||
#done)
|
||||
|
||||
# fix permissions
|
||||
#chmod 755 %{buildroot}/%{_lib}/libgcc_s.so.1
|
||||
chmod 755 %{buildroot}/%{_libdir}/libgcc_s.so.1
|
||||
#cp gcc/doc/*.pdf ../gcc-%{version}%{?gcc_extraver}/gcc/doc/
|
||||
|
||||
%else # target_platform != host
|
||||
%else
|
||||
# target_platform != host
|
||||
rm -rf %{buildroot}%{_infodir}/*
|
||||
rm -rf %{buildroot}%{_mandir}/man7/{fsf-funding.*,gfdl.*,gpl.*}
|
||||
rm -rf %{buildroot}%{_datadir}/locale/*
|
||||
rm -rf %{buildroot}%{_datadir}/gcc-%{version}/python/libstdcxx/*
|
||||
rm -rf %{buildroot}%{_datadir}/gcc-%{gcc_ver}/python/libstdcxx/*
|
||||
# FIXME: since 5.2.0
|
||||
rm -rf %{buildroot}%{_libdir}/libcc1.*
|
||||
%endif
|
||||
@ -863,32 +895,14 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
#find %{buildroot}%{_libdir}/gcc -name lib*.a -exec chmod -w {} \;
|
||||
#%endif
|
||||
|
||||
rm -f %{buildroot}%{_infodir}/dir
|
||||
|
||||
%ifarch aarch64
|
||||
rm -f %{buildroot}%{_infodir}/libquadmath.info*
|
||||
%endif
|
||||
|
||||
%clean
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
|
||||
%post -n libgcc -p /sbin/ldconfig
|
||||
%postun -n libgcc -p /sbin/ldconfig
|
||||
|
||||
%post -n %{libstdcxx_name} -p /sbin/ldconfig
|
||||
%postun -n %{libstdcxx_name} -p /sbin/ldconfig
|
||||
|
||||
%post -n libgdruntime -p /sbin/ldconfig
|
||||
%postun -n libgdruntime -p /sbin/ldconfig
|
||||
|
||||
%post -n libgfortran -p /sbin/ldconfig
|
||||
%postun -n libgfortran -p /sbin/ldconfig
|
||||
|
||||
%post -n libquadmath -p /sbin/ldconfig
|
||||
%postun -n libquadmath -p /sbin/ldconfig
|
||||
|
||||
%post -n libatomic -p /sbin/ldconfig
|
||||
%postun -n libatomic -p /sbin/ldconfig
|
||||
|
||||
%post -n libasan -p /sbin/ldconfig
|
||||
%postun -n libasan -p /sbin/ldconfig
|
||||
|
||||
%post -n liblsan -p /sbin/ldconfig
|
||||
%postun -n liblsan -p /sbin/ldconfig
|
||||
[ "%{buildroot}" != "/" ] && rm -rf "%{buildroot}"
|
||||
|
||||
%post doc
|
||||
%install_info cppinternals.info
|
||||
@ -924,59 +938,49 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
%{_bindir}/gcov
|
||||
%{_bindir}/gcov-dump
|
||||
%{_bindir}/gcov-tool
|
||||
%{_bindir}/lto-dump
|
||||
%{_bindir}/%{_target_platform}-cc
|
||||
%{_bindir}/%{_target_platform}-gcc-%{version}
|
||||
%{_bindir}/%{_target_platform}-gcc
|
||||
%{_bindir}/%{_target_platform}-gcc-ar
|
||||
%{_bindir}/%{_target_platform}-gcc-nm
|
||||
%{_bindir}/%{_target_platform}-gcc-ranlib
|
||||
%{_bindir}/%{_target_platform}-gcov
|
||||
%{_bindir}/%{_target_platform}-gcc-%{gcc_ver}
|
||||
%dir %{_libdir}/gcc
|
||||
%{_libdir}/gcc/*
|
||||
%ifarch x86_64
|
||||
%exclude %{_libdir}/gcc/%{_target_platform}/%{version}/32/*
|
||||
%ifarch x86_64 aarch64
|
||||
%exclude %{_libdir}/gcc/%{_target_platform}/%{gcc_ver}/32/*
|
||||
%endif
|
||||
%dir %{_prefix}/libexec/gcc/%{_target_platform}/%{version}
|
||||
%{_prefix}/libexec/gcc/%{_target_platform}/%{version}/*
|
||||
%dir %{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_ver}
|
||||
%{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_ver}/*
|
||||
%{_libdir}/bfd-plugins/liblto_plugin.so
|
||||
%{_datadir}/gcc-%{version}/python/libstdcxx/__init__.py
|
||||
%{_datadir}/gcc-%{version}/python/libstdcxx/v6/__init__.py
|
||||
%{_datadir}/gcc-%{version}/python/libstdcxx/v6/printers.py
|
||||
%{_mandir}/man1/gcc.1.*
|
||||
%{_mandir}/man1/gcov.1.*
|
||||
%{_mandir}/man1/gcov-dump.1.*
|
||||
%{_mandir}/man1/gcov-tool.1.*
|
||||
%{_mandir}/man1/lto-dump.1*
|
||||
%{_mandir}/man7/fsf-funding.7.*
|
||||
%{_mandir}/man7/gfdl.7.*
|
||||
%{_mandir}/man7/gpl.7.*
|
||||
%doc gcc/{README*,*ChangeLog*}
|
||||
%exclude %{_libdir}/gcc/%{_target_platform}/%{version}/include/objc
|
||||
%exclude %{_libdir}/gcc/%{_target_platform}/%{version}/include/ssp
|
||||
%exclude %{_libdir}/gcc/%{_target_platform}/%{gcc_ver}/include/objc
|
||||
%exclude %{_libdir}/gcc/%{_target_platform}/%{gcc_ver}/include/ssp
|
||||
|
||||
%files -n libgcc
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libgcc*
|
||||
%ifarch ppc
|
||||
%{_libdir}/nof/libgcc*
|
||||
%endif
|
||||
|
||||
%files cpp -f cpplib.lang
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/cpp
|
||||
%{_bindir}/cpp
|
||||
%{_mandir}/man1/cpp.1*
|
||||
#%if "%{_target_platform}" == "%{_build}"
|
||||
#%{_infodir}/cp-tools.info.*
|
||||
#%endif
|
||||
|
||||
%files -n libiberty-devel
|
||||
%defattr(-,root,root)
|
||||
%dir %{_includedir}/libiberty
|
||||
%{_includedir}/libiberty/*.h
|
||||
%{_libdir}/libiberty.a
|
||||
#%{_prefix}/%{_target_platform}/%{_lib}/libiberty.a
|
||||
#%{_libdir}/nof/libiberty.a
|
||||
#%{_prefix}/%{_target_platform}/%{_lib}/nof/libiberty.a
|
||||
|
||||
%files -n libcc1
|
||||
%defattr(-,root,root)
|
||||
@ -984,7 +988,6 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
|
||||
%files -n libcc1-devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libcc1.la
|
||||
%{_libdir}/libcc1.so
|
||||
|
||||
%files -n libitm
|
||||
@ -994,7 +997,6 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
%files -n libitm-devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libitm.a
|
||||
%{_libdir}/libitm.la
|
||||
%{_libdir}/libitm.so
|
||||
%{_libdir}/libitm.spec
|
||||
%{_infodir}/libitm.info.gz
|
||||
@ -1002,92 +1004,66 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
%files -n libgomp
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libgomp.so.*
|
||||
#%{_libdir}/libgomp-plugin-host_nonshm.so.*
|
||||
%ifarch ppc
|
||||
%{_libdir}/nof/libgomp.so.*
|
||||
%endif
|
||||
|
||||
%files -n libgomp-devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libgomp.a
|
||||
%{_libdir}/libgomp.la
|
||||
%{_libdir}/libgomp.so
|
||||
#%{_libdir}/libgomp-plugin-host_nonshm.la
|
||||
#%{_libdir}/libgomp-plugin-host_nonshm.so
|
||||
%{_libdir}/libgomp.spec
|
||||
%ifarch ppc
|
||||
%{_libdir}/nof/libgomp.a
|
||||
%{_libdir}/nof/libgomp.la
|
||||
%{_libdir}/nof/libgomp.so
|
||||
%{_libdir}/nof/libgomp.spec
|
||||
%endif
|
||||
%{_datadir}/info/libgomp.info.gz
|
||||
|
||||
%files -n libobjc
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libobjc.so.*
|
||||
%ifarch ppc
|
||||
%{_libdir}/nof/libobjc.so.*
|
||||
%endif
|
||||
|
||||
%files -n libobjc-devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libobjc.a
|
||||
%{_libdir}/libobjc.la
|
||||
%{_libdir}/libobjc.so
|
||||
%ifarch ppc
|
||||
%{_libdir}/nof/libobjc.a
|
||||
%{_libdir}/nof/libobjc.la
|
||||
%{_libdir}/nof/libobjc.so
|
||||
%endif
|
||||
%dir %{_libdir}/gcc/%{_target_platform}/%{version}/include/objc
|
||||
%{_libdir}/gcc/%{_target_platform}/%{version}/include/objc/*
|
||||
%dir %{_libdir}/gcc/%{_target_platform}/%{gcc_ver}/include/objc
|
||||
%{_libdir}/gcc/%{_target_platform}/%{gcc_ver}/include/objc/*
|
||||
|
||||
%files -n libssp
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libssp.so.*
|
||||
%ifarch ppc
|
||||
%{_libdir}/nof/libssp.so.*
|
||||
%endif
|
||||
|
||||
%files -n libssp-devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libssp.a
|
||||
%{_libdir}/libssp.la
|
||||
%{_libdir}/libssp.so
|
||||
%{_libdir}/libssp_nonshared.a
|
||||
%{_libdir}/libssp_nonshared.la
|
||||
%ifarch ppc
|
||||
%{_libdir}/nof/libssp.a
|
||||
%{_libdir}/nof/libssp.la
|
||||
%{_libdir}/nof/libssp.so
|
||||
%{_libdir}/nof/libssp_nonshared.a
|
||||
%{_libdir}/nof/libssp_nonshared.la
|
||||
%endif
|
||||
%dir %{_libdir}/gcc/%{_target_platform}/%{version}/include/ssp
|
||||
%{_libdir}/gcc/%{_target_platform}/%{version}/include/ssp/*
|
||||
%dir %{_libdir}/gcc/%{_target_platform}/%{gcc_ver}/include/ssp
|
||||
%{_libdir}/gcc/%{_target_platform}/%{gcc_ver}/include/ssp/*
|
||||
|
||||
%files -n libasan
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libasan.so.*
|
||||
%ifarch x86_64
|
||||
%ifarch x86_64 aarch64
|
||||
%{_libdir}/libtsan.so.*
|
||||
%endif
|
||||
|
||||
%files -n libasan-devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libasan.a
|
||||
%{_libdir}/libasan.la
|
||||
%{_libdir}/libasan.so
|
||||
%{_libdir}/libasan_preinit.o
|
||||
%ifarch x86_64
|
||||
%ifarch x86_64 aarch64
|
||||
%{_libdir}/libtsan.a
|
||||
%{_libdir}/libtsan.la
|
||||
%{_libdir}/libtsan.so
|
||||
%{_libdir}/libtsan_preinit.o
|
||||
%endif
|
||||
|
||||
%ifarch x86_64
|
||||
%ifarch aarch64 x86_64
|
||||
%files -n libhwasan
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libhwasan.so.*
|
||||
|
||||
%files -n libhwasan-devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libhwasan.a
|
||||
%{_libdir}/libhwasan.so
|
||||
%{_libdir}/libhwasan_preinit.o
|
||||
|
||||
%files -n liblsan
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/liblsan.so.*
|
||||
@ -1095,7 +1071,6 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
%files -n liblsan-devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/liblsan.a
|
||||
%{_libdir}/liblsan.la
|
||||
%{_libdir}/liblsan.so
|
||||
%{_libdir}/liblsan_preinit.o
|
||||
%endif
|
||||
@ -1107,37 +1082,8 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
%files -n libatomic-devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libatomic.a
|
||||
%{_libdir}/libatomic.la
|
||||
%{_libdir}/libatomic.so
|
||||
|
||||
#%files -n libcilkrts
|
||||
#%defattr(-,root,root)
|
||||
#%{_libdir}/libcilkrts.so.*
|
||||
|
||||
#%files -n libcilkrts-devel
|
||||
#%defattr(-,root,root)
|
||||
#%{_libdir}/libcilkrts.a
|
||||
#%{_libdir}/libcilkrts.la
|
||||
#%{_libdir}/libcilkrts.so
|
||||
#%{_libdir}/libcilkrts.spec
|
||||
|
||||
#%ifnarch arm
|
||||
#%files -n libmpx
|
||||
#%defattr(-,root,root)
|
||||
#%{_libdir}/libmpx.so.*
|
||||
#%{_libdir}/libmpxwrappers.so.*
|
||||
#
|
||||
#%files -n libmpx-devel
|
||||
#%defattr(-,root,root)
|
||||
#%{_libdir}/libmpx.a
|
||||
#%{_libdir}/libmpx.la
|
||||
#%{_libdir}/libmpx.so
|
||||
#%{_libdir}/libmpx.spec
|
||||
#%{_libdir}/libmpxwrappers.a
|
||||
#%{_libdir}/libmpxwrappers.la
|
||||
#%{_libdir}/libmpxwrappers.so
|
||||
#%endif
|
||||
|
||||
%files -n libubsan
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libubsan.so.*
|
||||
@ -1145,40 +1091,30 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
%files -n libubsan-devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libubsan.a
|
||||
%{_libdir}/libubsan.la
|
||||
%{_libdir}/libubsan.so
|
||||
%{_libdir}/libsanitizer.spec
|
||||
|
||||
#%files -n libvtv
|
||||
#%defattr(-,root,root)
|
||||
#%{_libdir}/libvtv.so.*
|
||||
|
||||
#%files -n libvtv-devel
|
||||
#%defattr(-,root,root)
|
||||
#%{_libdir}/libvtv.a
|
||||
#%{_libdir}/libvtv.la
|
||||
#%{_libdir}/libvtv.so
|
||||
|
||||
%if "%{disable_cpp}" != "1"
|
||||
#
|
||||
# C++ language
|
||||
#
|
||||
%files c++
|
||||
# NOTE: libstdc++.lang moved here to prevent x86 biarch conflict of libstdc++6
|
||||
%files c++ -f libstdc++.lang
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/c++
|
||||
%{_bindir}/g++
|
||||
%{_bindir}/%{_target_platform}-c++
|
||||
%{_bindir}/%{_target_platform}-g++
|
||||
%{_datadir}/gcc-%{version}/python/libstdcxx/v6/xmethods.py
|
||||
%{_mandir}/man1/g++.1.*
|
||||
#%doc gcc/cp/ChangeLog*
|
||||
|
||||
%files -n %{libstdcxx_name} -f libstdc++.lang
|
||||
%files -n %{libstdcxx_name}
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libstdc++.so.*
|
||||
%ifarch ppc
|
||||
%{_libdir}/nof/libstdc++.so.*
|
||||
%endif
|
||||
%dir %{_datadir}/gcc-%{gcc_ver}/python/libstdcxx
|
||||
%{_datadir}/gcc-%{gcc_ver}/python/libstdcxx/__init__.py
|
||||
%dir %{_datadir}/gcc-%{gcc_ver}/python/libstdcxx/v6
|
||||
%{_datadir}/gcc-%{gcc_ver}/python/libstdcxx/v6/*.py
|
||||
|
||||
%files -n %{libstdcxx_name}-debug
|
||||
%defattr(-,root,root)
|
||||
@ -1186,19 +1122,15 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
|
||||
%files -n %{libstdcxx_name}-devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libstdc++.*a
|
||||
%{_libdir}/libstdc++.a
|
||||
%{_libdir}/libstdc++exp.a
|
||||
%{_libdir}/libstdc++.so
|
||||
%{_libdir}/libsupc++.*a
|
||||
%{_libdir}/libstdc++fs.*a
|
||||
%ifarch ppc
|
||||
%{_libdir}/nof/libstdc++.*a
|
||||
%{_libdir}/nof/libstdc++.so
|
||||
%{_libdir}/nof/libsupc++.*a
|
||||
%endif
|
||||
%{_libdir}/libsupc++.a
|
||||
%{_libdir}/libstdc++fs.a
|
||||
%dir %{_includedir}/c++
|
||||
%{_includedir}/c++/*
|
||||
#%doc libstdc++-v3/{ChangeLog*,README*,doc/html/}
|
||||
%endif "%{disable_cpp}
|
||||
%endif
|
||||
|
||||
#
|
||||
# D language
|
||||
@ -1208,10 +1140,8 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
%{_bindir}/gdc
|
||||
%{_bindir}/%{_target_platform}-gdc
|
||||
%{_libdir}/libgdruntime.a
|
||||
%{_libdir}/libgdruntime.la
|
||||
%{_libdir}/libgdruntime.so
|
||||
%{_libdir}/libgphobos.a
|
||||
%{_libdir}/libgphobos.la
|
||||
%{_libdir}/libgphobos.so
|
||||
%{_libdir}/libgphobos.spec
|
||||
%{_infodir}/gdc.info*
|
||||
@ -1231,26 +1161,16 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
%{_bindir}/gfortran
|
||||
%{_bindir}/%{_target_platform}-gfortran
|
||||
%{_libdir}/libgfortran.a
|
||||
%{_libdir}/libgfortran.la
|
||||
%{_libdir}/libgfortran.so
|
||||
%{_libdir}/libgfortran.spec
|
||||
%ifarch ppc
|
||||
%{_libdir}/nof/libgfortran.a
|
||||
%{_libdir}/nof/libgfortran.la
|
||||
%{_libdir}/nof/libgfortran.so
|
||||
%endif
|
||||
%{_mandir}/man1/gfortran.1.*
|
||||
#%doc gcc/fortran/ChangeLog
|
||||
|
||||
%files -n libgfortran
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libgfortran.so.*
|
||||
%ifarch ppc
|
||||
%{_libdir}/nof/libgfortran.so.*
|
||||
%endif
|
||||
%endif # disable_fortran != 1
|
||||
|
||||
%ifnarch arm
|
||||
%ifnarch arm aarch64
|
||||
%files -n libquadmath
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libquadmath.so.*
|
||||
@ -1258,7 +1178,6 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
%files -n libquadmath-devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libquadmath.a
|
||||
%{_libdir}/libquadmath.la
|
||||
%{_libdir}/libquadmath.so
|
||||
%endif
|
||||
|
||||
@ -1280,17 +1199,15 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
%files -n libgo
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libgo.so.*
|
||||
%dir %{_libdir}/go/%{version}/%{_target_platform}
|
||||
%{_libdir}/go/%{version}/%{_target_platform}/*
|
||||
%dir %{_libdir}/go/%{gcc_ver}/%{_target_platform}
|
||||
%{_libdir}/go/%{gcc_ver}/%{_target_platform}/*
|
||||
|
||||
%files -n libgo-devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libgo.a
|
||||
%{_libdir}/libgo.la
|
||||
%{_libdir}/libgo.so
|
||||
%{_libdir}/libgobegin.a
|
||||
%{_libdir}/libgolibbegin.a
|
||||
#%{_libdir}/libnetgo.a
|
||||
%endif
|
||||
|
||||
%files doc
|
||||
@ -1306,14 +1223,9 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
#%doc gcc/doc/gfortran.pdf
|
||||
%endif
|
||||
%endif
|
||||
%ifnarch aarch64
|
||||
%{_infodir}/libquadmath.info.*
|
||||
%if "%{disable_doc}" != "1"
|
||||
#%doc gcc/doc/cpp.pdf
|
||||
#%doc gcc/doc/cppinternals.pdf
|
||||
#%doc gcc/doc/gccinstall.pdf
|
||||
#%doc gcc/doc/gcc.pdf
|
||||
#%doc gcc/doc/gccint.pdf
|
||||
%endif # "%{disable_doc}" != "1"
|
||||
%endif
|
||||
|
||||
#
|
||||
# Multilib
|
||||
@ -1321,30 +1233,29 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
%ifarch x86_64
|
||||
%files -n gcc-multilib
|
||||
%defattr(-,root,root)
|
||||
%dir %{_libdir}/gcc/%{_target_platform}/%{version}/32
|
||||
%{_libdir}/gcc/%{_target_platform}/%{version}/32/*
|
||||
%{_sysconfdir}/ld.so.conf.d/lib32-gcc.conf
|
||||
%dir %{_libdir}/gcc/%{_target_platform}/%{gcc_ver}/32
|
||||
%{_libdir}/gcc/%{_target_platform}/%{gcc_ver}/32/*
|
||||
%{_prefix}/lib32/libgcc_s.so
|
||||
%{_prefix}/lib32/libgcc_s.so.1
|
||||
#
|
||||
%{_prefix}/lib32/libstdc++.*a
|
||||
%{_prefix}/lib32/libstdc++exp.a
|
||||
%{_prefix}/lib32/libstdc++.so
|
||||
%{_prefix}/lib32/libstdc++.so.*
|
||||
%{_prefix}/lib32/libstdc++fs.*a
|
||||
#
|
||||
%{_prefix}/lib32/libasan.a
|
||||
%{_prefix}/lib32/libasan.la
|
||||
%{_prefix}/lib32/libasan.so
|
||||
%{_prefix}/lib32/libasan.so.*
|
||||
%{_prefix}/lib32/libasan_preinit.o
|
||||
%{_prefix}/lib32/libatomic.a
|
||||
%{_prefix}/lib32/libatomic.la
|
||||
%{_prefix}/lib32/libatomic.so
|
||||
%{_prefix}/lib32/libatomic.so.*
|
||||
#
|
||||
# gfortran
|
||||
#
|
||||
%{_prefix}/lib32/libgfortran.a
|
||||
%{_prefix}/lib32/libgfortran.la
|
||||
%{_prefix}/lib32/libgfortran.so
|
||||
%{_prefix}/lib32/libgfortran.so.*
|
||||
%{_prefix}/lib32/libgfortran.spec
|
||||
@ -1352,73 +1263,44 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
# go
|
||||
#
|
||||
%dir %{_prefix}/lib32/go
|
||||
%dir %{_prefix}/lib32/go/%{version}
|
||||
%dir %{_prefix}/lib32/go/%{version}/%{_target_platform}
|
||||
%{_prefix}/lib32/go/%{version}/%{_target_platform}/*
|
||||
%dir %{_prefix}/lib32/go/%{gcc_ver}
|
||||
%dir %{_prefix}/lib32/go/%{gcc_ver}/%{_target_platform}
|
||||
%{_prefix}/lib32/go/%{gcc_ver}/%{_target_platform}/*
|
||||
%{_prefix}/lib32/libgo.a
|
||||
%{_prefix}/lib32/libgo.la
|
||||
%{_prefix}/lib32/libgo.so
|
||||
%{_prefix}/lib32/libgo.so.*
|
||||
%{_prefix}/lib32/libgobegin.a
|
||||
%{_prefix}/lib32/libgolibbegin.a
|
||||
#%{_prefix}/lib/libnetgo.a
|
||||
#
|
||||
#
|
||||
#
|
||||
%{_prefix}/lib32/libgomp.a
|
||||
%{_prefix}/lib32/libgomp.la
|
||||
%{_prefix}/lib32/libgomp.so
|
||||
%{_prefix}/lib32/libgomp.so.*
|
||||
%{_prefix}/lib32/libgomp.spec
|
||||
#%{_prefix}/lib/libgomp-plugin-host_nonshm.la
|
||||
#%{_prefix}/lib/libgomp-plugin-host_nonshm.so
|
||||
#%{_prefix}/lib/libgomp-plugin-host_nonshm.so.*
|
||||
/usr/lib32/libitm.a
|
||||
/usr/lib32/libitm.la
|
||||
/usr/lib32/libitm.so
|
||||
/usr/lib32/libitm.so.*
|
||||
/usr/lib32/libitm.spec
|
||||
#/usr/lib/libmpx*.a
|
||||
#/usr/lib/libmpx*.la
|
||||
#/usr/lib/libmpx*.so
|
||||
#/usr/lib/libmpx*.so.*
|
||||
#/usr/lib/libmpx.spec
|
||||
/usr/lib32/libobjc.a
|
||||
/usr/lib32/libobjc.la
|
||||
/usr/lib32/libobjc.so
|
||||
/usr/lib32/libobjc.so.*
|
||||
/usr/lib32/libssp.a
|
||||
/usr/lib32/libssp.la
|
||||
/usr/lib32/libssp.so
|
||||
/usr/lib32/libssp.so.*
|
||||
/usr/lib32/libssp_nonshared.a
|
||||
/usr/lib32/libssp_nonshared.la
|
||||
/usr/lib32/libsupc++.a
|
||||
/usr/lib32/libsupc++.la
|
||||
#/usr/lib/libcilkrts.a
|
||||
#/usr/lib/libcilkrts.la
|
||||
#/usr/lib/libcilkrts.so
|
||||
#/usr/lib/libcilkrts.so.*
|
||||
#/usr/lib/libcilkrts.spec
|
||||
/usr/lib32/libquadmath.a
|
||||
/usr/lib32/libquadmath.la
|
||||
/usr/lib32/libquadmath.so
|
||||
/usr/lib32/libquadmath.so.*
|
||||
/usr/lib32/libsanitizer.spec
|
||||
/usr/lib32/libubsan.a
|
||||
/usr/lib32/libubsan.la
|
||||
/usr/lib32/libubsan.so
|
||||
/usr/lib32/libubsan.so.*
|
||||
#/usr/lib/libvtv.a
|
||||
#/usr/lib/libvtv.la
|
||||
#/usr/lib/libvtv.so
|
||||
#/usr/lib/libvtv.so.*
|
||||
%{_prefix}/lib32/libgdruntime.a
|
||||
%{_prefix}/lib32/libgdruntime.la
|
||||
%{_prefix}/lib32/libgdruntime.so
|
||||
%{_prefix}/lib32/libgdruntime.so.*
|
||||
%{_prefix}/lib32/libgphobos.a
|
||||
%{_prefix}/lib32/libgphobos.la
|
||||
%{_prefix}/lib32/libgphobos.so
|
||||
%{_prefix}/lib32/libgphobos.so.*
|
||||
%{_prefix}/lib32/libgphobos.spec
|
||||
@ -1441,27 +1323,71 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
|
||||
%{_prefix}/%{_target_platform}/lib/*
|
||||
%endif
|
||||
%endif
|
||||
#%{_prefix}/%{_target_platform}/%{_lib}/libgfortran.a
|
||||
#%{_prefix}/%{_target_platform}/%{_lib}/libgfortran.la
|
||||
#%{_prefix}/%{_target_platform}/%{_lib}/libobjc.a
|
||||
#%{_prefix}/%{_target_platform}/%{_lib}/libobjc.la
|
||||
%if "%{target_cpu}" == "ppc"
|
||||
%{_prefix}/%{_target_platform}/%{_lib}/nof/libgfortran.a
|
||||
%{_prefix}/%{_target_platform}/%{_lib}/nof/libgfortran.la
|
||||
%{_prefix}/%{_target_platform}/%{_lib}/nof/libobjc.a
|
||||
%{_prefix}/%{_target_platform}/%{_lib}/nof/libobjc.la
|
||||
%endif
|
||||
%endif
|
||||
%{_libdir}/gcc/%{_target_platform}/%{version}/*
|
||||
%{_libdir}/gcc/%{_target_platform}/%{gcc_ver}/*
|
||||
%if "%{target_cpu}" == "x86_64"
|
||||
%{_libexecdir}/gcc/%{_target_platform}/%{version}/*
|
||||
%{_libexecdir}/gcc/%{_target_platform}/%{gcc_ver}/*
|
||||
%else
|
||||
%{_prefix}/libexec/gcc/%{_target_platform}/%{version}/*
|
||||
%{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_ver}/*
|
||||
%endif
|
||||
%{_mandir}/man1/%{_target_platform}-*
|
||||
%endif # cross-platform
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Sep 09 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 14.2.1+20240909git.3951efed-1mamba
|
||||
- update to 14.2.1+20240909git.3951efed
|
||||
|
||||
* Tue Aug 13 2024 Automatic Build System <autodist@openmamba.org> 14.2.0-1mamba
|
||||
- automatic version update by autodist
|
||||
|
||||
* Mon Jun 17 2024 Automatic Build System <autodist@openmamba.org> 14.1.1.20240615git.a4f8e9e-1mamba
|
||||
- update to 14.1.1.20240615git.a4f8e9e
|
||||
|
||||
* Thu May 09 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 14.1.0-1mamba
|
||||
- update to 14.1.0
|
||||
|
||||
* Thu Aug 10 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 13.2.0-1mamba
|
||||
- update to 13.2.0
|
||||
|
||||
* Tue Jun 20 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 13.1.1-2mamba
|
||||
- libgomp: patch to workaround environ null pointer in initialize_env
|
||||
|
||||
* Sat Jun 17 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 13.1.1-1mamba
|
||||
- update to 13.1.1
|
||||
|
||||
* Sat Jun 10 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 13.1.0-1mamba
|
||||
- update to 13.1.0
|
||||
|
||||
* Thu Sep 29 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 12.2.0-2mamba
|
||||
- gcc-multilib: add /usr/lib32 to ldconfig paths
|
||||
|
||||
* Sun Aug 21 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 12.2.0-1mamba
|
||||
- update to 12.2.0
|
||||
|
||||
* Thu Apr 28 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 11.3.0-1mamba
|
||||
- update to 11.3.0
|
||||
|
||||
* Wed Jul 28 2021 Automatic Build System <autodist@mambasoft.it> 11.2.0-1mamba
|
||||
- automatic version update by autodist
|
||||
|
||||
* Thu Apr 29 2021 Automatic Build System <autodist@mambasoft.it> 11.1.0-1mamba
|
||||
- automatic version update by autodist
|
||||
|
||||
* Fri Jul 24 2020 Automatic Build System <autodist@mambasoft.it> 10.2.0-1mamba
|
||||
- automatic version update by autodist
|
||||
|
||||
* Mon Jun 08 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 10.1.0-2mamba
|
||||
- arm: added patch to provide futex atomic functions _M_futex_notify_all and _M_futex_wait_until (armv7)
|
||||
|
||||
* Mon May 11 2020 Automatic Build System <autodist@mambasoft.it> 10.1.0-1mamba
|
||||
- automatic version update by autodist
|
||||
|
||||
* Fri Mar 13 2020 Automatic Build System <autodist@mambasoft.it> 9.3.0-1mamba
|
||||
- automatic version update by autodist
|
||||
|
||||
* Sat Feb 29 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 9.2.0-4mamba
|
||||
- install libiberty.a with pic support
|
||||
|
||||
* Thu Dec 05 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 9.2.0-3mamba
|
||||
- added add and d languages; added --enable-cet=auto and more options
|
||||
|
||||
|
@ -1,25 +0,0 @@
|
||||
--- libjava/configure.ac.jj 2004-08-16 21:13:29.000000000 +0200
|
||||
+++ libjava/configure.ac 2004-08-21 11:44:59.020755542 +0200
|
||||
@@ -367,6 +367,10 @@ use_gtk_awt=""
|
||||
TOOLKIT=
|
||||
AC_SUBST(TOOLKIT)
|
||||
|
||||
+if test -n "${with_multisubdir}"; then
|
||||
+ peerlibs=no
|
||||
+fi
|
||||
+
|
||||
for peer in $peerlibs ; do
|
||||
case $peer in
|
||||
xlib)
|
||||
--- libjava/configure.jj 2004-08-16 21:22:14.000000000 +0200
|
||||
+++ libjava/configure 2004-08-21 11:45:16.260738060 +0200
|
||||
@@ -4118,6 +4118,9 @@ use_gtk_awt=""
|
||||
# The default toolkit to use is the first one specified.
|
||||
TOOLKIT=
|
||||
|
||||
+if test -n "${with_multisubdir}"; then
|
||||
+ peerlibs=no
|
||||
+fi
|
||||
|
||||
for peer in $peerlibs ; do
|
||||
case $peer in
|
Reference in New Issue
Block a user