60

BlueSilk
: donc là je suis sûr d'où vient le pb.

UPX tout seul n'est pas le problème, ça marche très bien chez plein de gens. Ça doit être un conflit de UPX avec autre chose.
Au fait, Kevin, quelles sont les modifications apportées aux programmes GNU ?

Plein. Il y a les changelogs dans les sources de TIGCC.
Si j'ai bien compris une doc du site, actuellement vous n'avez pas modifié as, ld et ar

Faux. Nous avons complètement jeté ld et ar (remplacés par ld-tigcc et ar-tigcc), et as est patché (avec un patch de 25 KO).
et gcc a seulement été allégé

Faux, nous lui appliquons un patch de 222 KO.
et donc une version configurée sous cygwin devrait marcher aussi bien non ?

Non, elle ne marchera pas du tout.
De plus en tombant sur une extension .cpp, gcc cherche à appeler g++.
Je me demandais si pour adapter du C++, il *suffirait* de configurer g++ sous Cygwin
pour une cible 68k, de le placer dans le répertoire /bin avec les autres progs,
d'adapter les headers (ifdef _cplusplus, extern "C" ?) et de compiler en ligne de commande pour faire du C++ sur TI ?

Non. Si c'était aussi simple, ça aurait été fait depuis longtemps.
Et puis bonne chance pour adapter les headers, ils ne ressemblent même pas à du C++ (cf. les macros de partout), et ils ne sont clairement pas faits pour programmer en C++.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

61

BlueSilk :
lol ce que je me demande c'est la modif du prog...
Après la prog TI, les headers, les symboles et tout faut voir...
Mais ce que je me demande c'est si les outils sont simplement les officiels
configurés pour 68k, et qui arrivent à compiler sur TI _seulement_ grâce au
patcher de sources, à obj2ti intervenant en plus, OU bien si les outils GNU ont été modifiés
(ce que je ne pense pas, mais il faut en être sûr cheeky)

Les outils GNU ont été très fortement modifiés.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

62

Voilà le changelog de notre GCC:
Changelog of the TIGCC-local changes to GCC (3.3 branch):

2004-01-04  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* cppdefaults.c (struct cpp_include_defaults): Disable hardcoded prefixes.
	    (GCC_INCLUDE_DIR, GCC_INCLUDE_DIR_LEN): Disable hardcoded prefix.
	* gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX, TOOLDIR_BASE_PREFIX,
	         STANDARD_BINDIR_PREFIX, standard_exec_prefix, standard_exec_prefix_1,
	         md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1,
	         standard_startfile_prefix, standard_startfile_prefix_1,
	         standard_startfile_prefix_2, tooldir_base_prefix, tooldir_prefix,
	         standard_bindir_prefix): Disable.
	    (struct static_specs): Disable md_exec_prefix, md_startfile_prefix,
	                           md_startfile_prefix_1 and startfile_prefix_spec.
	    (int warn_std_ptr): Disable unused variable.
	    (process_command): Don't use environment variables. Don't hardcode any prefix at
	                       compile time.
	    (main): Likewise.

2003-12-28  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* unroll.c (loop_iterations): Subtract 1 from n_iterations in unrotated (-Os) loop.
            Optimize case where n_iterations ends up 0 after subtracting 1 by deleting the loop.

2003-11-24  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3.1-pre25 released as part of TIGCC 0.95 Beta 4.

2003-11-16  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* real.c (bcdppmul): Handle resultl carry greater than 1 (if->while). Add sanity check.
	  (bcdmul) Unswap operands for the neg*pos case.
	  (bcddiv) Unswap operands for the neg/pos case.

2003-10-26  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3.1-pre24 released as part of TIGCC 0.95 Beta 3.

2003-10-25  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* real.c (bcdpdroplast): Remove.
          (bcdpadd1ulp): New function.
          (bcdppadd): Don't use bcdpdroplast. Do the rounding at the end, using bcdpadd1ulp.
          (bcdpnorm): Remove. Inline into bcdppsub.
          (bcdppsub): Don't use bcdpdroplast. Do the rounding at the end, during normalization.
                      Also handle extra digits there. Don't use bcdpnorm.

	* real.c (bcdppadd): Avoid shift count overflow.
	  (bcdppsub): Likewise.

2003-10-21  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3.1-pre23 prepared for release (but not released).

2003-10-21  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* real.c (bcdppmul): Fix exponent off-by-one.
	  (bcdppdiv): Fix typo in multiplication of divisor by 2^56.
	              Add missing reinitialization of factor in loop to compute divisorl.
	              Fix off-by-one when checking if the divisor fits (need <=, not <).

2003-10-19  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3.1-pre22b released as part of TIGCC 0.95 Beta 2 r1 for *nix

2003-10-19  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* real.c (bcdppadd, bcdppsub, bcdppmul, bcdppdiv): Don't initialize a structure with a
	    non-constant initializer, GCC 2 doesn't like that.

2003-10-12  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3.1-pre22a released as part of TIGCC 0.95 Beta 2

2003-10-12  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* toplev.c (flag_zero_initialized_in_bss): Make default off.

2003-10-12  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3.1-pre22 prepared for release (but not released).

2003-10-12  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* real.c (bcdppmul, bcdmul, bcdppdiv, bcddiv): New static functions.
          (real_arithmetic): Use bcdmul for multiplication and bcddiv for division. Drop obsolete
                             hack using host floating point.
          (exact_real_inverse): Use bcddiv for the division. Only do the optimization if the
                                inverse actually _is_ exact.
	* config/smapbcd.h (ZERO, UNSIGNED_ZERO, POSITIVE_ZERO, NEGATIVE_ZERO, UNSIGNED_INF,
                            POSITIVE_INF, NEGATIVE_INF, NAN, REAL_VALUES_LESS, REAL_VALUE_LDEXP,
                            REAL_VALUE_UNSIGNED_FIX, REAL_VALUE_RNDZINT, REAL_VALUE_DTOF,
                            REAL_VALUE_HTOF, REAL_VALUE_NEGATE): Add __extension__ to shut up
                                                                 some -pedantic warnings.
          (MODE_HAS_NANS, MODE_HAS_INFINITIES, MODE_HAS_SIGNED_ZEROS): Define.
	* Revert local patches merged 2002-12-26:
		* toplev.c: Include setjmp.h.
		  (float_signal): Revert removal.
		  (float_handler_set, float_handled, float_handler): Likewise.
		  (set_float_handler): Likewise.
		  (general_init): Set SIGFPE to float_handler, not crash_handler.
		* toplev.h (set_float_handler): Add prototype.

2003-10-11  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* Revert local patches merged 2002-12-26:
		* fold-const.c (const_binop): Don't use REAL_ARITHMETIC.
		* tree.h (struct real_value): Disable.
		  (struct smap_bcd_float): Declare.
		  (TREE_REAL_CST): Add cast to (REAL_VALUE_TYPE *) to convert struct smap_bcd_float
		                   to the typedef'ed smap_bcd_float.
		  (struct tree_real_cst): Use struct smap_bcd_float instead of struct real_value.
		* rtl.h (smap_bcd_float): Declare.
		  (CONST_DOUBLE_REAL_VALUE): Use smap_bcd_float instead of struct real_value.
	* real.h (struct real_value): Comment out definition, add own definition instead.
	* config/smapbcd.h (smap_bcd_float): Typedef to struct real_value. Remove old typedef.
	* real.c (bcdpdroplast, bcdpnorm, bcdppadd, bcdppsub, bcdadd, bcdsub, bcdmin, bcdmax): New
                     static functions.
          (real_arithmetic): Use bcdadd, bcdsub, bcdmin and bcdmax for addition, subtraction, min
                             and max (respectively).

2003-10-10  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3.1-pre21 prepared for release (but not released).

2003-10-10  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* Revert local patches merged 2002-12-26:
		* c-decl.c (pushdecl): If compiled using "nostub" mode, set a flag.
		* config/m68k/m68k.h:
		  (MASK_BADLINK, TARGET_BADLINK): Define.
		  (MASK_NOSTUB, TARGET_NOSTUB): Define.
	* config/m68k/m68k.h: (TARGET_SWITCHES): Remove no longer supported "badlink" and "mlink"
	                                         switches (and their negatives).
	* Revert:
	  2002-12-26  Kevin Kofler  <Kevin@tigcc.ticalc.org>
		* config/m68k/coff.h (BSS_SECTION_ASM_OP): Disable.
		  (ASM_OUTPUT_ALIGNED_BSS): Likewise.
	* config/m68k/m68k-coff.h: (TARGET_DEFAULT): Remove MASK_BADLINK.
	* config/m68k/m68k-ti.h: (ASM_OUTPUT_COMMON): Don't use TARGET_BADLINK and TARGET_NOSTUB.
	  (ASM_OUTPUT_LOCAL): Likewise.
	  (BSS_SECTION_ASM_OP): Redefine, handle TARGET_NO_BSS.

2003-10-09  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3.1-pre20 prepared for release (but not released).

2003-10-09  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* config/m68k/m68k-ti.h (ASM_FILE_START): Adapt -freg-relative code for the new linker.

2003-10-08  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* config/smapbcd.h (REAL_VALUE_TO_STRING): Use "%08lx", not "%lx".
	  (REAL_VALUE_ATOF): Call REAL_VALUE_HTOF for hex floats or REAL_VALUE_DTOF for decimal
	                     floats. Rename original to...
	  (REAL_VALUE_DTOF): ...this new macro.
	  (REAL_VALUE_HTOF): Detect host floating point overflow.
	* fold-const.c (const_binop): Likewise.
	* real.c (real_arithmetic): Likewise.
	  (exact_real_inverse): Likewise.

2003-10-07  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* cppinit.c (cpp_read_main_file): Always disable "standard" include directory processing.

2003-09-08  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3.1-pre19 released.

2003-09-07  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* stmt.c (expand_end_case_type): Don't balance the tree when optimizing for size.
	                                 A linear decision tree gives far smaller code.
	  (emit_case_nodes): Omit the conditional branch to default if we are optimizing for size.

2003-09-06  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	Backport from mainline (3.4):

	2003-08-30  Steven Bosscher  <steven@gcc.gnu.org>
		    Roger Sayle  <roger@eyesopen.com>

		PR middle-end/11823
		* stmt.c (expand_end_case_type): Only use jump tables for dense
		switch statements when optimizing for size.

2003-07-05  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3.1-pre18 released.

2003-07-05  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* config/m68k/m68k.h (MULW_COST): Decrease multiplication cost under -Os.
	  (DIVW_COST): Decrease division cost under -Os.
	  (UDIVW_COST): Likewise.
	  (RTX_COSTS): Adjust shift costs under -Os. Distinguish signed vs. unsigned division.

2003-06-27  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3.1-pre17 released.

2003-06-27  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* Merge with GCC 3.3.1 20030623 snapshot.
	* config/m68k/m68k.h (MASK_NO_BSS, TARGET_NO_BSS): Define.
	  (TARGET_SWITCHES): Add -mno-bss, -mnobss, -mbss.
	* config/m68k/m68k_ti.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Use them.

2003-06-07  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3.1-pre16 released.

2003-06-07  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* Disabled the following patch:

	  2003-03-21  Richard Henderson  <rth@redhat.com>

		PR opt/2001
		* bb-reorder.c (maybe_duplicate_computed_goto_succ): New.
		(make_reorder_chain_1): Call it.

		* function.h (struct function): Add computed_goto_common_label,
		computed_goto_common_reg.
		* function.c (free_after_compilation): Zap them.
		* stmt.c (expand_computed_goto): Use them to produce one
		indirect branch per function.

2003-06-06  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3.1-pre15 released.

2003-06-06  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* config/m68k/m68k.h (MASK_MERGE_TO_DATA, TARGET_MERGE_TO_DATA): Define.
	  (TARGET_SWITCHES): Add -mmerge-to-data, -mno-merge-to-data, -mnomerge-to-data.
	* config/m68k/m68k_ti.h (TEXT_SECTION_ASM_OP): Use them.
	  (DATA_SECTION_ASM_OP): Use them. Add.
	  (ASM_FILE_START): Use them.
	* config/m68k/m68k.h (MASK_RODATA_TO_TEXT, TARGET_RODATA_TO_TEXT): Define.
	  (TARGET_SWITCHES): Add -mrodata-to-text, -mno-rodata-to-text, -mnorodata-to-text.
	* config/m68k/m68k_ti.h (READONLY_DATA_SECTION_ASM_OP): Define.
	  (JUMP_TABLES_IN_TEXT_SECTION): Define to 1.
	* real.h (significand_size): Fix definition.

2003-06-06  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3.1-pre14 released.

2003-06-06  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* Merge with GCC 3.3.1 20030602 snapshot.
	* unroll.c (unroll_loop): Delete unconditional jump first.

2003-04-23  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3-pre13 released.

2003-04-23  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* builtin_attrs.def: Add predefined attributes for *printf and *scanf (removed in FSF
	  GCC) back.
	* builtins.def: Disable new *printf and *scanf builtins (added to FSF GCC).

2003-04-21  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* Merge with GCC 3.3 20030421 snapshot.
	* Revert the following patch (added to FSF GCC):
	  Wed Mar  5 15:45:40 CET 2003  Jan Hubicka  <jh@suse.cz>

	          * toplev.c (rest_of_compilation):  Do duplicate loop headers when
	            optimizing for size.

2003-03-16  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3-pre12 released.

2003-03-16  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* Applied the following proposed patch for PR 7871 (and 7595):
	  2003-03-10  James E Wilson  <wilson@tuliptree.org>

	           * flow.c (mark_set_1): Handle global_regs like the frame pointer.

2003-03-15  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* expr.c (emit_block_move_libcall_fn): Use emit_library_call.
	  (clear_storage_libcall_fn): Likewise.

2003-03-04  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3-pre11 released.

2003-03-04  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* Merge with GCC 3.3 20030303 snapshot.

2003-02-20  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3-pre10 released.

2003-02-20  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* final.c (alter_subreg): On big-endian machines, adjust offset of paradoxical
	                          subregs of memory to point to the correct place.

2003-02-14  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3-pre9 released.

2003-02-14  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* gcse.c (do_local_cprop): Handle global register variables.

2003-02-14  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3-pre8 released.

2003-02-14  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* Merge with GCC 3.3 20030210 snapshot.
	* gcse.c (do_local_cprop): Revert 20030104 patch. (Fixed differently in FSF tree.)

2003-01-04  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3-pre7 released.

2003-01-04  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* Merge with GCC 3.3 20031230 snapshot.
	* config/m68k/m68k_ti.h (TRAMPOLINE_ADJUST_ADDRESS): Add.
	* builtin-attrs.def: Add definitions for printf, fprintf.
	* c-format.c (check_format_types): Account for *printf and *scanf not actually supporting
                                           -mlong. Fix misplaced parentheses.

2003-01-01  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3-pre6 released.

2003-01-04  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* gcse.c (do_local_cprop): Don't touch %sp.

2002-12-27  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3-pre5 released.

2002-12-27  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* cppmacro.c (replace_args): Add missing "macro = node->value.macro;".
	* local-alloc.c (update_equiv_regs): Put abort back.

2002-12-26  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3-pre4 released.

2002-12-26  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* c-opts.c (COMMAND_LINE_OPTIONS): Change -fno-auto-octals to -fauto-octals.
	  (c_common_decode_option): Likewise. Use preprocessor option.
	* cppinit.c: Add no_auto_octals option.
	* flags.h (flag_auto_octals): Remove.
	* toplev.c (flag_auto_octals): Remove.
	  (struct f_options): Remove auto-octals.

2002-12-26  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3-pre3 prepared for release (but not released).

2002-12-26  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* cpplib.c (_cpp_init_internal_pragmas): Define #pragma poison in the global namespace.

2002-12-26  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3-pre2 prepared for release (but not released).

2002-12-26  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* config/m68k/coff.h (BSS_SECTION_ASM_OP): Disable.
	  (ASM_OUTPUT_ALIGNED_BSS): Likewise.

2002-12-26  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* 3.3-pre1 prepared for release (but not released).

...
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

63

Putain ça fait plaisir, tiens, j'avais tout compris. cheeky

dehors

C'est ce que je pensais au début (quand je t'embêtais par mails triso)
et donc je cherchais les modif du GCC (donc le changelog, c'est bon)
pour les appliquer au g++ (ensuite y'a d'autres trucs à voir...)

Bon, je vais viser le changelog...
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.

64

...
2002-12-26  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* Merge TIGCC patchset (1999-2002; changes by Jean Canazzi, François
	  Révol, Sebastian Reichelt, Zeljko Juric and me; some changes by
	  Fred Fish dated 1998-01-21 imported from AmigaOS-GCC):
		* attribs.c (decl_attributes): Use modified build_type_attribute_variant instead
		                               of build_type_copy.
		* builtin-attrs.def (expand_builtin_fputs): Disable. Also disable prototype.
		  (fold_builtin_inf, fold_builtin_nan): Likewise.
		  (expand_builtin): Don't use expand_builtin_fputs.
		  (fold_builtin): Don't use fold_builtin_inf, fold_builtin_nan.
		  (apply_args_size): Don't use register passing for __builtin_apply.
		* builtins.def: Disable stdio builtins.
		* c-common.c (builtin_define_with_hex_fp_value): Disable. Also disable prototype.
		  (is_valid_printf_arglist): Likewise.
		  (c_expand_builtin_printf, c_expand_builtin_fprintf): Likewise.
		  (c_expand_builtin): Don't use c_expand_builtin_printf, c_expand_builtin_fprintf.
		  (builtin_define_float_constants): Disable contents. Do nothing.
		* c-decl.c (pushdecl): If compiled using "nostub" mode, set a flag.
		  (push_parm_decl): Add asmspec to support explicit register specification of 
		                    parameters, and use when set.
		  (build_compound_literal): Handle -fglobal-compound-literals.
		* c-format.c (print_char_table, scan_char_table): Add TI-specific formats.
		                                                  Remove unsupported formats.
		  (check_format_types): Don't warn about differences in floating point format;
		                        they're all the same.
		* c-lex.c (interpret_float): Don't use real_from_string, real_convert. Use
		                             REAL_VALUE_ATOF instead.
		* c-opts.c (COMMAND_LINE_OPTIONS): Add -fno-auto-octals.
		  (c_common_decode_option): Handle -fno-auto-octals.
		* c-parse.in (parms, parm, firstparm, myparms, my parm): Add support for explicit
		    register specification for parameters.
		  (absdcl_maybe_attribute): Likewise, rename to absdcl_maybeasm_maybe_attribute.
		  Fix %expect directive.
		* c-pretty-print.c (pp_c_real_literal): Use REAL_VALUE_TO_STRING instead of
		                                        real_to_decimal.
		* c-tree.h: (push_parm_decl): Add type of asmspec to prototype.
		* c-typeck.c (undeclared_variable_notice): Remove.
		  (build_external_ref): Remove redundant undeclared variable notice.
		  (default_function_array_conversion): Handle -fglobal-compound-literals.
		  (build_unary_op): Likewise.
		  (error_init): Use one-line instead of two-line diagnostic.
		  (pedwarn_init): Likewise.
		  (warning_init): Likewise.
		* collect2.c: Applied patch to allow collect2 to build on MinGW by Lev Serebryakov
		              (2002-10-25).
		* config/dbxcoff.h (ASM_OUTPUT_SOURCE_LINE): Use absolute rather than
		    function-relative COFF line numbers if TARGET_COFFABSLINES.
		* config/m68k/m68k-coff.h: (TARGET_CPU_DEFAULT, TARGET_DEFAULT): Define.
		  Include m68k-ti.h instead of m68kemb.h.
		* config/m68k/m68k-ti.h: New file. Defines AMS-specific target settings.
		* config/m68k/m68k.c:
		  Add support for '-mregparm' and explicit register specification for parameters:
		    (comp_m68k_type_attributes): New function. Add prototype.
		    (comp_amigaos_type_attributes): Likewise.
		    (m68k_regparm_string, m68k_regparm): New variables.
		    (override_options): Validate -mregparm and -mregparm= value.
		    (m68k_init_cumulative_args, amigaos_init_cumulative_args): New functions.
		    (m68k_function_arg_advance, amigaos_function_arg_advance): Likewise.
		    (m68k_function_arg, amigaos_function_arg): Likewise.
		  Add support for __attribute__((regparm)) and __attribute__((stkparm)):
		    (TARGET_ATTRIBUTE_TABLE): Define.
		    (TARGET_COMP_TYPE_ATTRIBUTES): Define.
		    (m68k_attribute_table): New array.
		    (m68k_handle_stkparm_attribute): New function. Add prototype.
		    (m68k_handle_regparm_attribute): Likewise.
		  Add AMS floating point support:
		    (override_options): Don't select any flavor of XFmode.
		    (output_move_himode_const): New function.
		    (halfsinglemove_string): Likewise.
		    (output_move_double): Handle BFmode.
		    (floating_exact_log2): Disable contents. Abort if called.
		    (print_operand): Disable handling of SFmode, DFmode, XFmode.
		    (const_uint32_operand): Don't handle CONST_DOUBLE.
		                            Check for "INTVAL (op) >= 0" (possibly wrong?).
		  Add support for -freg-relative:
		    (TARGET_RELATION_REG): Declare, initialize.
		    (print_operand): Handle TARGET_REG_RELATIVE.
		* config/m68k/m68k.h:
		  Add support for '-mregparm' and explicit register specification for parameters:
		    Update comment about TARGET_REGPARM.
		    (TARGET_SWITCHES): Add "regparm", "noregparm", "no-regparm".
		    (TARGET_OPTIONS): Add "regparm=".
		    (EXPLICIT_REGPARM): Define.
		    (FUNCTION_ARG_REGNO_P): Handle register parameters.
		    (struct m68k_args): New structure.
		    (CUMULATIVE_ARGS): Use it.
		    (M68K_MAX_REGPARM): Define to 6.
		    (M68K_DEFAULT_REGPARM): Define to 4.
		    (INIT_CUMULATIVE_ARGS): Use amigaos_init_cumulative_args.
		    (FUNCTION_ARG_ADVANCE): Use amigaos_function_arg_advance.
		    (FUNCTION_ARG): Use amigaos_function_arg.
		    (FUNCTION_ARG_PARTIAL_NREGS): Change to always 0.
		    (m68k_regparm_string, m68k_regparm): Declare as extern.
		  Add support for -freg-relative:
		    (TARGET_RELATION_REG): Declare as extern.
		  (MASK_TIOS, TARGET_TIOS): Define.
		  (MASK_DIRECTFLOAT, TARGET_DIRECTFLOAT): Define.
		  (MASK_REG_RELATIVE, TARGET_REG_RELATIVE): Define.
		  (MASK_BADLINK, TARGET_BADLINK): Define.
		  (MASK_COFFABSLINES, COFFABSLINES): Define.
		  (MASK_NOSTUB, TARGET_NOSTUB): Define.
		  (MASK_MERGE_SECTIONS, TARGET_MERGE_SECTIONS): Define.
		  (TARGET_SWITCHES): Add "long", "badlink", "mlink", "tios", "merge-sections" and
		                     negations, "no-pcrel", "coff-abslines".
		  (PARM_BOUNDARY): Set to 16 independently of TARGET_SHORT.
		  (ASM_OUTPUT_COMMON): Guard with #ifndef.
		  (ASM_OUTPUT_LOCAL): Likewise.
		  (VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES): Add, but disabled.
		* config/m68k/m68k.md (movbf): New define_expand for AMS floating point support.
		  (unnamed BF move): New define_insn for AMS floating point support.
		* config/m68k/smapbcd.h: New file. Defines macros for AMS floating point support.
		* cppexp.c (cpp_classify_number): Handle binary numbers and -fno-auto-octals.
		  (cpp_interpret_integer): Handle binary numbers.
		* cpphash.h (mls_line, mls_col): Revert removal.
		* cpplex.c (unterminated): Likewise.
		  (parse_string): Revert removal of multi-line strings. Use "unterminated".
		* cpplib.h (struct cpp_options): Add no_auto_octals.
		  (CPP_N_BINARY): Define.
		* cppmacro.c (replace_args): If 'SYMSTR' is used with a string literal, convert
		                             automatically to 'SYMSTR_CONST'.
		* cppmain.c (scan_translation_unit): Revert removal of multi-line strings.
		* diagnostic.c (internal_error): Change bug report instructions.
		* dwarf2out.c (add_const_value_attribute): Handle BFmode (AMS floating point).
		* emit-rtl.c (const_double_htab_eq): Use REAL_VALUES_IDENTICAL instead of
		                                     real_identical.
		  (gen_lowpart_common): Disable handling of floating point. Handle BFmode instead.
		  (constant_subword): Disable handling of floating point.
		  (operand_subword): Handle BFmode (AMS floating point).
		* explow.c (copy_to_mode_reg): Handle BFmode by calling convert_move.
		* expr.c (convert_move): Add BFmode (AMS floating point) libcalls.
		  (convert_modes): Handle BFmode (AMS floating point).
		  (emit_block_move_via_libcall): Pass short integers to bcopy even if -mlong.
		  (emit_block_move_libcall_fn): Likewise.
		  (expand_assignment): Likewise.
		  (clear_storage_via_libcall): Pass short integers to bzero even if -mlong.
		  (clear_storage_libcall_fn): Likewise.
		  (compress_float_constant): Don't call exact_real_truncate. Disable code using it.
		  (emit_push_insn): Don't take a modulus by 0. Set offset to constant 0 instead.
		  (is_zeros_p): Use REAL_VALUE_ISZERO instead of REAL_VALUES_IDENTICAL.
		* final.c (output_asm_insn): Add support for -freg-relative.
		  (split_double): Disable code which doesn't work for AMS floats. Abort if reached.
		* flags.h (flag_auto_octals, flag_global_compound_literals): Declare extern.
		* flow.c (regno_uninitialized): Support explicit register specification of
		                                parameters.
		* fold-const.c (const_binop): Don't use REAL_ARITHMETIC.
		                              Use REAL_VALUE_TRUNCATE instead of
		                              real_value_truncate.
		  (fold_convert): Don't fold real to integer conversion, as the required functions
		                  are not implemented.
		                  Use REAL_VALUE_TRUNCATE instead of real_value_truncate.
		  (fold): Use temporaries for REAL_VALUE_NEGATE and REAL_VALUE_NEGATIVE because of
		          side effects.
		* function.c (function_arg_regno_p): New function for explicit register
		                                     specification of parameters.
		* gcc.c (process_command): Don't try to create gcc_exec_prefix from argv[0].
		  (main): Don't load specs from exec prefix. Always use builtin specs.
		* libfuncs.h (enum libfunc_index): Add BFmode (AMS floating point) libcalls.
		  Define extendsfbf2_libfunc etc.
		* local-alloc.c (update_equiv_regs): Disable abort.
		* machmode.def: Add BFmode (AMS floating point) to the machine modes.
		* optabs.c (expand_binop): Don't look for a wider mode for floating point numbers.
		  (expand_twoval_binop): Likewise.
		  (expand_unop): Likewise.
		  (prepare_float_lib_cmp): Handle BFmode (AMS floating point).
		  (expand_float): Don't special-case unsigned integers, as the required functions
		                  are not implemented.
		                  Handle BFmode (AMS floating point).
		  (ftruncify): Likewise.
		  (init_optabs): Initialize extendsfbf2_libfunc etc.
		* print-rtl.c (print_rtx): Don't use real_to_decimal, real_to_hexadecimal. Use
		                           REAL_VALUE_TO_STRING.
		* print-tree.c (print_node_brief): Use REAL_VALUE_TO_STRING instead of
		                                   real_to_decimal.
		  (print_node): Likewise.
		* real.c: Include setjmp.h.
		  (NULL_PTR): Define.
		  (REAL_DEBUG_INFO, REAL_DEBUG_SPRINTF): Define.
		  Disable all static function prototypes.
		  (real_arithmetic): Replace with own implementation.
		  (exact_real_inverse): Likewise.
		  (real_hash): Likewise.
		  Disable all other functions.
		  (ereal_to_int, ereal_from_int, ereal_from_uint): New functions.
		* real.h: Include smapbcd.h.
		  (SMAP_BCD_FLOAT_FORMAT): Define.
		  (REAL_WIDTH): Change definition to correspond to AMS floating point.
		  (ereal_to_int, ereal_from_int, ereal_from_uint): Add prototypes.
		  Disable everything else except the prototypes of real_arithmetic,
		  exact_real_inverse, real_hash, real_value_from_int_cst,
		  const_double_from_real_value, build_real, the REAL_VALUE_FROM_CONST_DOUBLE and
		  CONST_DOUBLE_FROM_REAL_VALUE macros and the dconst0, dconst1, dconst2, dconstm1
		  externs.
		* rtl.h (smap_bcd_float): Declare.
		  (CONST_DOUBLE_REAL_VALUE): Use smap_bcd_float instead of struct real_value.
		* sdbout.c (sdbout_source_line): Use absolute, not function-relative, lines by
		                                 default.
		* simplify-rtx.c (simplify_unary_operation): Use REAL_VALUE_TRUNCATE instead of
		                                             real_value_truncate.
		  (simplify_binary_operation): Likewise.
		* toplev.c: Include setjmp.h.
		  (float_signal): Revert removal.
		  (float_handler_set, float_handled, float_handler): Likewise.
		  (set_float_handler): Likewise.
		  (flag_auto_octals, flag_global_compound_literals): Initialize
		  (struct f_options): Add auto-octals, global-compound-literals,
		                      global-cast-constructors.
		  (decode_f_option): Add support for -freg-relative.
		  (general_init): Set SIGFPE to float_handler, not crash_handler.
		  (parse_options_and_default_flags): Set %d2 to call-used if TARGET_TIOS.
		* toplev.h (set_float_handler): Add prototype.
		* tree.c (real_zerop): Use REAL_VALUE_ISZERO instead of REAL_VALUES_EQUAL.
		* tree.h (struct real_value): Disable.
		  (struct smap_bcd_float): Declare.
		  (TREE_REAL_CST): Add cast to (REAL_VALUE_TYPE *) to convert struct smap_bcd_float
		                   to the typedef'ed smap_bcd_float.
		  (struct tree_real_cst): Use struct smap_bcd_float instead of struct real_value.
		* varasm.c (assemble_real): Handle BFmode (AMS floating point).
		  (const_hash_1): Add sanity check (code must not be zero).
		  (decode_rtx_const): Use members of smap_bcd_float, not struct real_value, for
		                      member-by-member copying.
		* version.c (version_string): Add "TIGCC".
		  (bug_report_url): Change from gnu.org URL to tigcc.ticalc.org URL.

2002-12-26  Kevin Kofler  <Kevin@tigcc.ticalc.org>

	* Import GCC 3.3 20021223 snapshot.

Je pense que ça répond à ta question.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

65

Raaah, tu as coupé mon beau changelog en 2. grin
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

66

Bon, les sources sont commentées donc (peut pas voir, bug du terminal)
et il faudrait appliquer les modif du gcc sur g++ en gros.
Mais il faudra certainement mettre des bémols. Nombreux ou pas, tu penses ?
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.

67

Une partie du code est en commun, mais pas tout. Et il y a certainement des complications dans le frontend C++ qu'il n'y a pas dans le frontend C. Je pense que c'est trop compliqué pour toi, mais si tu as envie d'essayer, je ne t'empêcherai pas.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

68

Je me lancerai certainement là-dedans dans le futur, mais là c'est pas le moment
au niveau du boulot (fac: 2 de moyenne en maths trifus) ni les projets (FPE à finir,
lib 3d aussi...) et c'est sûr que je n'y arriverai pas si c'est pas mon seul projet en tête.
Mais les grandes vacances...
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.

69

Et au niveau du linker, il n'y a pas des trucs spéciaux à faire pour gérer la surchage de fonctions ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

70

Sasume > La plupart des fonctionnalités du C++ sont des tours de passe-passe qui
s'arrangent vite, je pense que là-aussi ça n'atteint même pas le linker.
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.

71

Sasume
: Et au niveau du linker, il n'y a pas des trucs spéciaux à faire pour gérer la surchage de fonctions ?

Non, g++ code ça dans le nom.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

72

C'est ce que je pensais.
Au fait, c'est con mais que fait un extern en C++ ?
En C, extern func() va lier avec le symbole _func.
Même chose en C++ avec extern "C" func().
Mais pour extern func() tout court ?
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.

73

La plupart des fonctionnalités du C++ sont des tours de passe-passe qui s'arrangent vite, je pense que là-aussi ça n'atteint même pas le linker.

Heu a mon avis tu vas tomber sur une avalanche de petits détails auquels t'auras pas pensé. Enfin je te souhaite bon courage si tu veut t'y aventurer. Mais il te faudra beaucoup beaucoup de temps.
avatar

74

Euh, cette phrase était sans rapport avec le reste plus haut, je parlais
par exemple de la gestion des méthodes et classes, la POO qui sont
des astuces. Mais pour le reste... sick
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.

75

Au fait, c'est con mais que fait un extern en C++ ? En C, extern func() va lier avec le symbole _func.
Mais pour extern func() tout court ?
trifus mais y'a pas besoin de mettre extern pour déclarer une fct externe...
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

76

Je me demandais juste quel saut ça donnerait, quel symbole il voudrait appeler dans
le listing asm...
(J'ai des pb avec ça pour faire mon header SDL pour assembleur x86 (MASM) )
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.

77

Ben au choix:
- Tu cherches avec google des infos sur les convention de nom C++
- Tu écris un prog. vide et tu regrades le listing obtenu
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

78

faudrait peut etre faire des news sur votre site triso
avatar
納 豆パワー!
I becamed a natto!!!1!one!

79

Un symbole de la forme _Zmachin. Cf. http://www.codesourcery.com/cxx-abi/abi.html (et oui, GCC utilise la même ABI C++ pour toutes les plateformes). En particulier http://www.codesourcery.com/cxx-abi/abi.html#mangling.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

80

je parlais à toi kevin, faudrait peut etre preciser que vous en etes à la beta 5
avatar
納 豆パワー!
I becamed a natto!!!1!one!

81

Enfin bon de toute facon, le C++ est pas compatible avec le mode kernel.
[ void export__0000(void); est illegal en C++]

82

Euh, extern "C" doit résoudre à peu près tous les problèmes de ce style, voire un bon vieux __attribute__ pour forcer le nom utilisé en assembleur.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

83

PpHd :
Enfin bon de toute facon, le C++ est pas compatible avec le mode kernel. [ void export__0000(void); est illegal en C++]

Vu que g++ n'utilise pas cette méthode primitive de mangling, ce n'est pas un problème.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

84

Oui mais le standard c++ interdit ce type de noms de fonctions.

85

Ces noms sont réservés pour l'implémentation en C++, et comme tu le vois, ils le sont déjà plus ou moins avec TIGCC.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

86

Accusation sans preuve:

AU fait, ça tombait à point pour éliminier le C++, hein Kevin ? lol
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.

87

Sans preuve ? C'est dans la norme C++98.

88

Je parlais de la 2e ligne....
Mais je suppose que la TIGCC team a bien dû rencontrer des trucs dans le genre, et qu'ils ont dû passer outre non ?
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.

89

Les exes de TIGCC sont chargés puis décompressés à chaque fois qu'on clique sur le bouton "Compile" ?
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

90

Oué enfin le temps de décompression doit être pas mal négligeable, hein. Comparé ne serait-ce qu'au temps de TTPack, ça doit pas être grand-chose.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)